Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/.classpath8
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/.project28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/.settings/org.eclipse.jdt.core.prefs11
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/META-INF/MANIFEST.MF28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/build.properties20
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateActionConfiguration_preValidationQueryConfiguration_ModiscoQueryConfiguration.gifbin0 -> 223 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateAspectSemanticTypeConfiguration_adviceConfiguration_AspectSemanticTypeAdviceConfiguration.gifbin0 -> 223 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateConfigurationElement_iconEntry_IconEntry.gifbin0 -> 223 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeSet_elementType_InvariantSemanticTypeConfiguration.gifbin0 -> 223 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantContainerConfiguration_permissions_HierarchyPermission.gifbin0 -> 223 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantHierarchyConfiguration_permissions_HierarchyPermission.gifbin0 -> 223 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantSemanticTypeConfiguration_invariantConfiguration_InvariantHierarchyConfiguration.gifbin0 -> 223 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantSemanticTypeConfiguration_invariantRuleConfiguration_AndRule.gifbin0 -> 223 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantSemanticTypeConfiguration_invariantRuleConfiguration_OrRule.gifbin0 -> 223 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/AndRule.gifbin0 -> 129 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/AspectSemanticTypeAdviceConfiguration.gifbin0 -> 129 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/AspectSemanticTypeConfiguration.gifbin0 -> 129 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/ElementTypeConfiguration.gifbin0 -> 129 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/ExtendedElementTypeSet.gifbin0 -> 129 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/HierarchyPermission.gifbin0 -> 129 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/IconEntry.gifbin0 -> 129 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantConfiguration.gifbin0 -> 129 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantContainerConfiguration.gifbin0 -> 129 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantHierarchyConfiguration.gifbin0 -> 129 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantSemanticTypeConfiguration.gifbin0 -> 129 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/OrRule.gifbin0 -> 129 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/plugin.properties81
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/plugin.xml78
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/provider/AspectSemanticItemProviderAdapterFactory.java248
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/provider/AspectSemanticTypeAdviceConfigurationItemProvider.java191
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/provider/AspectSemanticTypeConfigurationItemProvider.java193
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/HierarchyPermissionItemProvider.java216
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/InvariantContainerConfigurationEditPlugin.java117
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/InvariantContainerConfigurationItemProvider.java179
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/InvariantContainerConfigurationItemProviderAdapterFactory.java233
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/AndRuleItemProvider.java116
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/ComposedRuleConfigurationItemProvider.java131
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantConfigurationItemProvider.java130
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantRuleConfigurationItemProvider.java119
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantSemanticTypeConfigurationEditPlugin.java114
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantSemanticTypeConfigurationItemProvider.java187
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantSemanticTypeConfigurationItemProviderAdapterFactory.java361
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/OrRuleItemProvider.java116
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ActionConfigurationItemProvider.java142
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ConfigurationElementItemProvider.java202
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ElementTypeAdviceConfigurationItemProvider.java98
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ElementTypeConfigurationItemProvider.java268
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ExtendedElementTypeSetItemProvider.java166
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ExtendedTypesEditPlugin.java102
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ExtendedtypesItemProviderAdapterFactory.java231
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/IconEntryItemProvider.java162
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/MatcherConfigurationItemProvider.java111
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/SemanticActionConfigurationItemProvider.java101
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/SemanticTypeAdviceConfigurationItemProvider.java101
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/SemanticTypeConfigurationItemProvider.java101
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ViewActionConfigurationItemProvider.java101
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ViewTypeAdviceConfigurationItemProvider.java101
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ViewTypeConfigurationItemProvider.java123
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/CustomInvariantSemanticTypeConfigurationItemProvider.java112
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/CustomInvariantSemanticTypeConfigurationItemProviderAdapterFactory.java26
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/provider/CustomExtendedElementTypeSetItemProvider.java75
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/provider/CustomExtendedtypesItemProviderAdapterFactory.java44
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/.classpath8
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/.project28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/META-INF/MANIFEST.MF24
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/build.properties19
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/AspectSemanticModelFile.gifbin0 -> 346 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/ExtendedtypesModelFile.gifbin0 -> 346 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/InvariantHierarchyConfigurationModelFile.gifbin0 -> 346 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/InvariantSemanticTypeConfigurationModelFile.gifbin0 -> 346 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewAspectSemantic.gifbin0 -> 2462 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewExtendedtypes.gifbin0 -> 2462 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewInvariantHierarchyConfiguration.gifbin0 -> 2462 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewInvariantSemanticTypeConfiguration.gifbin0 -> 2462 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/plugin.properties90
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/plugin.xml71
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/presentation/AspectSemanticActionBarContributor.java594
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/presentation/AspectSemanticEditor.java1939
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/presentation/AspectSemanticModelWizard.java677
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationActionBarContributor.java538
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationEditor.java1799
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationEditorPlugin.java116
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationModelWizard.java637
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedTypesEditorPlugin.java103
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedtypesActionBarContributor.java527
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedtypesEditor.java1715
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedtypesModelWizard.java612
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src/org/eclipse/papyrus/infra/extendedtypes/presentation/CustomExtendedtypesEditor.java103
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.classpath16
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.settings/org.eclipse.core.resources.prefs17
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/META-INF/MANIFEST.MF74
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/build.properties17
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectSemantic.ecore18
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectSemantic.ecorediag150
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectSemantic.genmodel25
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectViewTypeConfiguration.ecore13
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectViewTypeConfiguration.ecorediag113
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecore113
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecorediag637
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.genmodel87
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantContainerConfiguration.ecore14
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantContainerConfiguration.ecorediag108
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantContainerConfiguration.genmodel23
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.ecore18
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.ecorediag178
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.genmodel25
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/QueryBasedMatcherConfiguration.ecore9
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/QueryBasedMatcherConfiguration.ecorediag80
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/plugin.xml206
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/elementMatcherConfiguration.exsd129
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/extendedElementTypeSet.exsd (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/extendedTypesSetConfiguration.exsd)260
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/extendedTypeConfiguration.exsd141
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/invariantRule.exsd142
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/semanticTypeFactory.exsd152
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ActionConfiguration.java143
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ConfigurationElement.java147
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ElementTypeAdviceConfiguration.java24
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ElementTypeConfiguration.java137
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeConfiguration.java261
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSet.java149
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedtypesFactory.java127
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedtypesPackage.java2061
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/IconEntry.java170
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/MatcherConfiguration.java26
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/PostActionConfiguration.java21
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/PreActionConfiguration.java21
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/SemanticActionConfiguration.java24
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/SemanticTypeAdviceConfiguration.java30
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/SemanticTypeConfiguration.java28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ViewActionConfiguration.java24
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ViewTypeAdviceConfiguration.java32
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ViewTypeConfiguration.java63
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticFactory.java61
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticPackage.java313
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticTypeAdviceConfiguration.java82
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticTypeConfiguration.java69
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticFactoryImpl.java120
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticPackageImpl.java283
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticTypeAdviceConfigurationImpl.java220
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticTypeConfigurationImpl.java217
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticAdapterFactory.java269
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticResourceFactoryImpl.java68
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticResourceImpl.java39
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticSwitch.java256
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticXMLProcessor.java63
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ActionConfigurationImpl.java386
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ConfigurationElementImpl.java363
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ElementTypeAdviceConfigurationImpl.java46
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ElementTypeConfigurationImpl.java357
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedElementTypeConfigurationImpl.java614
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedElementTypeSetImpl.java454
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedtypesFactoryImpl.java241
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedtypesPackageImpl.java1026
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/IconEntryImpl.java443
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/MatcherConfigurationImpl.java49
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/PostActionConfigurationImpl.java42
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/PreActionConfigurationImpl.java42
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/SemanticActionConfigurationImpl.java47
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/SemanticTypeAdviceConfigurationImpl.java47
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/SemanticTypeConfigurationImpl.java47
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ViewActionConfigurationImpl.java47
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ViewTypeAdviceConfigurationImpl.java47
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ViewTypeConfigurationImpl.java173
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/HierarchyPermission.java114
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfiguration.java52
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationFactory.java61
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationPackage.java305
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/HierarchyPermissionImpl.java281
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/InvariantContainerConfigurationFactoryImpl.java116
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/InvariantContainerConfigurationImpl.java162
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/InvariantContainerConfigurationPackageImpl.java253
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationAdapterFactory.java168
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationResourceFactoryImpl.java62
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationResourceImpl.java38
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationSwitch.java (renamed from plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationSwitch.java)328
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationXMLProcessor.java60
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRule.java27
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/ComposedRuleConfiguration.java50
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantRuleConfiguration.java28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeConfiguration.java60
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeConfigurationFactory.java70
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeConfigurationPackage.java464
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRule.java27
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/AndRuleImpl.java49
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/ComposedRuleConfigurationImpl.java142
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantRuleConfigurationImpl.java51
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantSemanticTypeConfigurationFactoryImpl.java127
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantSemanticTypeConfigurationImpl.java187
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantSemanticTypeConfigurationPackageImpl.java294
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/OrRuleImpl.java49
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationAdapterFactory.java260
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationResourceFactoryImpl.java (renamed from plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceFactoryImpl.java)115
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationResourceImpl.java38
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationSwitch.java261
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationXMLProcessor.java60
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesAdapterFactory.java604
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesResourceFactoryImpl.java114
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesResourceImpl.java71
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesSwitch.java669
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesXMLProcessor.java112
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/Activator.java117
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ElementTypeSetUtils.java29
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedEditHelperAdvice.java_bak (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedEditHelperAdvice.java)214
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSetRegistry.java459
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedSemanticTypeDescriptor.java134
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedTypeRegistryService.java52
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedTypesRegistry.java276
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ICreationElementValidator.java28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IElementMatcherConfigurationModelCreation.java22
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IElementMatcherExtensionPoint.java34
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IElementMatcherFactory.java30
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedElementTypeFactory.java38
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedElementTypeSetExtensionPoint.java (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedTypeExtensionPoint.java)80
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedTypeConfigurationExtensionPoint.java39
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/advices/ExtendedTypesOwnerAdvice.java372
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationContainerDescriptor.java117
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationModelCreation.java29
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerEditHelperAdvice.java141
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerMatcher.java148
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AbstractExtendedElementTypeFactory.java111
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRuleCreationElementValidator.java52
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRuleEditHelperAdvice.java56
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRuleElementMatcher.java65
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurableContainerDescriptor.java27
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurableEditHelperAdvice.java27
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurableElementMatcher.java28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurationModelCreation.java22
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IInvariantCreationElementValidator.java24
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IInvariantRuleExtensionPoint.java38
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantElementTypeFactory.java64
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeContainerDescriptor.java47
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeEditHelperAdvice.java30
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeMatcher.java42
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRuleCreationElementValidator.java52
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRuleEditHelperAdvice.java61
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRuleElementMatcher.java65
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/RuleConfigurationFactoryRegistry.java456
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ProviderNotFoundException.java72
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/semantic/ISemanticTypeFactory.java23
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/ExtendedHintedElementType.java71
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/ExtendedHintedTypeFactory.java_bak (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/ExtendedHintedTypeFactory.java)248
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/IExtendedHintedElementType.java56
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/util/ElementTypeUtils.java_bak (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/util/ElementTypeUtils.java)376
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.newchild/src/org/eclipse/papyrus/infra/newchild/CreationMenuFactory.java644
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.classpath14
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.project56
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.settings/org.eclipse.core.resources.prefs8
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.settings/org.eclipse.jdt.core.prefs19
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/META-INF/MANIFEST.MF46
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/about.html56
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/build.properties16
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecore58
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecorediag656
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel82
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/plugin.properties24
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/plugin.xml52
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConfigurationFactory.java146
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConfigurationPackage.java1106
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConstantParameterValue.java108
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ListParameterValue.java88
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ModiscoQueryConfiguration.java144
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ParameterValue.java110
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/QueryConfiguration.java108
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/QueryExecutionValue.java106
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConfigurationFactoryImpl.java268
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConfigurationPackageImpl.java744
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConstantParameterValueImpl.java352
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ListParameterValueImpl.java266
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ModiscoQueryConfigurationImpl.java426
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ParameterValueImpl.java316
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/QueryConfigurationImpl.java328
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/QueryExecutionValueImpl.java314
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/plugin/Activator.java180
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationAdapterFactory.java434
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationResourceFactoryImpl.java106
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationResourceImpl.java62
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationSwitch.java454
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationXMLProcessor.java102
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.classpath14
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.project56
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.settings/org.eclipse.core.resources.prefs8
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.settings/org.eclipse.jdt.core.prefs16
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/META-INF/MANIFEST.MF48
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/about.html56
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/build.properties14
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/plugin.properties32
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/resources/ToolConfiguration.ecore46
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/resources/ToolConfiguration.ecorediag346
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/Activator.java138
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ConverterNotfoundException.java140
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ConverterRegistry.java326
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ObjectToBooleanConverter.java98
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ObjectToIntegerConverter.java96
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToBooleanConverter.java74
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToIntegerConverter.java72
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToStringConverter.java74
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/ModelQueryNotFoundException.java80
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/ModelQuerySetNotFoundException.java80
-rw-r--r--plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/QueryUtil.java894
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/.classpath8
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/.project28
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/META-INF/MANIFEST.MF27
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/build.properties20
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/icons/full/obj16/InvariantStereotypeConfiguration.gifbin0 -> 129 bytes
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/icons/full/obj16/StereotypedElementMatcher.gifbin0 -> 129 bytes
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/icons/full/obj16/StereotypedElementMatcherConfiguration.gifbin0 -> 129 bytes
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/plugin.properties36
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/plugin.xml52
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeConfigurationEditPlugin.java109
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeConfigurationItemProvider.java156
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeConfigurationItemProviderAdapterFactory.java207
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/provider/StereotypedElementMatcherConfigurationEditPlugin.java114
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/provider/StereotypedElementMatcherConfigurationItemProvider.java169
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/provider/StereotypedElementMatcherConfigurationItemProviderAdapterFactory.java209
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeChildCreationExtender.java50
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/.classpath7
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/.project28
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/META-INF/MANIFEST.MF24
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/build.properties19
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/obj16/InvariantStereotypeConfigurationModelFile.gifbin0 -> 346 bytes
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/obj16/StereotypedElementMatcherConfigurationModelFile.gifbin0 -> 346 bytes
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/obj16/StereotypedElementMatcherModelFile.gifbin0 -> 346 bytes
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/wizban/NewInvariantStereotypeConfiguration.gifbin0 -> 2462 bytes
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/wizban/NewStereotypedElementMatcher.gifbin0 -> 2462 bytes
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/wizban/NewStereotypedElementMatcherConfiguration.gifbin0 -> 2462 bytes
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/plugin.properties76
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/plugin.xml59
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationActionBarContributor.java410
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationEditor.java1691
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationEditorPlugin.java111
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationModelWizard.java603
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationActionBarContributor.java433
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationEditor.java1799
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationEditorPlugin.java116
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationModelWizard.java638
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/.settings/org.eclipse.core.resources.prefs5
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/META-INF/MANIFEST.MF58
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.ecore34
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.ecorediag178
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.genmodel42
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/InvariantStereotypeConfiguration.ecore10
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/InvariantStereotypeConfiguration.ecorediag55
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/InvariantStereotypeConfiguration.genmodel19
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/StereotypedElementMatcherConfiguration.ecore10
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/StereotypedElementMatcherConfiguration.ecorediag51
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/StereotypedElementMatcherConfiguration.genmodel18
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/plugin.xml101
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/ApplyStereotypeActionConfiguration.java45
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationFactory.java55
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationPackage.java296
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/StereotypeToApply.java99
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationFactoryImpl.java110
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationImpl.java151
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationPackageImpl.java247
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/StereotypeToApplyImpl.java259
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationAdapterFactory.java179
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceImpl.java31
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationXMLProcessor.java51
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfiguration.java87
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfigurationFactory.java52
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfigurationPackage.java199
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/impl/InvariantStereotypeConfigurationFactoryImpl.java105
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/impl/InvariantStereotypeConfigurationImpl.java228
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/impl/InvariantStereotypeConfigurationPackageImpl.java196
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationAdapterFactory.java151
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationResourceFactoryImpl.java59
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationResourceImpl.java38
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationSwitch.java142
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationXMLProcessor.java59
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherConfiguration.java60
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherConfigurationFactory.java52
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherConfigurationPackage.java162
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/impl/StereotypedElementMatcherConfigurationFactoryImpl.java105
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/impl/StereotypedElementMatcherConfigurationImpl.java174
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/impl/StereotypedElementMatcherConfigurationPackageImpl.java198
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationAdapterFactory.java150
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationResourceFactoryImpl.java62
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationResourceImpl.java38
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationSwitch.java138
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationXMLProcessor.java60
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/Activator.java (renamed from plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/Activator.java)0
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfigurationModelCreation.java29
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeCreationElementValidator.java68
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeEditHelperAdvice.java62
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeElementMatcher.java61
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/providers/ApplyStereotypeActionProvider.java252
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcher.java59
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherFactory.java30
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherModelCreation.java29
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/.project56
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/META-INF/MANIFEST.MF40
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/build.properties18
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/fragment.xml15
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/icons/M.gifbin0 -> 912 bytes
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/icons/O.gifbin0 -> 912 bytes
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/icons/Values.gifbin0 -> 361 bytes
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/ExtendedTypesTestsProfile.profile.di17
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/ExtendedTypesTestsProfile.profile.notation175
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/ExtendedTypesTestsProfile.profile.uml181
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/Test.extendedtypes15
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/Test.palette.xml12
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/Test1.extendedtypes15
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/TestMenu.xmi12
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.di37
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.notation150
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.uml99
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/org.eclipse.papyrus.infra.extendedtypes.tests.launch (renamed from tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/org.eclipse.papyrus.extendedtypes.tests.launch)81
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/plugin.properties (renamed from tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/fragment.properties)0
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/plugin.xml36
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedEditHelperAdviceTests.java218
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedTypesRegistryTests.java128
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/ITestConstants.java53
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/preferences/ExtendedTypesPreferencesTests.java104
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/Activator.java50
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/AllTests.java (renamed from tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/AllTests.java)53
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/ExtendedEditHelperAdviceTests.java200
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/ExtendedTypesRegistryTests.java224
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/ITestConstants.java25
419 files changed, 49333 insertions, 13860 deletions
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/.classpath b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/.classpath
new file mode 100644
index 00000000000..240e23bfdc0
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/.project b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/.project
new file mode 100644
index 00000000000..0175da62ef3
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.extendedtypes.edit</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..416f4fb6960
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..77ec61dd5da
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,28 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.infra.extendedtypes.edit;singleton:=true
+Bundle-Version: 0.10.1.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedTypesEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.provider,
+ org.eclipse.papyrus.infra.extendedtypes.provider,
+ org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider,
+ org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.infra.extendedtypes;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ org.eclipse.papyrus.infra.queries.core.configuration;visibility:=reexport,
+ org.eclipse.papyrus.infra.queries.core.configuration.edit;visibility:=reexport,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.edit;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query.edit;visibility:=reexport,
+ org.eclipse.uml2.types;visibility:=reexport,
+ org.eclipse.uml2.uml;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport,
+ org.eclipse.papyrus.infra.core.log;bundle-version="0.10.1"
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/build.properties b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/build.properties
new file mode 100644
index 00000000000..bcdb260b1dd
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/build.properties
@@ -0,0 +1,20 @@
+# Copyright (c) 2013 CEA LIST.
+#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - Initial API and implementation
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src-gen/,\
+ src/
+output.. = bin/
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateActionConfiguration_preValidationQueryConfiguration_ModiscoQueryConfiguration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateActionConfiguration_preValidationQueryConfiguration_ModiscoQueryConfiguration.gif
new file mode 100644
index 00000000000..d75e4636bcb
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateActionConfiguration_preValidationQueryConfiguration_ModiscoQueryConfiguration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateAspectSemanticTypeConfiguration_adviceConfiguration_AspectSemanticTypeAdviceConfiguration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateAspectSemanticTypeConfiguration_adviceConfiguration_AspectSemanticTypeAdviceConfiguration.gif
new file mode 100644
index 00000000000..48054300c70
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateAspectSemanticTypeConfiguration_adviceConfiguration_AspectSemanticTypeAdviceConfiguration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateConfigurationElement_iconEntry_IconEntry.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateConfigurationElement_iconEntry_IconEntry.gif
new file mode 100644
index 00000000000..f33bed84b34
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateConfigurationElement_iconEntry_IconEntry.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeSet_elementType_InvariantSemanticTypeConfiguration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeSet_elementType_InvariantSemanticTypeConfiguration.gif
new file mode 100644
index 00000000000..ddad704eaf3
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeSet_elementType_InvariantSemanticTypeConfiguration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantContainerConfiguration_permissions_HierarchyPermission.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantContainerConfiguration_permissions_HierarchyPermission.gif
new file mode 100644
index 00000000000..86ec735a156
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantContainerConfiguration_permissions_HierarchyPermission.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantHierarchyConfiguration_permissions_HierarchyPermission.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantHierarchyConfiguration_permissions_HierarchyPermission.gif
new file mode 100644
index 00000000000..7afe9dc1af9
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantHierarchyConfiguration_permissions_HierarchyPermission.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantSemanticTypeConfiguration_invariantConfiguration_InvariantHierarchyConfiguration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantSemanticTypeConfiguration_invariantConfiguration_InvariantHierarchyConfiguration.gif
new file mode 100644
index 00000000000..5fcdce8997b
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantSemanticTypeConfiguration_invariantConfiguration_InvariantHierarchyConfiguration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantSemanticTypeConfiguration_invariantRuleConfiguration_AndRule.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantSemanticTypeConfiguration_invariantRuleConfiguration_AndRule.gif
new file mode 100644
index 00000000000..285bf7f552c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantSemanticTypeConfiguration_invariantRuleConfiguration_AndRule.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantSemanticTypeConfiguration_invariantRuleConfiguration_OrRule.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantSemanticTypeConfiguration_invariantRuleConfiguration_OrRule.gif
new file mode 100644
index 00000000000..412157824c8
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/ctool16/CreateInvariantSemanticTypeConfiguration_invariantRuleConfiguration_OrRule.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/AndRule.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/AndRule.gif
new file mode 100644
index 00000000000..33a997a1606
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/AndRule.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/AspectSemanticTypeAdviceConfiguration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/AspectSemanticTypeAdviceConfiguration.gif
new file mode 100644
index 00000000000..c414fe9f728
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/AspectSemanticTypeAdviceConfiguration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/AspectSemanticTypeConfiguration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/AspectSemanticTypeConfiguration.gif
new file mode 100644
index 00000000000..89ad5da38ab
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/AspectSemanticTypeConfiguration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/ElementTypeConfiguration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/ElementTypeConfiguration.gif
new file mode 100644
index 00000000000..94c953e013b
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/ElementTypeConfiguration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/ExtendedElementTypeSet.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/ExtendedElementTypeSet.gif
new file mode 100644
index 00000000000..e4bc22dd17e
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/ExtendedElementTypeSet.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/HierarchyPermission.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/HierarchyPermission.gif
new file mode 100644
index 00000000000..c4a8af41844
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/HierarchyPermission.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/IconEntry.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/IconEntry.gif
new file mode 100644
index 00000000000..caf2804510d
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/IconEntry.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantConfiguration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantConfiguration.gif
new file mode 100644
index 00000000000..ef56c140853
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantConfiguration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantContainerConfiguration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantContainerConfiguration.gif
new file mode 100644
index 00000000000..134551bff7e
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantContainerConfiguration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantHierarchyConfiguration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantHierarchyConfiguration.gif
new file mode 100644
index 00000000000..420eee17752
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantHierarchyConfiguration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantSemanticTypeConfiguration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantSemanticTypeConfiguration.gif
new file mode 100644
index 00000000000..ef56c140853
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/InvariantSemanticTypeConfiguration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/OrRule.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/OrRule.gif
new file mode 100644
index 00000000000..48e3cf22687
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/icons/full/obj16/OrRule.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/plugin.properties b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/plugin.properties
new file mode 100644
index 00000000000..e6ac960db53
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/plugin.properties
@@ -0,0 +1,81 @@
+# Copyright (c) 2013 CEA LIST.
+#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - Initial API and implementation
+
+pluginName = InvariantHierarchyConfiguration Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} | {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_Unknown_datatype= Value
+
+_UI_InvariantSemanticTypeConfiguration_type = Invariant Semantic Type Configuration
+_UI_InvariantConfiguration_type = Invariant Configuration
+_UI_InvariantSemanticTypeConfiguration_invariantConfiguration_feature = Invariant Configuration
+_UI_InvariantConfiguration_parentType_feature = Parent Type
+_UI_ExtendedElementTypeSet_type = Extended Element Type Set
+_UI_ElementTypeConfiguration_type = Element Type Configuration
+_UI_IconEntry_type = Icon Entry
+_UI_ConfigurationElement_type = Configuration Element
+_UI_ViewTypeAdviceConfiguration_type = View Type Advice Configuration
+_UI_SemanticTypeAdviceConfiguration_type = Semantic Type Advice Configuration
+_UI_MatcherConfiguration_type = Matcher Configuration
+_UI_ActionConfiguration_type = Action Configuration
+_UI_ViewActionConfiguration_type = View Action Configuration
+_UI_SemanticActionConfiguration_type = Semantic Action Configuration
+_UI_SemanticTypeConfiguration_type = Semantic Type Configuration
+_UI_ViewTypeConfiguration_type = View Type Configuration
+_UI_ElementTypeAdviceConfiguration_type = Element Type Advice Configuration
+_UI_ExtendedElementTypeSet_elementType_feature = Element Type
+_UI_ElementTypeConfiguration_hint_feature = Hint
+_UI_ElementTypeConfiguration_kindName_feature = Kind Name
+_UI_ElementTypeConfiguration_specializedTypesID_feature = Specialized Types ID
+_UI_IconEntry_iconPath_feature = Icon Path
+_UI_IconEntry_bundleId_feature = Bundle Id
+_UI_ConfigurationElement_name_feature = Name
+_UI_ConfigurationElement_description_feature = Description
+_UI_ConfigurationElement_identifier_feature = Identifier
+_UI_ConfigurationElement_iconEntry_feature = Icon Entry
+_UI_ActionConfiguration_preValidationQueryConfiguration_feature = Pre Validation Query Configuration
+_UI_ViewTypeConfiguration_specializedDiagramTypeID_feature = Specialized Diagram Type ID
+_UI_ElementTypeAdviceConfiguration_matcherConfiguration_feature = Matcher Configuration
+_UI_AspectSemanticTypeConfiguration_type = Type Configuration
+_UI_AspectSemanticTypeAdviceConfiguration_type = Type Advice Configuration
+_UI_AspectSemanticTypeConfiguration_adviceConfiguration_feature = Advice Configuration
+_UI_AspectSemanticTypeAdviceConfiguration_preActionConfiguration_feature = Pre Action Configuration
+_UI_AspectSemanticTypeAdviceConfiguration_postActionConfiguration_feature = Post Action Configuration
+_UI_Unknown_feature = Unspecified
+
+_UI_InvariantHierarchyConfiguration_type = Invariant Hierarchy Configuration
+_UI_HierarchyPermission_type = Hierarchy Permission
+_UI_Unknown_type = Object
+ _UI_InvariantHierarchyConfiguration_permissions_feature = Permissions
+_UI_HierarchyPermission_parentType_feature = Parent Type
+_UI_HierarchyPermission_isPermitted_feature = Is Permitted
+_UI_HierarchyPermission_directContainerLevelOnly_feature = Direct Container Level Only
+_UI_ExtendedElementTypeSet_extensible_feature = Extensible
+_UI_InvariantRuleConfiguration_type = Invariant Rule Configuration
+_UI_ComposedRuleConfiguration_type = Composed Rule Configuration
+_UI_AndRule_type = And Rule
+_UI_OrRule_type = Or Rule
+_UI_InvariantSemanticTypeConfiguration_invariantRuleConfiguration_feature = Invariant Rule Configuration
+_UI_ComposedRuleConfiguration_composedRules_feature = Composed Rules
+_UI_ElementTypeConfiguration_matcherConfiguration_feature = Matcher Configuration
+_UI_HierarchyPermission_isStrict_feature = Is Strict
+_UI_InvariantContainerConfiguration_type = Invariant Container Configuration
+_UI_InvariantContainerConfiguration_permissions_feature = Permissions
+_UI_HierarchyPermission_childType_feature = Child Type
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/plugin.xml b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/plugin.xml
new file mode 100644
index 00000000000..6b35e445e51
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/plugin.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2013 CEA LIST.
+
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ CEA LIST - Initial API and implementation
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated AspectSemantic -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/infra/extendedtypes/semantic/aspect/1.0"
+ class="org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.provider.AspectSemanticItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated InvariantSemanticTypeConfiguration -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/1.0"
+ class="org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider.InvariantSemanticTypeConfigurationItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.childCreationExtenders">
+ <!-- @generated InvariantSemanticTypeConfiguration -->
+ <extender
+ uri="http://www.eclipse.org/papyrus/infra/extendedtypes/1.0"
+ class="org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider.InvariantSemanticTypeConfigurationItemProviderAdapterFactory$ExtendedtypesChildCreationExtender"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated ExtendedTypes -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/infra/extendedtypes/1.0"
+ class="org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedtypesItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated InvariantContainerConfiguration -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/container/1.0"
+ class="org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.provider.InvariantContainerConfigurationItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+</plugin>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/provider/AspectSemanticItemProviderAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/provider/AspectSemanticItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..4ba62295e24
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/provider/AspectSemanticItemProviderAdapterFactory.java
@@ -0,0 +1,248 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.util.AspectSemanticAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support
+ * Viewers. The adapters generated by this factory convert EMF adapter
+ * notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. The
+ * adapters also support Eclipse property sheets. Note that most of the adapters
+ * are shared among multiple instances. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class AspectSemanticItemProviderAdapterFactory extends
+ AspectSemanticAdapterFactory implements ComposeableAdapterFactory,
+ IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this
+ * adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement
+ * {@link org.eclipse.emf.edit.provider.IChangeNotifier}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by
+ * {@link #isFactoryForType isFactoryForType}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public AspectSemanticItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration}
+ * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AspectSemanticTypeConfigurationItemProvider aspectSemanticTypeConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration}
+ * . <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createAspectSemanticTypeConfigurationAdapter() {
+ if (aspectSemanticTypeConfigurationItemProvider == null) {
+ aspectSemanticTypeConfigurationItemProvider = new AspectSemanticTypeConfigurationItemProvider(
+ this);
+ }
+
+ return aspectSemanticTypeConfigurationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration}
+ * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AspectSemanticTypeAdviceConfigurationItemProvider aspectSemanticTypeAdviceConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration}
+ * . <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createAspectSemanticTypeAdviceConfigurationAdapter() {
+ if (aspectSemanticTypeAdviceConfigurationItemProvider == null) {
+ aspectSemanticTypeAdviceConfigurationItemProvider = new AspectSemanticTypeAdviceConfigurationItemProvider(
+ this);
+ }
+
+ return aspectSemanticTypeAdviceConfigurationItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory
+ .getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setParentAdapterFactory(
+ ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the
+ * adapter. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>)
+ || (((Class<?>) type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to
+ * {@link #parentAdapterFactory}. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void dispose() {
+ if (aspectSemanticTypeConfigurationItemProvider != null)
+ aspectSemanticTypeConfigurationItemProvider.dispose();
+ if (aspectSemanticTypeAdviceConfigurationItemProvider != null)
+ aspectSemanticTypeAdviceConfigurationItemProvider.dispose();
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/provider/AspectSemanticTypeAdviceConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/provider/AspectSemanticTypeAdviceConfigurationItemProvider.java
new file mode 100644
index 00000000000..3b09378caed
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/provider/AspectSemanticTypeAdviceConfigurationItemProvider.java
@@ -0,0 +1,191 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.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.ViewerNotification;
+
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage;
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedTypesEditPlugin;
+import org.eclipse.papyrus.infra.extendedtypes.provider.SemanticTypeAdviceConfigurationItemProvider;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration}
+ * object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AspectSemanticTypeAdviceConfigurationItemProvider extends
+ SemanticTypeAdviceConfigurationItemProvider implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticTypeAdviceConfigurationItemProvider(
+ 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(AspectSemanticPackage.eINSTANCE
+ .getAspectSemanticTypeAdviceConfiguration_PreActionConfiguration());
+ childrenFeatures
+ .add(AspectSemanticPackage.eINSTANCE
+ .getAspectSemanticTypeAdviceConfiguration_PostActionConfiguration());
+ }
+ 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 AspectSemanticTypeAdviceConfiguration.gif. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(
+ object,
+ getResourceLocator().getImage(
+ "full/obj16/AspectSemanticTypeAdviceConfiguration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((AspectSemanticTypeAdviceConfiguration) object)
+ .getName();
+ return label == null || label.length() == 0 ? getString("_UI_AspectSemanticTypeAdviceConfiguration_type")
+ : getString("_UI_AspectSemanticTypeAdviceConfiguration_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(AspectSemanticTypeAdviceConfiguration.class)) {
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__PRE_ACTION_CONFIGURATION:
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__POST_ACTION_CONFIGURATION:
+ 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);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return ExtendedTypesEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/provider/AspectSemanticTypeConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/provider/AspectSemanticTypeConfigurationItemProvider.java
new file mode 100644
index 00000000000..47fcbb80b4b
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/provider/AspectSemanticTypeConfigurationItemProvider.java
@@ -0,0 +1,193 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.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.ViewerNotification;
+
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticFactory;
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage;
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedTypesEditPlugin;
+import org.eclipse.papyrus.infra.extendedtypes.provider.SemanticTypeConfigurationItemProvider;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration}
+ * object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AspectSemanticTypeConfigurationItemProvider extends
+ SemanticTypeConfigurationItemProvider implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticTypeConfigurationItemProvider(
+ 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(AspectSemanticPackage.eINSTANCE
+ .getAspectSemanticTypeConfiguration_AdviceConfiguration());
+ }
+ 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 AspectSemanticTypeConfiguration.gif. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(
+ object,
+ getResourceLocator().getImage(
+ "full/obj16/AspectSemanticTypeConfiguration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((AspectSemanticTypeConfiguration) object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_AspectSemanticTypeConfiguration_type")
+ : getString("_UI_AspectSemanticTypeConfiguration_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(AspectSemanticTypeConfiguration.class)) {
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_CONFIGURATION__ADVICE_CONFIGURATION:
+ 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(
+ AspectSemanticPackage.eINSTANCE
+ .getAspectSemanticTypeConfiguration_AdviceConfiguration(),
+ AspectSemanticFactory.eINSTANCE
+ .createAspectSemanticTypeAdviceConfiguration()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return ExtendedTypesEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/HierarchyPermissionItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/HierarchyPermissionItemProvider.java
new file mode 100644
index 00000000000..c674f254f28
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/HierarchyPermissionItemProvider.java
@@ -0,0 +1,216 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.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.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.extendedtypes.invariantcontainerconfiguration.HierarchyPermission;
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HierarchyPermissionItemProvider
+ 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 HierarchyPermissionItemProvider(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);
+
+ addChildTypePropertyDescriptor(object);
+ addIsPermittedPropertyDescriptor(object);
+ addIsStrictPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Child Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addChildTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_HierarchyPermission_childType_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_HierarchyPermission_childType_feature", "_UI_HierarchyPermission_type"),
+ InvariantContainerConfigurationPackage.Literals.HIERARCHY_PERMISSION__CHILD_TYPE,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Permitted feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsPermittedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_HierarchyPermission_isPermitted_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_HierarchyPermission_isPermitted_feature", "_UI_HierarchyPermission_type"),
+ InvariantContainerConfigurationPackage.Literals.HIERARCHY_PERMISSION__IS_PERMITTED,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Strict feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsStrictPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_HierarchyPermission_isStrict_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_HierarchyPermission_isStrict_feature", "_UI_HierarchyPermission_type"),
+ InvariantContainerConfigurationPackage.Literals.HIERARCHY_PERMISSION__IS_STRICT,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns HierarchyPermission.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/HierarchyPermission"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((HierarchyPermission)object).getChildType();
+ return label == null || label.length() == 0 ?
+ getString("_UI_HierarchyPermission_type") :
+ getString("_UI_HierarchyPermission_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(HierarchyPermission.class)) {
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__CHILD_TYPE:
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__IS_PERMITTED:
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__IS_STRICT:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ 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);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return InvariantContainerConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/InvariantContainerConfigurationEditPlugin.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/InvariantContainerConfigurationEditPlugin.java
new file mode 100644
index 00000000000..fc9eb2a0c98
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/InvariantContainerConfigurationEditPlugin.java
@@ -0,0 +1,117 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryEditPlugin;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider.InvariantSemanticTypeConfigurationEditPlugin;
+
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the InvariantContainerConfiguration edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class InvariantContainerConfigurationEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final InvariantContainerConfigurationEditPlugin INSTANCE = new InvariantContainerConfigurationEditPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantContainerConfigurationEditPlugin() {
+ super
+ (new ResourceLocator [] {
+ ConfigurationEditPlugin.INSTANCE,
+ EcoreEditPlugin.INSTANCE,
+ ExtendedTypesEditPlugin.INSTANCE,
+ InvariantSemanticTypeConfigurationEditPlugin.INSTANCE,
+ QueryEditPlugin.INSTANCE,
+ UMLEditPlugin.INSTANCE,
+ });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/InvariantContainerConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/InvariantContainerConfigurationItemProvider.java
new file mode 100644
index 00000000000..bcb801fc228
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/InvariantContainerConfigurationItemProvider.java
@@ -0,0 +1,179 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.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.ViewerNotification;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationFactory;
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider.InvariantRuleConfigurationItemProvider;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantContainerConfigurationItemProvider
+ extends InvariantRuleConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantContainerConfigurationItemProvider(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(InvariantContainerConfigurationPackage.Literals.INVARIANT_CONTAINER_CONFIGURATION__PERMISSIONS);
+ }
+ 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 InvariantContainerConfiguration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/InvariantContainerConfiguration"));
+ }
+
+ /**
+ * 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_InvariantContainerConfiguration_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(InvariantContainerConfiguration.class)) {
+ case InvariantContainerConfigurationPackage.INVARIANT_CONTAINER_CONFIGURATION__PERMISSIONS:
+ 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
+ (InvariantContainerConfigurationPackage.Literals.INVARIANT_CONTAINER_CONFIGURATION__PERMISSIONS,
+ InvariantContainerConfigurationFactory.eINSTANCE.createHierarchyPermission()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return InvariantContainerConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/InvariantContainerConfigurationItemProviderAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/InvariantContainerConfigurationItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..12e8e704e14
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/provider/InvariantContainerConfigurationItemProviderAdapterFactory.java
@@ -0,0 +1,233 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.util.InvariantContainerConfigurationAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantContainerConfigurationItemProviderAdapterFactory extends InvariantContainerConfigurationAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantContainerConfigurationItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantContainerConfigurationItemProvider invariantContainerConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createInvariantContainerConfigurationAdapter() {
+ if (invariantContainerConfigurationItemProvider == null) {
+ invariantContainerConfigurationItemProvider = new InvariantContainerConfigurationItemProvider(this);
+ }
+
+ return invariantContainerConfigurationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HierarchyPermissionItemProvider hierarchyPermissionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createHierarchyPermissionAdapter() {
+ if (hierarchyPermissionItemProvider == null) {
+ hierarchyPermissionItemProvider = new HierarchyPermissionItemProvider(this);
+ }
+
+ return hierarchyPermissionItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void dispose() {
+ if (invariantContainerConfigurationItemProvider != null) invariantContainerConfigurationItemProvider.dispose();
+ if (hierarchyPermissionItemProvider != null) hierarchyPermissionItemProvider.dispose();
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/AndRuleItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/AndRuleItemProvider.java
new file mode 100644
index 00000000000..b5a67437a78
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/AndRuleItemProvider.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.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.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;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.AndRule} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AndRuleItemProvider
+ extends ComposedRuleConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AndRuleItemProvider(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 returns AndRule.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/AndRule"));
+ }
+
+ /**
+ * 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_AndRule_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);
+ 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);
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/ComposedRuleConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/ComposedRuleConfigurationItemProvider.java
new file mode 100644
index 00000000000..f77e96c5789
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/ComposedRuleConfigurationItemProvider.java
@@ -0,0 +1,131 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.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.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.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.ComposedRuleConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComposedRuleConfigurationItemProvider
+ extends InvariantRuleConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComposedRuleConfigurationItemProvider(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);
+
+ addComposedRulesPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Composed Rules feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addComposedRulesPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ComposedRuleConfiguration_composedRules_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ComposedRuleConfiguration_composedRules_feature", "_UI_ComposedRuleConfiguration_type"),
+ InvariantSemanticTypeConfigurationPackage.Literals.COMPOSED_RULE_CONFIGURATION__COMPOSED_RULES,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * 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_ComposedRuleConfiguration_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);
+ 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);
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantConfigurationItemProvider.java
new file mode 100644
index 00000000000..08cb5738b19
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantConfigurationItemProvider.java
@@ -0,0 +1,130 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.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.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;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantConfigurationItemProvider
+ 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 InvariantConfigurationItemProvider(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 returns InvariantConfiguration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/InvariantConfiguration"));
+ }
+
+ /**
+ * 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_InvariantConfiguration_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);
+ 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);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return InvariantSemanticTypeConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantRuleConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantRuleConfigurationItemProvider.java
new file mode 100644
index 00000000000..d8454221bad
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantRuleConfigurationItemProvider.java
@@ -0,0 +1,119 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.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.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;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantRuleConfigurationItemProvider
+ 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 InvariantRuleConfigurationItemProvider(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 returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_InvariantRuleConfiguration_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);
+ 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);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return InvariantSemanticTypeConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantSemanticTypeConfigurationEditPlugin.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantSemanticTypeConfigurationEditPlugin.java
new file mode 100644
index 00000000000..beb5236abe3
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantSemanticTypeConfigurationEditPlugin.java
@@ -0,0 +1,114 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryEditPlugin;
+
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the InvariantSemanticTypeConfiguration edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class InvariantSemanticTypeConfigurationEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final InvariantSemanticTypeConfigurationEditPlugin INSTANCE = new InvariantSemanticTypeConfigurationEditPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationEditPlugin() {
+ super
+ (new ResourceLocator [] {
+ ConfigurationEditPlugin.INSTANCE,
+ EcoreEditPlugin.INSTANCE,
+ ExtendedTypesEditPlugin.INSTANCE,
+ QueryEditPlugin.INSTANCE,
+ UMLEditPlugin.INSTANCE,
+ });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantSemanticTypeConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantSemanticTypeConfigurationItemProvider.java
new file mode 100644
index 00000000000..e9f1ae7876a
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantSemanticTypeConfigurationItemProvider.java
@@ -0,0 +1,187 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.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.ViewerNotification;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationFactory;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+
+import org.eclipse.papyrus.infra.extendedtypes.provider.SemanticTypeConfigurationItemProvider;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantSemanticTypeConfigurationItemProvider
+ extends SemanticTypeConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationItemProvider(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(InvariantSemanticTypeConfigurationPackage.Literals.INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION);
+ }
+ 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 InvariantSemanticTypeConfiguration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/InvariantSemanticTypeConfiguration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((InvariantSemanticTypeConfiguration)object).getName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_InvariantSemanticTypeConfiguration_type") :
+ getString("_UI_InvariantSemanticTypeConfiguration_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(InvariantSemanticTypeConfiguration.class)) {
+ case InvariantSemanticTypeConfigurationPackage.INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION:
+ 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
+ (InvariantSemanticTypeConfigurationPackage.Literals.INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION,
+ InvariantSemanticTypeConfigurationFactory.eINSTANCE.createAndRule()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (InvariantSemanticTypeConfigurationPackage.Literals.INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION,
+ InvariantSemanticTypeConfigurationFactory.eINSTANCE.createOrRule()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return InvariantSemanticTypeConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantSemanticTypeConfigurationItemProviderAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantSemanticTypeConfigurationItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..8746379fc34
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/InvariantSemanticTypeConfigurationItemProviderAdapterFactory.java
@@ -0,0 +1,361 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.edit.command.CommandParameter;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationFactory;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.util.InvariantSemanticTypeConfigurationAdapterFactory;
+
+import org.eclipse.papyrus.infra.extendedtypes.util.ExtendedtypesSwitch;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantSemanticTypeConfigurationItemProviderAdapterFactory extends InvariantSemanticTypeConfigurationAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantSemanticTypeConfigurationItemProvider invariantSemanticTypeConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createInvariantSemanticTypeConfigurationAdapter() {
+ if (invariantSemanticTypeConfigurationItemProvider == null) {
+ invariantSemanticTypeConfigurationItemProvider = new InvariantSemanticTypeConfigurationItemProvider(this);
+ }
+
+ return invariantSemanticTypeConfigurationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.AndRule} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AndRuleItemProvider andRuleItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.AndRule}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createAndRuleAdapter() {
+ if (andRuleItemProvider == null) {
+ andRuleItemProvider = new AndRuleItemProvider(this);
+ }
+
+ return andRuleItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.OrRule} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OrRuleItemProvider orRuleItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.OrRule}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createOrRuleAdapter() {
+ if (orRuleItemProvider == null) {
+ orRuleItemProvider = new OrRuleItemProvider(this);
+ }
+
+ return orRuleItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void dispose() {
+ if (invariantSemanticTypeConfigurationItemProvider != null) invariantSemanticTypeConfigurationItemProvider.dispose();
+ if (andRuleItemProvider != null) andRuleItemProvider.dispose();
+ if (orRuleItemProvider != null) orRuleItemProvider.dispose();
+ }
+
+ /**
+ * A child creation extender for the {@link ExtendedtypesPackage}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class ExtendedtypesChildCreationExtender implements IChildCreationExtender {
+ /**
+ * The switch for creating child descriptors specific to each extended class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static class CreationSwitch extends ExtendedtypesSwitch<Object> {
+ /**
+ * The child descriptors being populated.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected List<Object> newChildDescriptors;
+
+ /**
+ * The domain in which to create the children.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EditingDomain editingDomain;
+
+ /**
+ * Creates the a switch for populating child descriptors in the given domain.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ CreationSwitch(List<Object> newChildDescriptors, EditingDomain editingDomain) {
+ this.newChildDescriptors = newChildDescriptors;
+ this.editingDomain = editingDomain;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object caseExtendedElementTypeSet(ExtendedElementTypeSet object) {
+ newChildDescriptors.add
+ (createChildParameter
+ (ExtendedtypesPackage.eINSTANCE.getExtendedElementTypeSet_ElementType(),
+ InvariantSemanticTypeConfigurationFactory.eINSTANCE.createInvariantSemanticTypeConfiguration()));
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CommandParameter createChildParameter(Object feature, Object child) {
+ return new CommandParameter(null, feature, child);
+ }
+
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection<Object> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
+ ArrayList<Object> result = new ArrayList<Object>();
+ new CreationSwitch(result, editingDomain).doSwitch((EObject)object);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return InvariantSemanticTypeConfigurationEditPlugin.INSTANCE;
+ }
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/OrRuleItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/OrRuleItemProvider.java
new file mode 100644
index 00000000000..64a52f4b4ac
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/OrRuleItemProvider.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.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.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;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.OrRule} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OrRuleItemProvider
+ extends ComposedRuleConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OrRuleItemProvider(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 returns OrRule.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/OrRule"));
+ }
+
+ /**
+ * 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_OrRule_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);
+ 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);
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ActionConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ActionConfigurationItemProvider.java
new file mode 100644
index 00000000000..dd43422524a
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ActionConfigurationItemProvider.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.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.ViewerNotification;
+
+import org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationFactory;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ActionConfigurationItemProvider extends ConfigurationElementItemProvider implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActionConfigurationItemProvider(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(ExtendedtypesPackage.eINSTANCE.getActionConfiguration_PreValidationQueryConfiguration());
+ }
+ 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 the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ActionConfiguration)object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_ActionConfiguration_type") : //$NON-NLS-1$
+ getString("_UI_ActionConfiguration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * 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(ActionConfiguration.class)) {
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__PRE_VALIDATION_QUERY_CONFIGURATION:
+ 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(ExtendedtypesPackage.eINSTANCE.getActionConfiguration_PreValidationQueryConfiguration(), ConfigurationFactory.eINSTANCE.createModiscoQueryConfiguration()));
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ConfigurationElementItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ConfigurationElementItemProvider.java
new file mode 100644
index 00000000000..c7ed000ba66
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ConfigurationElementItemProvider.java
@@ -0,0 +1,202 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.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.extendedtypes.ConfigurationElement;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesFactory;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ConfigurationElementItemProvider 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 ConfigurationElementItemProvider(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);
+ addNamePropertyDescriptor(object);
+ addDescriptionPropertyDescriptor(object);
+ addIdentifierPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_ConfigurationElement_name_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ConfigurationElement_name_feature", "_UI_ConfigurationElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ExtendedtypesPackage.eINSTANCE.getConfigurationElement_Name(), true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Description feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addDescriptionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_ConfigurationElement_description_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ConfigurationElement_description_feature", "_UI_ConfigurationElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ExtendedtypesPackage.eINSTANCE.getConfigurationElement_Description(), true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Identifier feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addIdentifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_ConfigurationElement_identifier_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ConfigurationElement_identifier_feature", "_UI_ConfigurationElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ExtendedtypesPackage.eINSTANCE.getConfigurationElement_Identifier(), true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 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(ExtendedtypesPackage.eINSTANCE.getConfigurationElement_IconEntry());
+ }
+ 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 the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ConfigurationElement)object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_ConfigurationElement_type") : //$NON-NLS-1$
+ getString("_UI_ConfigurationElement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * 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(ConfigurationElement.class)) {
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__NAME:
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__DESCRIPTION:
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__IDENTIFIER:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__ICON_ENTRY:
+ 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(ExtendedtypesPackage.eINSTANCE.getConfigurationElement_IconEntry(), ExtendedtypesFactory.eINSTANCE.createIconEntry()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return ExtendedTypesEditPlugin.INSTANCE;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ElementTypeAdviceConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ElementTypeAdviceConfigurationItemProvider.java
new file mode 100644
index 00000000000..f233d510c68
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ElementTypeAdviceConfigurationItemProvider.java
@@ -0,0 +1,98 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.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.papyrus.infra.extendedtypes.ElementTypeAdviceConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeAdviceConfiguration} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ElementTypeAdviceConfigurationItemProvider extends ConfigurationElementItemProvider implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementTypeAdviceConfigurationItemProvider(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 returns the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ElementTypeAdviceConfiguration)object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_ElementTypeAdviceConfiguration_type") : //$NON-NLS-1$
+ getString("_UI_ElementTypeAdviceConfiguration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * 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);
+ 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);
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ElementTypeConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ElementTypeConfigurationItemProvider.java
new file mode 100644
index 00000000000..7f8bd2e7755
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ElementTypeConfigurationItemProvider.java
@@ -0,0 +1,268 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.provider;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+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.ViewerNotification;
+import org.eclipse.papyrus.infra.extendedtypes.Activator;
+import org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.IElementMatcherConfigurationModelCreation;
+import org.eclipse.papyrus.infra.extendedtypes.IElementMatcherExtensionPoint;
+import org.eclipse.papyrus.infra.extendedtypes.MatcherConfiguration;
+import org.osgi.framework.Bundle;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ElementTypeConfigurationItemProvider extends ConfigurationElementItemProvider implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementTypeConfigurationItemProvider(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);
+ addHintPropertyDescriptor(object);
+ addKindNamePropertyDescriptor(object);
+ addSpecializedTypesIDPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Hint feature.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addHintPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_ElementTypeConfiguration_hint_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ElementTypeConfiguration_hint_feature", "_UI_ElementTypeConfiguration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ExtendedtypesPackage.eINSTANCE.getElementTypeConfiguration_Hint(), true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Kind Name feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addKindNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_ElementTypeConfiguration_kindName_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ElementTypeConfiguration_kindName_feature", "_UI_ElementTypeConfiguration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ExtendedtypesPackage.eINSTANCE.getElementTypeConfiguration_KindName(), true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Specialized Types ID feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addSpecializedTypesIDPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_ElementTypeConfiguration_specializedTypesID_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ElementTypeConfiguration_specializedTypesID_feature", "_UI_ElementTypeConfiguration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ExtendedtypesPackage.eINSTANCE.getElementTypeConfiguration_SpecializedTypesID(), true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 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(ExtendedtypesPackage.eINSTANCE.getElementTypeConfiguration_MatcherConfiguration());
+ }
+ 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 ElementTypeConfiguration.gif.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ElementTypeConfiguration")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ElementTypeConfiguration)object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_ElementTypeConfiguration_type") : //$NON-NLS-1$
+ getString("_UI_ElementTypeConfiguration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * 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(ElementTypeConfiguration.class)) {
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__HINT:
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION:
+ 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 NOT
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+
+ addElementMatcherFromExtensionPoints(newChildDescriptors, object);
+ }
+
+ protected Map<String, IElementMatcherConfigurationModelCreation<MatcherConfiguration>> configurationToFactory = new HashMap<String, IElementMatcherConfigurationModelCreation<MatcherConfiguration>>();
+
+
+ /**
+ * @param newChildDescriptors
+ * @param object
+ */
+ protected void addElementMatcherFromExtensionPoints(Collection<Object> newChildDescriptors, Object object) {
+ IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(IElementMatcherExtensionPoint.EXTENSION_POINT_ID);
+ // for each element, parses and retrieve the model file. then loads it and returns the root element
+ for(IConfigurationElement configurationElement : elements) {
+ // contributor will always be the same, but implementation could be different.
+ String configurationModelCreationClassName = configurationElement.getAttribute(IElementMatcherExtensionPoint.CONFIGURATION_MODEL_CREATION);
+ if(configurationModelCreationClassName != null) {
+ String contributorName = configurationElement.getContributor().getName();
+ IElementMatcherConfigurationModelCreation<MatcherConfiguration> configurationModelCreation = configurationToFactory.get(configurationModelCreationClassName);
+ if(configurationModelCreation == null) {
+ Class<IElementMatcherConfigurationModelCreation<MatcherConfiguration>> configurationClass = null;
+ try {
+ configurationClass = loadMatcherConfigurationModelCreationClass(configurationModelCreationClassName, contributorName);
+ } catch (ClassNotFoundException e1) {
+ Activator.log.error(e1);
+ }
+ if(configurationClass != null) {
+ // instantiate class
+ try {
+ configurationModelCreation = configurationClass.newInstance();
+ configurationToFactory.put(configurationModelCreationClassName, configurationModelCreation);
+ } catch (InstantiationException e) {
+ Activator.log.error(e);
+ } catch (IllegalAccessException e) {
+ Activator.log.error(e);
+ }
+ }
+ }
+ if(configurationModelCreation != null) {
+ newChildDescriptors.add(createChildParameter(ExtendedtypesPackage.eINSTANCE.getElementTypeConfiguration_MatcherConfiguration(), configurationModelCreation.createConfigurationModel()));
+ }
+ }
+ }
+ }
+
+ protected Class<IElementMatcherConfigurationModelCreation<MatcherConfiguration>> loadMatcherConfigurationModelCreationClass(String className, String bundleId) throws ClassNotFoundException {
+ Class<IElementMatcherConfigurationModelCreation<MatcherConfiguration>> found = null;
+ Bundle bundle = basicGetBundle(bundleId);
+ if(bundle != null) {
+ int state = bundle.getState();
+ if(state == org.osgi.framework.Bundle.ACTIVE || state == org.osgi.framework.Bundle.STARTING) {
+ found = (Class<IElementMatcherConfigurationModelCreation<MatcherConfiguration>>)bundle.loadClass(className);
+ return found;
+ }
+ }
+ return null;
+ }
+
+ private static Bundle basicGetBundle(String bundleId) {
+ return Platform.getBundle(bundleId);
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ExtendedElementTypeSetItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ExtendedElementTypeSetItemProvider.java
new file mode 100644
index 00000000000..76d124ede80
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ExtendedElementTypeSetItemProvider.java
@@ -0,0 +1,166 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.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.ViewerNotification;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ExtendedElementTypeSetItemProvider extends ConfigurationElementItemProvider implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedElementTypeSetItemProvider(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);
+ addExtensiblePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Extensible feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addExtensiblePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_ExtendedElementTypeSet_extensible_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ExtendedElementTypeSet_extensible_feature", "_UI_ExtendedElementTypeSet_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ExtendedtypesPackage.eINSTANCE.getExtendedElementTypeSet_Extensible(), true, false, false, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, 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(ExtendedtypesPackage.eINSTANCE.getExtendedElementTypeSet_ElementType());
+ }
+ 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 ExtendedElementTypeSet.gif.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ExtendedElementTypeSet")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ExtendedElementTypeSet)object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_ExtendedElementTypeSet_type") : //$NON-NLS-1$
+ getString("_UI_ExtendedElementTypeSet_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * 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(ExtendedElementTypeSet.class)) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__EXTENSIBLE:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
+ 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);
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ExtendedTypesEditPlugin.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ExtendedTypesEditPlugin.java
new file mode 100644
index 00000000000..4588f277997
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ExtendedTypesEditPlugin.java
@@ -0,0 +1,102 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryEditPlugin;
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationEditPlugin;
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the ExtendedTypes edit plugin. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public final class ExtendedTypesEditPlugin extends EMFPlugin {
+
+ /**
+ * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public static final ExtendedTypesEditPlugin INSTANCE = new ExtendedTypesEditPlugin();
+
+ /**
+ * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedTypesEditPlugin() {
+ super(new ResourceLocator[]{ ConfigurationEditPlugin.INSTANCE, EcoreEditPlugin.INSTANCE, QueryEditPlugin.INSTANCE, UMLEditPlugin.INSTANCE, });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Implementation() {
+ super();
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ExtendedtypesItemProviderAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ExtendedtypesItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..25a167c13e6
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ExtendedtypesItemProviderAdapterFactory.java
@@ -0,0 +1,231 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.papyrus.infra.extendedtypes.util.ExtendedtypesAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class ExtendedtypesItemProviderAdapterFactory extends ExtendedtypesAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public ExtendedtypesItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet} instances.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExtendedElementTypeSetItemProvider extendedElementTypeSetItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createExtendedElementTypeSetAdapter() {
+ if(extendedElementTypeSetItemProvider == null) {
+ extendedElementTypeSetItemProvider = new ExtendedElementTypeSetItemProvider(this);
+ }
+ return extendedElementTypeSetItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.infra.extendedtypes.IconEntry} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IconEntryItemProvider iconEntryItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.IconEntry}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createIconEntryAdapter() {
+ if(iconEntryItemProvider == null) {
+ iconEntryItemProvider = new IconEntryItemProvider(this);
+ }
+ return iconEntryItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if(isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if(!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+ if(parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void dispose() {
+ if(extendedElementTypeSetItemProvider != null)
+ extendedElementTypeSetItemProvider.dispose();
+ if(iconEntryItemProvider != null)
+ iconEntryItemProvider.dispose();
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/IconEntryItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/IconEntryItemProvider.java
new file mode 100644
index 00000000000..fe954c3b016
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/IconEntryItemProvider.java
@@ -0,0 +1,162 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.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.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.IconEntry;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.IconEntry} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class IconEntryItemProvider 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 IconEntryItemProvider(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);
+ addIconPathPropertyDescriptor(object);
+ addBundleIdPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Icon Path feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addIconPathPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_IconEntry_iconPath_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_IconEntry_iconPath_feature", "_UI_IconEntry_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ExtendedtypesPackage.eINSTANCE.getIconEntry_IconPath(), true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Bundle Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addBundleIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_IconEntry_bundleId_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_IconEntry_bundleId_feature", "_UI_IconEntry_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ExtendedtypesPackage.eINSTANCE.getIconEntry_BundleId(), true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns IconEntry.gif.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/IconEntry")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((IconEntry)object).getIconPath();
+ return label == null || label.length() == 0 ? getString("_UI_IconEntry_type") : //$NON-NLS-1$
+ getString("_UI_IconEntry_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * 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(IconEntry.class)) {
+ case ExtendedtypesPackage.ICON_ENTRY__ICON_PATH:
+ case ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ 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);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return ExtendedTypesEditPlugin.INSTANCE;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/MatcherConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/MatcherConfigurationItemProvider.java
new file mode 100644
index 00000000000..99bc921258a
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/MatcherConfigurationItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.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;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.MatcherConfiguration} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class MatcherConfigurationItemProvider 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 MatcherConfigurationItemProvider(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 returns the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_MatcherConfiguration_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * 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);
+ 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);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return ExtendedTypesEditPlugin.INSTANCE;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/SemanticActionConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/SemanticActionConfigurationItemProvider.java
new file mode 100644
index 00000000000..c359332af92
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/SemanticActionConfigurationItemProvider.java
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.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.papyrus.infra.extendedtypes.SemanticActionConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.SemanticActionConfiguration} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class SemanticActionConfigurationItemProvider extends ActionConfigurationItemProvider implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SemanticActionConfigurationItemProvider(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 returns the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((SemanticActionConfiguration)object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_SemanticActionConfiguration_type") : //$NON-NLS-1$
+ getString("_UI_SemanticActionConfiguration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * 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);
+ 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);
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/SemanticTypeAdviceConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/SemanticTypeAdviceConfigurationItemProvider.java
new file mode 100644
index 00000000000..96fcb4246ee
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/SemanticTypeAdviceConfigurationItemProvider.java
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.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.papyrus.infra.extendedtypes.SemanticTypeAdviceConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.SemanticTypeAdviceConfiguration} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class SemanticTypeAdviceConfigurationItemProvider extends ElementTypeAdviceConfigurationItemProvider implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SemanticTypeAdviceConfigurationItemProvider(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 returns the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((SemanticTypeAdviceConfiguration)object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_SemanticTypeAdviceConfiguration_type") : //$NON-NLS-1$
+ getString("_UI_SemanticTypeAdviceConfiguration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * 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);
+ 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);
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/SemanticTypeConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/SemanticTypeConfigurationItemProvider.java
new file mode 100644
index 00000000000..aa2284507fe
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/SemanticTypeConfigurationItemProvider.java
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.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.papyrus.infra.extendedtypes.SemanticTypeConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class SemanticTypeConfigurationItemProvider extends ElementTypeConfigurationItemProvider implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SemanticTypeConfigurationItemProvider(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 returns the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((SemanticTypeConfiguration)object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_SemanticTypeConfiguration_type") : //$NON-NLS-1$
+ getString("_UI_SemanticTypeConfiguration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * 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);
+ 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);
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ViewActionConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ViewActionConfigurationItemProvider.java
new file mode 100644
index 00000000000..fa8cfd8f6e1
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ViewActionConfigurationItemProvider.java
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.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.papyrus.infra.extendedtypes.ViewActionConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.ViewActionConfiguration} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ViewActionConfigurationItemProvider extends ActionConfigurationItemProvider implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ViewActionConfigurationItemProvider(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 returns the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ViewActionConfiguration)object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_ViewActionConfiguration_type") : //$NON-NLS-1$
+ getString("_UI_ViewActionConfiguration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * 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);
+ 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);
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ViewTypeAdviceConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ViewTypeAdviceConfigurationItemProvider.java
new file mode 100644
index 00000000000..100a8948d0f
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ViewTypeAdviceConfigurationItemProvider.java
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.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.papyrus.infra.extendedtypes.ViewTypeAdviceConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.ViewTypeAdviceConfiguration} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ViewTypeAdviceConfigurationItemProvider extends ElementTypeAdviceConfigurationItemProvider implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ViewTypeAdviceConfigurationItemProvider(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 returns the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ViewTypeAdviceConfiguration)object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_ViewTypeAdviceConfiguration_type") : //$NON-NLS-1$
+ getString("_UI_ViewTypeAdviceConfiguration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * 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);
+ 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);
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ViewTypeConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ViewTypeConfigurationItemProvider.java
new file mode 100644
index 00000000000..7b6eeee170c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen/org/eclipse/papyrus/infra/extendedtypes/provider/ViewTypeConfigurationItemProvider.java
@@ -0,0 +1,123 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.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.ViewerNotification;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.ViewTypeConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.extendedtypes.ViewTypeConfiguration} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ViewTypeConfigurationItemProvider extends ElementTypeConfigurationItemProvider implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ViewTypeConfigurationItemProvider(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);
+ addSpecializedDiagramTypeIDPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Specialized Diagram Type ID feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addSpecializedDiagramTypeIDPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_ViewTypeConfiguration_specializedDiagramTypeID_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ViewTypeConfiguration_specializedDiagramTypeID_feature", "_UI_ViewTypeConfiguration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ExtendedtypesPackage.eINSTANCE.getViewTypeConfiguration_SpecializedDiagramTypeID(), true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ViewTypeConfiguration)object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_ViewTypeConfiguration_type") : //$NON-NLS-1$
+ getString("_UI_ViewTypeConfiguration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * 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(ViewTypeConfiguration.class)) {
+ case ExtendedtypesPackage.VIEW_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ 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);
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/CustomInvariantSemanticTypeConfigurationItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/CustomInvariantSemanticTypeConfigurationItemProvider.java
new file mode 100644
index 00000000000..9caeed1505e
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/CustomInvariantSemanticTypeConfigurationItemProvider.java
@@ -0,0 +1,112 @@
+/**
+ *
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.papyrus.infra.extendedtypes.Activator;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IConfigurationModelCreation;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IInvariantRuleExtensionPoint;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+import org.osgi.framework.Bundle;
+
+/**
+ * Specific Item provider for {@link InvariantSemanticTypeConfiguration} to add new childs given by extension points
+ *
+ */
+public class CustomInvariantSemanticTypeConfigurationItemProvider extends
+ InvariantSemanticTypeConfigurationItemProvider {
+
+ protected Map<String, IConfigurationModelCreation<InvariantRuleConfiguration>> configurationToFactory = new HashMap<String,IConfigurationModelCreation<InvariantRuleConfiguration>>();
+
+ public CustomInvariantSemanticTypeConfigurationItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+// // TODO try to implement this using the extension points => this should
+// // be added automatically by each extension
+// newChildDescriptors.add(createChildParameter(
+// InvariantSemanticTypeConfigurationPackage.eINSTANCE.getInvariantSemanticTypeConfiguration_InvariantRuleConfiguration(),
+// InvariantContainerConfigurationFactory.eINSTANCE.createInvariantContainerConfiguration()));
+//
+ addFromExtensionPoints(newChildDescriptors, object);
+
+ }
+
+ /**
+ * @param newChildDescriptors
+ * @param object
+ */
+ protected void addFromExtensionPoints(Collection<Object> newChildDescriptors, Object object) {
+ IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(IInvariantRuleExtensionPoint.EXTENSION_POINT_ID);
+ // for each element, parses and retrieve the model file. then loads it and returns the root element
+ for(IConfigurationElement configurationElement : elements) {
+ // contributor will always be the same, but implementation could be different.
+
+
+ String configurationModelCreationClassName = configurationElement.getAttribute(IInvariantRuleExtensionPoint.CONFIGURATION_MODEL_CREATION);
+ if(configurationModelCreationClassName !=null) {
+ String contributorName = configurationElement.getContributor().getName();
+ IConfigurationModelCreation<InvariantRuleConfiguration> configurationModelCreation = configurationToFactory.get(configurationModelCreationClassName);
+ if(configurationModelCreation == null) {
+ Class<IConfigurationModelCreation<InvariantRuleConfiguration>> configurationClass = null;
+ try {
+ configurationClass = loadInvariantRulecModelCreationClass(configurationModelCreationClassName, contributorName);
+ } catch (ClassNotFoundException e1) {
+ Activator.log.error(e1);
+ }
+ if(configurationClass != null) {
+ // instantiate class
+ try {
+ configurationModelCreation = configurationClass.newInstance();
+ configurationToFactory.put(configurationModelCreationClassName, configurationModelCreation);
+ } catch (InstantiationException e) {
+ Activator.log.error(e);
+ } catch (IllegalAccessException e) {
+ Activator.log.error(e);
+ }
+ }
+ }
+
+ if(configurationModelCreation !=null) {
+ newChildDescriptors.add(createChildParameter(
+ InvariantSemanticTypeConfigurationPackage.eINSTANCE.getInvariantSemanticTypeConfiguration_InvariantRuleConfiguration(),
+ configurationModelCreation.createConfigurationModel()));
+
+ }
+ }
+ }
+ }
+
+
+ protected Class<IConfigurationModelCreation<InvariantRuleConfiguration>> loadInvariantRulecModelCreationClass(String className, String bundleId) throws ClassNotFoundException {
+ Class<IConfigurationModelCreation<InvariantRuleConfiguration>> found = null;
+ Bundle bundle = basicGetBundle(bundleId);
+ if (bundle!=null){
+ int state = bundle.getState();
+ if ( state == org.osgi.framework.Bundle.ACTIVE || state == org.osgi.framework.Bundle.STARTING ){
+ found = (Class<IConfigurationModelCreation<InvariantRuleConfiguration>>)bundle.loadClass(className);
+ return found;
+ }
+ }
+ return null;
+ }
+
+ private static Bundle basicGetBundle(String bundleId) {
+ return Platform.getBundle(bundleId);
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/CustomInvariantSemanticTypeConfigurationItemProviderAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/CustomInvariantSemanticTypeConfigurationItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..4d9123290d1
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/provider/CustomInvariantSemanticTypeConfigurationItemProviderAdapterFactory.java
@@ -0,0 +1,26 @@
+/**
+ *
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider;
+
+import org.eclipse.emf.common.notify.Adapter;
+
+/**
+ * @author RS211865
+ *
+ */
+public class CustomInvariantSemanticTypeConfigurationItemProviderAdapterFactory
+ extends InvariantSemanticTypeConfigurationItemProviderAdapterFactory {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Adapter createInvariantSemanticTypeConfigurationAdapter() {
+ if (invariantSemanticTypeConfigurationItemProvider == null) {
+ invariantSemanticTypeConfigurationItemProvider = new CustomInvariantSemanticTypeConfigurationItemProvider(this);
+ }
+
+ return invariantSemanticTypeConfigurationItemProvider;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/provider/CustomExtendedElementTypeSetItemProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/provider/CustomExtendedElementTypeSetItemProvider.java
new file mode 100644
index 00000000000..76abfd73881
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/provider/CustomExtendedElementTypeSetItemProvider.java
@@ -0,0 +1,75 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.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.ViewerNotification;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticFactory;
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationFactory;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet}
+ * object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class CustomExtendedElementTypeSetItemProvider extends
+ ExtendedElementTypeSetItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CustomExtendedElementTypeSetItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ // TODO try to implement this using the extension points => this should
+ // be added automatically by each extension
+ newChildDescriptors.add(createChildParameter(
+ ExtendedtypesPackage.eINSTANCE
+ .getExtendedElementTypeSet_ElementType(),
+ AspectSemanticFactory.eINSTANCE
+ .createAspectSemanticTypeConfiguration()));
+
+ newChildDescriptors.add(createChildParameter(
+ ExtendedtypesPackage.eINSTANCE
+ .getExtendedElementTypeSet_ElementType(),
+ InvariantSemanticTypeConfigurationFactory.eINSTANCE
+ .createInvariantSemanticTypeConfiguration()));
+
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/provider/CustomExtendedtypesItemProviderAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/provider/CustomExtendedtypesItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..6c615ca3664
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.edit/src/org/eclipse/papyrus/infra/extendedtypes/provider/CustomExtendedtypesItemProviderAdapterFactory.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.provider;
+
+import org.eclipse.emf.common.notify.Adapter;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support
+ * Viewers. The adapters generated by this factory convert EMF adapter
+ * notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. The
+ * adapters also support Eclipse property sheets. Note that most of the adapters
+ * are shared among multiple instances. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class CustomExtendedtypesItemProviderAdapterFactory extends
+ ExtendedtypesItemProviderAdapterFactory {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Adapter createExtendedElementTypeSetAdapter() {
+ if (extendedElementTypeSetItemProvider == null) {
+ extendedElementTypeSetItemProvider = new CustomExtendedElementTypeSetItemProvider(
+ this);
+ }
+
+ return extendedElementTypeSetItemProvider;
+ }
+
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/.classpath b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/.classpath
new file mode 100644
index 00000000000..240e23bfdc0
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/.project b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/.project
new file mode 100644
index 00000000000..a389db7f315
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.extendedtypes.editor</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..af0f20f97a5
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..cb310552cc7
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.infra.extendedtypes.editor;singleton:=true
+Bundle-Version: 0.10.1.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.infra.extendedtypes.presentation.ExtendedTypesEditorPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.presentation,
+ org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.presentation,
+ org.eclipse.papyrus.infra.extendedtypes.presentation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources;visibility:=reexport,
+ org.eclipse.papyrus.infra.extendedtypes.edit;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.emf.edit.ui;visibility:=reexport,
+ org.eclipse.ui.ide;visibility:=reexport,
+ org.eclipse.papyrus.infra.queries.core.configuration.edit;visibility:=reexport,
+ org.eclipse.emf.ecore.edit;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query.edit;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/build.properties b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/build.properties
new file mode 100644
index 00000000000..fd76368a73b
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/build.properties
@@ -0,0 +1,19 @@
+# Copyright (c) 2013 CEA LIST.
+#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - Initial API and implementation
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/AspectSemanticModelFile.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/AspectSemanticModelFile.gif
new file mode 100644
index 00000000000..cc04daea0fe
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/AspectSemanticModelFile.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/ExtendedtypesModelFile.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/ExtendedtypesModelFile.gif
new file mode 100644
index 00000000000..66b71ecf1b9
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/ExtendedtypesModelFile.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/InvariantHierarchyConfigurationModelFile.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/InvariantHierarchyConfigurationModelFile.gif
new file mode 100644
index 00000000000..97061e34e9b
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/InvariantHierarchyConfigurationModelFile.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/InvariantSemanticTypeConfigurationModelFile.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/InvariantSemanticTypeConfigurationModelFile.gif
new file mode 100644
index 00000000000..b7c1ce53490
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/obj16/InvariantSemanticTypeConfigurationModelFile.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewAspectSemantic.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewAspectSemantic.gif
new file mode 100644
index 00000000000..7238879695e
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewAspectSemantic.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewExtendedtypes.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewExtendedtypes.gif
new file mode 100644
index 00000000000..35743ceb88a
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewExtendedtypes.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewInvariantHierarchyConfiguration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewInvariantHierarchyConfiguration.gif
new file mode 100644
index 00000000000..9c44c4935ea
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewInvariantHierarchyConfiguration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewInvariantSemanticTypeConfiguration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewInvariantSemanticTypeConfiguration.gif
new file mode 100644
index 00000000000..84d170d6289
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/icons/full/wizban/NewInvariantSemanticTypeConfiguration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/plugin.properties b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/plugin.properties
new file mode 100644
index 00000000000..dd56d2c82c8
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/plugin.properties
@@ -0,0 +1,90 @@
+# Copyright (c) 2013 CEA LIST.
+#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - Initial API and implementation
+
+pluginName = ExtendedTypes Editor
+providerName = www.example.org
+
+_UI_ExtendedtypesEditor_menu = &Extendedtypes Editor
+
+_UI_CreateChild_menu_item = &New Child
+_UI_CreateSibling_menu_item = N&ew Sibling
+
+_UI_ShowPropertiesView_menu_item = Show &Properties View
+_UI_RefreshViewer_menu_item = &Refresh
+
+_UI_SelectionPage_label = Selection
+_UI_ParentPage_label = Parent
+_UI_ListPage_label = List
+_UI_TreePage_label = Tree
+_UI_TablePage_label = Table
+_UI_TreeWithColumnsPage_label = Tree with Columns
+_UI_ObjectColumn_label = Object
+_UI_SelfColumn_label = Self
+
+_UI_NoObjectSelected = Selected Nothing
+_UI_SingleObjectSelected = Selected Object: {0}
+_UI_MultiObjectSelected = Selected {0} Objects
+
+_UI_OpenEditorError_label = Open Editor
+
+_UI_Wizard_category = Example EMF Model Creation Wizards
+
+_UI_CreateModelError_message = Problems encountered in file "{0}"
+
+_UI_ExtendedtypesModelWizard_label = Extendedtypes Model
+_UI_ExtendedtypesModelWizard_description = Create a new Extendedtypes model
+
+_UI_ExtendedtypesEditor_label = Extendedtypes Model Editor
+
+_UI_ExtendedtypesEditorFilenameDefaultBase = My
+_UI_ExtendedtypesEditorFilenameExtensions = extendedtypes
+
+_UI_Wizard_label = New
+
+_WARN_FilenameExtension = The file name must end in ''.{0}''
+_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}
+
+_UI_ModelObject = &Model Object
+_UI_XMLEncoding = &XML Encoding
+_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
+_UI_Wizard_initial_object_description = Select a model object to create
+
+_UI_FileConflict_label = File Conflict
+_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes?
+
+_UI_AspectSemanticEditor_menu = &AspectSemantic Editor
+ _UI_AspectSemanticModelWizard_label = AspectSemantic Model
+_UI_AspectSemanticModelWizard_description = Create a new AspectSemantic model
+ _UI_AspectSemanticEditor_label = AspectSemantic Model Editor
+ _UI_AspectSemanticEditorFilenameDefaultBase = My
+_UI_AspectSemanticEditorFilenameExtensions = aspectsemantic
+
+_UI_InvariantSemanticTypeConfigurationEditor_menu = &InvariantSemanticTypeConfiguration Editor
+ _UI_InvariantSemanticTypeConfigurationModelWizard_label = InvariantSemanticTypeConfiguration Model
+_UI_InvariantSemanticTypeConfigurationModelWizard_description = Create a new InvariantSemanticTypeConfiguration model
+ _UI_InvariantSemanticTypeConfigurationEditor_label = InvariantSemanticTypeConfiguration Model Editor
+ _UI_InvariantSemanticTypeConfigurationEditorFilenameDefaultBase = My
+_UI_InvariantSemanticTypeConfigurationEditorFilenameExtensions = invariantsemantictypeconfiguration
+
+_UI_InvariantHierarchyConfigurationEditor_menu = &InvariantHierarchyConfiguration Editor
+ _UI_InvariantHierarchyConfigurationModelWizard_label = InvariantHierarchyConfiguration Model
+_UI_InvariantHierarchyConfigurationModelWizard_description = Create a new InvariantHierarchyConfiguration model
+ _UI_InvariantHierarchyConfigurationEditor_label = InvariantHierarchyConfiguration Model Editor
+ _UI_InvariantHierarchyConfigurationEditorFilenameDefaultBase = My
+_UI_InvariantHierarchyConfigurationEditorFilenameExtensions = invarianthierarchyconfiguration
+
+_UI_InvarianthierarchyconfigurationEditor_menu = &Invarianthierarchyconfiguration Editor
+ _UI_InvarianthierarchyconfigurationModelWizard_label = Invarianthierarchyconfiguration Model
+_UI_InvarianthierarchyconfigurationModelWizard_description = Create a new Invarianthierarchyconfiguration model
+ _UI_InvarianthierarchyconfigurationEditor_label = Invarianthierarchyconfiguration Model Editor
+ _UI_InvarianthierarchyconfigurationEditorFilenameDefaultBase = My
+_UI_InvarianthierarchyconfigurationEditorFilenameExtensions = invarianthierarchyconfiguration
+
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/plugin.xml b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/plugin.xml
new file mode 100644
index 00000000000..7a943dd0d7a
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/plugin.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2013 CEA LIST.
+
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ CEA LIST - Initial API and implementation
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.ui.newWizards">
+ <!-- @generated ExtendedTypes -->
+ <category
+ id="org.eclipse.emf.ecore.Wizard.category.ID"
+ name="%_UI_Wizard_category"/>
+ <wizard
+ id="org.eclipse.papyrus.infra.extendedtypes.presentation.ExtendedtypesModelWizardID"
+ name="%_UI_ExtendedtypesModelWizard_label"
+ class="org.eclipse.papyrus.infra.extendedtypes.presentation.ExtendedtypesModelWizard"
+ category="org.eclipse.emf.ecore.Wizard.category.ID"
+ icon="icons/full/obj16/ExtendedtypesModelFile.gif">
+ <description>%_UI_ExtendedtypesModelWizard_description</description>
+ <selection class="org.eclipse.core.resources.IResource"/>
+ </wizard>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors">
+ <!-- @generated InvariantSemanticTypeConfiguration -->
+ <editor
+ id="org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.presentation.InvariantSemanticTypeConfigurationEditorID"
+ name="%_UI_InvariantSemanticTypeConfigurationEditor_label"
+ icon="icons/full/obj16/InvariantSemanticTypeConfigurationModelFile.gif"
+ extensions="invariantsemantictypeconfiguration"
+ class="org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.presentation.InvariantSemanticTypeConfigurationEditor"
+ contributorClass="org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.presentation.InvariantSemanticTypeConfigurationActionBarContributor">
+ </editor>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors">
+ <!-- @generated AspectSemantic -->
+ <editor
+ id="org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.presentation.AspectSemanticEditorID"
+ name="%_UI_AspectSemanticEditor_label"
+ icon="icons/full/obj16/AspectSemanticModelFile.gif"
+ extensions="aspectsemantic"
+ class="org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.presentation.AspectSemanticEditor"
+ contributorClass="org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.presentation.AspectSemanticActionBarContributor">
+ </editor>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors">
+ <!-- @generated NOT Custom ExtendedTypes -->
+ <editor
+ id="org.eclipse.papyrus.infra.extendedtypes.presentation.ExtendedtypesEditorID"
+ name="%_UI_ExtendedtypesEditor_label"
+ icon="icons/full/obj16/ExtendedtypesModelFile.gif"
+ extensions="extendedtypes"
+ class="org.eclipse.papyrus.infra.extendedtypes.presentation.CustomExtendedtypesEditor"
+ contributorClass="org.eclipse.papyrus.infra.extendedtypes.presentation.ExtendedtypesActionBarContributor">
+ </editor>
+ </extension>
+
+</plugin>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/presentation/AspectSemanticActionBarContributor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/presentation/AspectSemanticActionBarContributor.java
new file mode 100644
index 00000000000..5a8e23116ab
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/presentation/AspectSemanticActionBarContributor.java
@@ -0,0 +1,594 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.papyrus.infra.extendedtypes.presentation.ExtendedTypesEditorPlugin;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the AspectSemantic model editor. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AspectSemanticActionBarContributor extends
+ EditingDomainActionBarContributor implements ISelectionChangedListener {
+ /**
+ * This keeps track of the active editor. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IEditorPart activeEditorPart;
+
+ /**
+ * This keeps track of the current selection provider. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ISelectionProvider selectionProvider;
+
+ /**
+ * This action opens the Properties view. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IAction showPropertiesViewAction = new Action(
+ ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_ShowPropertiesView_menu_item")) {
+ @Override
+ public void run() {
+ try {
+ getPage().showView("org.eclipse.ui.views.PropertySheet");
+ } catch (PartInitException exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * This action refreshes the viewer of the current editor if the editor
+ * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IAction refreshViewerAction = new Action(
+ ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_RefreshViewer_menu_item")) {
+ @Override
+ public boolean isEnabled() {
+ return activeEditorPart instanceof IViewerProvider;
+ }
+
+ @Override
+ public void run() {
+ if (activeEditorPart instanceof IViewerProvider) {
+ Viewer viewer = ((IViewerProvider) activeEditorPart)
+ .getViewer();
+ if (viewer != null) {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+ /**
+ * This will contain one
+ * {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to
+ * each descriptor generated for the current selection by the item provider.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<IAction> createChildActions;
+
+ /**
+ * This will contain a map of
+ * {@link org.eclipse.emf.edit.ui.action.CreateChildAction}s, keyed by
+ * sub-menu text. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Map<String, Collection<IAction>> createChildSubmenuActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be
+ * added for CreateChild actions. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one
+ * {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding
+ * to each descriptor generated for the current selection by the item
+ * provider. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<IAction> createSiblingActions;
+
+ /**
+ * This will contain a map of
+ * {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction}s, keyed by
+ * submenu text. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Map<String, Collection<IAction>> createSiblingSubmenuActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be
+ * added for CreateSibling actions. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticActionBarContributor() {
+ super(ADDITIONS_LAST_STYLE);
+ loadResourceAction = new LoadResourceAction();
+ validateAction = new ValidateAction();
+ controlAction = new ControlAction();
+ }
+
+ /**
+ * This adds Separators for editor additions to the tool bar. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void contributeToToolBar(IToolBarManager toolBarManager) {
+ toolBarManager.add(new Separator("aspectsemantic-settings"));
+ toolBarManager.add(new Separator("aspectsemantic-additions"));
+ }
+
+ /**
+ * This adds to the menu bar a menu and some separators for editor
+ * additions, as well as the sub-menus for object creation items. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void contributeToMenu(IMenuManager menuManager) {
+ super.contributeToMenu(menuManager);
+
+ IMenuManager submenuManager = new MenuManager(
+ ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_AspectSemanticEditor_menu"),
+ "org.eclipse.papyrus.infra.extendedtypes.aspectsemanticMenuID");
+ menuManager.insertAfter("additions", submenuManager);
+ submenuManager.add(new Separator("settings"));
+ submenuManager.add(new Separator("actions"));
+ submenuManager.add(new Separator("additions"));
+ submenuManager.add(new Separator("additions-end"));
+
+ // Prepare for CreateChild item addition or removal.
+ //
+ createChildMenuManager = new MenuManager(
+ ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_CreateChild_menu_item"));
+ submenuManager.insertBefore("additions", createChildMenuManager);
+
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new MenuManager(
+ ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_CreateSibling_menu_item"));
+ submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener(new IMenuListener() {
+ public void menuAboutToShow(IMenuManager menuManager) {
+ menuManager.updateAll(true);
+ }
+ });
+
+ addGlobalActions(submenuManager);
+ }
+
+ /**
+ * When the active editor changes, this remembers the change and registers
+ * with it as a selection provider. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setActiveEditor(IEditorPart part) {
+ super.setActiveEditor(part);
+ activeEditorPart = part;
+
+ // Switch to the new selection provider.
+ //
+ if (selectionProvider != null) {
+ selectionProvider.removeSelectionChangedListener(this);
+ }
+ if (part == null) {
+ selectionProvider = null;
+ } else {
+ selectionProvider = part.getSite().getSelectionProvider();
+ selectionProvider.addSelectionChangedListener(this);
+
+ // Fake a selection changed event to update the menus.
+ //
+ if (selectionProvider.getSelection() != null) {
+ selectionChanged(new SelectionChangedEvent(selectionProvider,
+ selectionProvider.getSelection()));
+ }
+ }
+ }
+
+ /**
+ * This implements
+ * {@link org.eclipse.jface.viewers.ISelectionChangedListener}, handling
+ * {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for
+ * the children and siblings that can be added to the selected object and
+ * updating the menus accordingly. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public void selectionChanged(SelectionChangedEvent event) {
+ // Remove any menu items for old selection.
+ //
+ if (createChildMenuManager != null) {
+ depopulateManager(createChildMenuManager, createChildSubmenuActions);
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if (createSiblingMenuManager != null) {
+ depopulateManager(createSiblingMenuManager,
+ createSiblingSubmenuActions);
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection<?> newChildDescriptors = null;
+ Collection<?> newSiblingDescriptors = null;
+
+ ISelection selection = event.getSelection();
+ if (selection instanceof IStructuredSelection
+ && ((IStructuredSelection) selection).size() == 1) {
+ Object object = ((IStructuredSelection) selection)
+ .getFirstElement();
+
+ EditingDomain domain = ((IEditingDomainProvider) activeEditorPart)
+ .getEditingDomain();
+
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors,
+ selection);
+ createChildSubmenuActions = extractSubmenuActions(createChildActions);
+ createSiblingActions = generateCreateSiblingActions(
+ newSiblingDescriptors, selection);
+ createSiblingSubmenuActions = extractSubmenuActions(createSiblingActions);
+
+ if (createChildMenuManager != null) {
+ populateManager(createChildMenuManager, createChildSubmenuActions,
+ null);
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if (createSiblingMenuManager != null) {
+ populateManager(createSiblingMenuManager,
+ createSiblingSubmenuActions, null);
+ populateManager(createSiblingMenuManager, createSiblingActions,
+ null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction}
+ * for each object in <code>descriptors</code>, and returns the collection
+ * of these actions. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<IAction> generateCreateChildActions(
+ Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateChildAction(activeEditorPart, selection,
+ descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a
+ * {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each
+ * object in <code>descriptors</code>, and returns the collection of these
+ * actions. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<IAction> generateCreateSiblingActions(
+ Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateSiblingAction(activeEditorPart,
+ selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with
+ * {@link org.eclipse.jface.action.ActionContributionItem}s based on the
+ * {@link org.eclipse.jface.action.IAction}s contained in the
+ * <code>actions</code> collection, by inserting them before the specified
+ * contribution item <code>contributionID</code>. If
+ * <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager,
+ Collection<? extends IAction> actions, String contributionID) {
+ if (actions != null) {
+ for (IAction action : actions) {
+ if (contributionID != null) {
+ manager.insertBefore(contributionID, action);
+ } else {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all
+ * {@link org.eclipse.jface.action.ActionContributionItem}s based on the
+ * {@link org.eclipse.jface.action.IAction}s contained in the
+ * <code>actions</code> collection. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager,
+ Collection<? extends IAction> actions) {
+ if (actions != null) {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++) {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while (contributionItem instanceof SubContributionItem) {
+ contributionItem = ((SubContributionItem) contributionItem)
+ .getInnerItem();
+ }
+
+ // Delete the ActionContributionItems with matching action.
+ //
+ if (contributionItem instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem) contributionItem)
+ .getAction();
+ if (actions.contains(action)) {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This extracts those actions in the <code>submenuActions</code> collection
+ * whose text is qualified and returns a map of these actions, keyed by
+ * submenu text. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Map<String, Collection<IAction>> extractSubmenuActions(
+ Collection<IAction> createActions) {
+ Map<String, Collection<IAction>> createSubmenuActions = new LinkedHashMap<String, Collection<IAction>>();
+ if (createActions != null) {
+ for (Iterator<IAction> actions = createActions.iterator(); actions
+ .hasNext();) {
+ IAction action = actions.next();
+ StringTokenizer st = new StringTokenizer(action.getText(), "|");
+ if (st.countTokens() == 2) {
+ String text = st.nextToken().trim();
+ Collection<IAction> submenuActions = createSubmenuActions
+ .get(text);
+ if (submenuActions == null) {
+ createSubmenuActions.put(text,
+ submenuActions = new ArrayList<IAction>());
+ }
+ action.setText(st.nextToken().trim());
+ submenuActions.add(action);
+ actions.remove();
+ }
+ }
+ }
+ return createSubmenuActions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with
+ * {@link org.eclipse.jface.action.MenuManager}s containing
+ * {@link org.eclipse.jface.action.ActionContributionItem}s based on the
+ * {@link org.eclipse.jface.action.IAction}s contained in the
+ * <code>submenuActions</code> collection, by inserting them before the
+ * specified contribution item <code>contributionID</code>. If
+ * <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager,
+ Map<String, Collection<IAction>> submenuActions,
+ String contributionID) {
+ if (submenuActions != null) {
+ for (Map.Entry<String, Collection<IAction>> entry : submenuActions
+ .entrySet()) {
+ MenuManager submenuManager = new MenuManager(entry.getKey());
+ if (contributionID != null) {
+ manager.insertBefore(contributionID, submenuManager);
+ } else {
+ manager.add(submenuManager);
+ }
+ populateManager(submenuManager, entry.getValue(), null);
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all
+ * {@link org.eclipse.jface.action.MenuManager}s and their
+ * {@link org.eclipse.jface.action.ActionContributionItem}s based on the
+ * {@link org.eclipse.jface.action.IAction}s contained in the
+ * <code>submenuActions</code> map. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager,
+ Map<String, Collection<IAction>> submenuActions) {
+ if (submenuActions != null) {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++) {
+ IContributionItem contributionItem = items[i];
+ if (contributionItem instanceof MenuManager) {
+ MenuManager submenuManager = (MenuManager) contributionItem;
+ if (submenuActions
+ .containsKey(submenuManager.getMenuText())) {
+ depopulateManager(submenuManager,
+ submenuActions.get(contributionItem));
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager) {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+
+ submenuManager = new MenuManager(
+ ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_CreateChild_menu_item"));
+ populateManager(submenuManager, createChildSubmenuActions, null);
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+
+ submenuManager = new MenuManager(
+ ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_CreateSibling_menu_item"));
+ populateManager(submenuManager, createSiblingSubmenuActions, null);
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void addGlobalActions(IMenuManager menuManager) {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted
+ * objects. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean removeAllReferencesOnDelete() {
+ return true;
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/presentation/AspectSemanticEditor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/presentation/AspectSemanticEditor.java
new file mode 100644
index 00000000000..7e76fe9cd1a
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/presentation/AspectSemanticEditor.java
@@ -0,0 +1,1939 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.presentation;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+
+import org.eclipse.jface.util.LocalSelectionTransfer;
+
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.custom.CTabFolder;
+
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+
+import org.eclipse.swt.graphics.Point;
+
+import org.eclipse.swt.layout.FillLayout;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+
+import org.eclipse.ui.dialogs.SaveAsDialog;
+
+import org.eclipse.ui.ide.IGotoMarker;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.ViewerPane;
+
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.provider.AspectSemanticItemProviderAdapterFactory;
+
+import org.eclipse.emf.ecore.provider.EcoreItemProviderAdapterFactory;
+
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryItemProviderAdapterFactory;
+
+import org.eclipse.papyrus.infra.extendedtypes.presentation.ExtendedTypesEditorPlugin;
+
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedtypesItemProviderAdapterFactory;
+
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationItemProviderAdapterFactory;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory;
+
+/**
+ * This is an example of a AspectSemantic model editor. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AspectSemanticEditor extends MultiPageEditorPart implements
+ IEditingDomainProvider, ISelectionProvider, IMenuListener,
+ IViewerProvider, IGotoMarker {
+ /**
+ * This keeps track of the editing domain that is used to track all changes
+ * to the model. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AdapterFactoryEditingDomain editingDomain;
+
+ /**
+ * This is the one adapter factory used for providing views of the model.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ComposedAdapterFactory adapterFactory;
+
+ /**
+ * This is the content outline page. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IContentOutlinePage contentOutlinePage;
+
+ /**
+ * This is a kludge... <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IStatusLineManager contentOutlineStatusLineManager;
+
+ /**
+ * This is the content outline page's viewer. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected TreeViewer contentOutlineViewer;
+
+ /**
+ * This is the property sheet page. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
+
+ /**
+ * This is the viewer that shadows the selection in the content outline. The
+ * parent relation must be correctly defined for this to work. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TreeViewer selectionViewer;
+
+ /**
+ * This inverts the roll of parent and child in the content provider and
+ * show parents as a tree. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TreeViewer parentViewer;
+
+ /**
+ * This shows how a tree view works. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected TreeViewer treeViewer;
+
+ /**
+ * This shows how a list view works. A list viewer doesn't support icons.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ListViewer listViewer;
+
+ /**
+ * This shows how a table view works. A table can be used as a list with
+ * icons. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TableViewer tableViewer;
+
+ /**
+ * This shows how a tree view with columns works. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TreeViewer treeViewerWithColumns;
+
+ /**
+ * This keeps track of the active viewer pane, in the book. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ViewerPane currentViewerPane;
+
+ /**
+ * This keeps track of the active content viewer, which may be either one of
+ * the viewers in the pages or the content outline viewer. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Viewer currentViewer;
+
+ /**
+ * This listens to which ever viewer is active. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected ISelectionChangedListener selectionChangedListener;
+
+ /**
+ * This keeps track of all the
+ * {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are
+ * listening to this editor. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+ /**
+ * This keeps track of the selection of the editor as a whole. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+ /**
+ * The MarkerHelper is responsible for creating workspace resource markers
+ * presented in Eclipse's Problems View. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+ /**
+ * This listens for when the outline becomes active <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IPartListener partListener = new IPartListener() {
+ public void partActivated(IWorkbenchPart p) {
+ if (p instanceof ContentOutline) {
+ if (((ContentOutline) p).getCurrentPage() == contentOutlinePage) {
+ getActionBarContributor().setActiveEditor(
+ AspectSemanticEditor.this);
+
+ setCurrentViewer(contentOutlineViewer);
+ }
+ } else if (p instanceof PropertySheet) {
+ if (propertySheetPages.contains(((PropertySheet) p)
+ .getCurrentPage())) {
+ getActionBarContributor().setActiveEditor(
+ AspectSemanticEditor.this);
+ handleActivate();
+ }
+ } else if (p == AspectSemanticEditor.this) {
+ handleActivate();
+ }
+ }
+
+ public void partBroughtToTop(IWorkbenchPart p) {
+ // Ignore.
+ }
+
+ public void partClosed(IWorkbenchPart p) {
+ // Ignore.
+ }
+
+ public void partDeactivated(IWorkbenchPart p) {
+ // Ignore.
+ }
+
+ public void partOpened(IWorkbenchPart p) {
+ // Ignore.
+ }
+ };
+
+ /**
+ * Resources that have been removed since last activation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been changed since last activation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been saved. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+ /**
+ * Map to store the diagnostic associated with a resource. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+ /**
+ * Controls whether the problem indication should be updated. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected boolean updateProblemIndication = true;
+
+ /**
+ * Adapter used to update the problem indication when resources are demanded
+ * loaded. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EContentAdapter problemIndicationAdapter = new EContentAdapter() {
+ @Override
+ public void notifyChanged(Notification notification) {
+ if (notification.getNotifier() instanceof Resource) {
+ switch (notification.getFeatureID(Resource.class)) {
+ case Resource.RESOURCE__IS_LOADED:
+ case Resource.RESOURCE__ERRORS:
+ case Resource.RESOURCE__WARNINGS: {
+ Resource resource = (Resource) notification.getNotifier();
+ Diagnostic diagnostic = analyzeResourceProblems(resource,
+ null);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource, diagnostic);
+ } else {
+ resourceToDiagnosticMap.remove(resource);
+ }
+
+ if (updateProblemIndication) {
+ getSite().getShell().getDisplay()
+ .asyncExec(new Runnable() {
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ break;
+ }
+ }
+ } else {
+ super.notifyChanged(notification);
+ }
+ }
+
+ @Override
+ protected void setTarget(Resource target) {
+ basicSetTarget(target);
+ }
+
+ @Override
+ protected void unsetTarget(Resource target) {
+ basicUnsetTarget(target);
+ resourceToDiagnosticMap.remove(target);
+ if (updateProblemIndication) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ }
+ };
+
+ /**
+ * This listens for workspace changes. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() {
+ public void resourceChanged(IResourceChangeEvent event) {
+ IResourceDelta delta = event.getDelta();
+ try {
+ class ResourceDeltaVisitor implements IResourceDeltaVisitor {
+ protected ResourceSet resourceSet = editingDomain
+ .getResourceSet();
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ public boolean visit(IResourceDelta delta) {
+ if (delta.getResource().getType() == IResource.FILE) {
+ if (delta.getKind() == IResourceDelta.REMOVED
+ || delta.getKind() == IResourceDelta.CHANGED
+ && delta.getFlags() != IResourceDelta.MARKERS) {
+ Resource resource = resourceSet
+ .getResource(URI
+ .createPlatformResourceURI(
+ delta.getFullPath()
+ .toString(),
+ true), false);
+ if (resource != null) {
+ if (delta.getKind() == IResourceDelta.REMOVED) {
+ removedResources.add(resource);
+ } else if (!savedResources.remove(resource)) {
+ changedResources.add(resource);
+ }
+ }
+ }
+ return false;
+ }
+
+ return true;
+ }
+
+ public Collection<Resource> getChangedResources() {
+ return changedResources;
+ }
+
+ public Collection<Resource> getRemovedResources() {
+ return removedResources;
+ }
+ }
+
+ final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+ delta.accept(visitor);
+
+ if (!visitor.getRemovedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ removedResources.addAll(visitor
+ .getRemovedResources());
+ if (!isDirty()) {
+ getSite().getPage().closeEditor(
+ AspectSemanticEditor.this, false);
+ }
+ }
+ });
+ }
+
+ if (!visitor.getChangedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ changedResources.addAll(visitor
+ .getChangedResources());
+ if (getSite().getPage().getActiveEditor() == AspectSemanticEditor.this) {
+ handleActivate();
+ }
+ }
+ });
+ }
+ } catch (CoreException exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * Handles activation of the editor or it's associated views. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void handleActivate() {
+ // Recompute the read only state.
+ //
+ if (editingDomain.getResourceToReadOnlyMap() != null) {
+ editingDomain.getResourceToReadOnlyMap().clear();
+
+ // Refresh any actions that may become enabled or disabled.
+ //
+ setSelection(getSelection());
+ }
+
+ if (!removedResources.isEmpty()) {
+ if (handleDirtyConflict()) {
+ getSite().getPage().closeEditor(AspectSemanticEditor.this,
+ false);
+ } else {
+ removedResources.clear();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ } else if (!changedResources.isEmpty()) {
+ changedResources.removeAll(savedResources);
+ handleChangedResources();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+
+ /**
+ * Handles what to do with changed resources on activation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void handleChangedResources() {
+ if (!changedResources.isEmpty()
+ && (!isDirty() || handleDirtyConflict())) {
+ if (isDirty()) {
+ changedResources.addAll(editingDomain.getResourceSet()
+ .getResources());
+ }
+ editingDomain.getCommandStack().flush();
+
+ updateProblemIndication = false;
+ for (Resource resource : changedResources) {
+ if (resource.isLoaded()) {
+ resource.unload();
+ try {
+ resource.load(Collections.EMPTY_MAP);
+ } catch (IOException exception) {
+ if (!resourceToDiagnosticMap.containsKey(resource)) {
+ resourceToDiagnosticMap
+ .put(resource,
+ analyzeResourceProblems(resource,
+ exception));
+ }
+ }
+ }
+ }
+
+ if (AdapterFactoryEditingDomain.isStale(editorSelection)) {
+ setSelection(StructuredSelection.EMPTY);
+ }
+
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+ }
+
+ /**
+ * Updates the problems indication with the information described in the
+ * specified diagnostic. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void updateProblemIndication() {
+ if (updateProblemIndication) {
+ BasicDiagnostic diagnostic = new BasicDiagnostic(Diagnostic.OK,
+ "org.eclipse.papyrus.infra.extendedtypes.editor", 0, null,
+ new Object[] { editingDomain.getResourceSet() });
+ for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) {
+ if (childDiagnostic.getSeverity() != Diagnostic.OK) {
+ diagnostic.add(childDiagnostic);
+ }
+ }
+
+ int lastEditorPage = getPageCount() - 1;
+ if (lastEditorPage >= 0
+ && getEditor(lastEditorPage) instanceof ProblemEditorPart) {
+ ((ProblemEditorPart) getEditor(lastEditorPage))
+ .setDiagnostic(diagnostic);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ setActivePage(lastEditorPage);
+ }
+ } else if (diagnostic.getSeverity() != Diagnostic.OK) {
+ ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+ problemEditorPart.setDiagnostic(diagnostic);
+ problemEditorPart.setMarkerHelper(markerHelper);
+ try {
+ addPage(++lastEditorPage, problemEditorPart,
+ getEditorInput());
+ setPageText(lastEditorPage, problemEditorPart.getPartName());
+ setActivePage(lastEditorPage);
+ showTabs();
+ } catch (PartInitException exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+ markerHelper.deleteMarkers(editingDomain.getResourceSet());
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ try {
+ markerHelper.createMarkers(diagnostic);
+ } catch (CoreException exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Shows a dialog that asks if conflicting changes should be discarded. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected boolean handleDirtyConflict() {
+ return MessageDialog.openQuestion(getSite().getShell(),
+ getString("_UI_FileConflict_label"),
+ getString("_WARN_FileConflict"));
+ }
+
+ /**
+ * This creates a model editor. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public AspectSemanticEditor() {
+ super();
+ initializeEditingDomain();
+ }
+
+ /**
+ * This sets up the editing domain for the model editor. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void initializeEditingDomain() {
+ // Create an adapter factory that yields item providers.
+ //
+ adapterFactory = new ComposedAdapterFactory(
+ ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+ adapterFactory
+ .addAdapterFactory(new ResourceItemProviderAdapterFactory());
+ adapterFactory
+ .addAdapterFactory(new AspectSemanticItemProviderAdapterFactory());
+ adapterFactory
+ .addAdapterFactory(new ConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new EcoreItemProviderAdapterFactory());
+ adapterFactory
+ .addAdapterFactory(new ExtendedtypesItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new QueryItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new UMLItemProviderAdapterFactory());
+ adapterFactory
+ .addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+ // Create the command stack that will notify this editor as commands are
+ // executed.
+ //
+ BasicCommandStack commandStack = new BasicCommandStack();
+
+ // Add a listener to set the most recent command's affected objects to
+ // be the selection of the viewer with focus.
+ //
+ commandStack.addCommandStackListener(new CommandStackListener() {
+ public void commandStackChanged(final EventObject event) {
+ getContainer().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+
+ // Try to select the affected objects.
+ //
+ Command mostRecentCommand = ((CommandStack) event
+ .getSource()).getMostRecentCommand();
+ if (mostRecentCommand != null) {
+ setSelectionToViewer(mostRecentCommand
+ .getAffectedObjects());
+ }
+ for (Iterator<PropertySheetPage> i = propertySheetPages
+ .iterator(); i.hasNext();) {
+ PropertySheetPage propertySheetPage = i.next();
+ if (propertySheetPage.getControl().isDisposed()) {
+ i.remove();
+ } else {
+ propertySheetPage.refresh();
+ }
+ }
+ }
+ });
+ }
+ });
+
+ // Create the editing domain with a special command stack.
+ //
+ editingDomain = new AdapterFactoryEditingDomain(adapterFactory,
+ commandStack, new HashMap<Resource, Boolean>());
+ }
+
+ /**
+ * This is here for the listener to be able to call it. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void firePropertyChange(int action) {
+ super.firePropertyChange(action);
+ }
+
+ /**
+ * This sets the selection into whichever viewer is active. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSelectionToViewer(Collection<?> collection) {
+ final Collection<?> theSelection = collection;
+ // Make sure it's okay.
+ //
+ if (theSelection != null && !theSelection.isEmpty()) {
+ Runnable runnable = new Runnable() {
+ public void run() {
+ // Try to select the items in the current content viewer of
+ // the editor.
+ //
+ if (currentViewer != null) {
+ currentViewer.setSelection(new StructuredSelection(
+ theSelection.toArray()), true);
+ }
+ }
+ };
+ getSite().getShell().getDisplay().asyncExec(runnable);
+ }
+ }
+
+ /**
+ * This returns the editing domain as required by the
+ * {@link IEditingDomainProvider} interface. This is important for
+ * implementing the static methods of {@link AdapterFactoryEditingDomain}
+ * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EditingDomain getEditingDomain() {
+ return editingDomain;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public class ReverseAdapterFactoryContentProvider extends
+ AdapterFactoryContentProvider {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ReverseAdapterFactoryContentProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object[] getElements(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections
+ .singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object[] getChildren(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections
+ .singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object) {
+ Object parent = super.getParent(object);
+ return parent != null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getParent(Object object) {
+ return null;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCurrentViewerPane(ViewerPane viewerPane) {
+ if (currentViewerPane != viewerPane) {
+ if (currentViewerPane != null) {
+ currentViewerPane.showFocus(false);
+ }
+ currentViewerPane = viewerPane;
+ }
+ setCurrentViewer(currentViewerPane.getViewer());
+ }
+
+ /**
+ * This makes sure that one content viewer, either for the current page or
+ * the outline view, if it has focus, is the current one. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCurrentViewer(Viewer viewer) {
+ // If it is changing...
+ //
+ if (currentViewer != viewer) {
+ if (selectionChangedListener == null) {
+ // Create the listener on demand.
+ //
+ selectionChangedListener = new ISelectionChangedListener() {
+ // This just notifies those things that are affected by the
+ // section.
+ //
+ public void selectionChanged(
+ SelectionChangedEvent selectionChangedEvent) {
+ setSelection(selectionChangedEvent.getSelection());
+ }
+ };
+ }
+
+ // Stop listening to the old one.
+ //
+ if (currentViewer != null) {
+ currentViewer
+ .removeSelectionChangedListener(selectionChangedListener);
+ }
+
+ // Start listening to the new one.
+ //
+ if (viewer != null) {
+ viewer.addSelectionChangedListener(selectionChangedListener);
+ }
+
+ // Remember it.
+ //
+ currentViewer = viewer;
+
+ // Set the editors selection based on the current viewer's
+ // selection.
+ //
+ setSelection(currentViewer == null ? StructuredSelection.EMPTY
+ : currentViewer.getSelection());
+ }
+ }
+
+ /**
+ * This returns the viewer as required by the {@link IViewerProvider}
+ * interface. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Viewer getViewer() {
+ return currentViewer;
+ }
+
+ /**
+ * This creates a context menu for the viewer and adds a listener as well
+ * registering the menu for extension. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createContextMenuFor(StructuredViewer viewer) {
+ MenuManager contextMenu = new MenuManager("#PopUp");
+ contextMenu.add(new Separator("additions"));
+ contextMenu.setRemoveAllWhenShown(true);
+ contextMenu.addMenuListener(this);
+ Menu menu = contextMenu.createContextMenu(viewer.getControl());
+ viewer.getControl().setMenu(menu);
+ getSite().registerContextMenu(contextMenu,
+ new UnwrappingSelectionProvider(viewer));
+
+ int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+ Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(),
+ LocalSelectionTransfer.getTransfer(),
+ FileTransfer.getInstance() };
+ viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(
+ viewer));
+ viewer.addDropSupport(dndOperations, transfers,
+ new EditingDomainViewerDropAdapter(editingDomain, viewer));
+ }
+
+ /**
+ * This is the method called to load a resource into the editing domain's
+ * resource set based on the editor's input. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public void createModel() {
+ URI resourceURI = EditUIUtil.getURI(getEditorInput());
+ Exception exception = null;
+ Resource resource = null;
+ try {
+ // Load the resource through the editing domain.
+ //
+ resource = editingDomain.getResourceSet().getResource(resourceURI,
+ true);
+ } catch (Exception e) {
+ exception = e;
+ resource = editingDomain.getResourceSet().getResource(resourceURI,
+ false);
+ }
+
+ Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource,
+ analyzeResourceProblems(resource, exception));
+ }
+ editingDomain.getResourceSet().eAdapters()
+ .add(problemIndicationAdapter);
+ }
+
+ /**
+ * Returns a diagnostic describing the errors and warnings listed in the
+ * resource and the specified exception (if any). <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Diagnostic analyzeResourceProblems(Resource resource,
+ Exception exception) {
+ if (!resource.getErrors().isEmpty()
+ || !resource.getWarnings().isEmpty()) {
+ BasicDiagnostic basicDiagnostic = new BasicDiagnostic(
+ Diagnostic.ERROR,
+ "org.eclipse.papyrus.infra.extendedtypes.editor",
+ 0,
+ getString("_UI_CreateModelError_message", resource.getURI()),
+ new Object[] { exception == null ? (Object) resource
+ : exception });
+ basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+ return basicDiagnostic;
+ } else if (exception != null) {
+ return new BasicDiagnostic(
+ Diagnostic.ERROR,
+ "org.eclipse.papyrus.infra.extendedtypes.editor",
+ 0,
+ getString("_UI_CreateModelError_message", resource.getURI()),
+ new Object[] { exception });
+ } else {
+ return Diagnostic.OK_INSTANCE;
+ }
+ }
+
+ /**
+ * This is the method used by the framework to install your own controls.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void createPages() {
+ // Creates the model from the editor input
+ //
+ createModel();
+
+ // Only creates the other pages if there is something that can be edited
+ //
+ if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
+ // Create a page for the selection tree view.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
+ AspectSemanticEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ selectionViewer = (TreeViewer) viewerPane.getViewer();
+ selectionViewer
+ .setContentProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+
+ selectionViewer
+ .setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(
+ editingDomain.getResourceSet().getResources().get(0)),
+ true);
+ viewerPane.setTitle(editingDomain.getResourceSet());
+
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(),
+ adapterFactory);
+
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_SelectionPage_label"));
+ }
+
+ // Create a page for the parent tree view.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
+ AspectSemanticEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ parentViewer = (TreeViewer) viewerPane.getViewer();
+ parentViewer.setAutoExpandLevel(30);
+ parentViewer
+ .setContentProvider(new ReverseAdapterFactoryContentProvider(
+ adapterFactory));
+ parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+
+ createContextMenuFor(parentViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ParentPage_label"));
+ }
+
+ // This is the page for the list viewer
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
+ AspectSemanticEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new ListViewer(composite);
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ listViewer = (ListViewer) viewerPane.getViewer();
+ listViewer
+ .setContentProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+ listViewer.setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+
+ createContextMenuFor(listViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ListPage_label"));
+ }
+
+ // This is the page for the tree viewer
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
+ AspectSemanticEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ treeViewer = (TreeViewer) viewerPane.getViewer();
+ treeViewer
+ .setContentProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+ treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+
+ new AdapterFactoryTreeEditor(treeViewer.getTree(),
+ adapterFactory);
+
+ createContextMenuFor(treeViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreePage_label"));
+ }
+
+ // This is the page for the table viewer.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
+ AspectSemanticEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TableViewer(composite);
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ tableViewer = (TableViewer) viewerPane.getViewer();
+
+ Table table = tableViewer.getTable();
+ TableLayout layout = new TableLayout();
+ table.setLayout(layout);
+ table.setHeaderVisible(true);
+ table.setLinesVisible(true);
+
+ TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(3, 100, true));
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));
+ objectColumn.setResizable(true);
+
+ TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(2, 100, true));
+ selfColumn.setText(getString("_UI_SelfColumn_label"));
+ selfColumn.setResizable(true);
+
+ tableViewer.setColumnProperties(new String[] { "a", "b" });
+ tableViewer
+ .setContentProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+ tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+
+ createContextMenuFor(tableViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TablePage_label"));
+ }
+
+ // This is the page for the table tree viewer.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
+ AspectSemanticEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ treeViewerWithColumns = (TreeViewer) viewerPane.getViewer();
+
+ Tree tree = treeViewerWithColumns.getTree();
+ tree.setLayoutData(new FillLayout());
+ tree.setHeaderVisible(true);
+ tree.setLinesVisible(true);
+
+ TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));
+ objectColumn.setResizable(true);
+ objectColumn.setWidth(250);
+
+ TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+ selfColumn.setText(getString("_UI_SelfColumn_label"));
+ selfColumn.setResizable(true);
+ selfColumn.setWidth(200);
+
+ treeViewerWithColumns.setColumnProperties(new String[] { "a",
+ "b" });
+ treeViewerWithColumns
+ .setContentProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+ treeViewerWithColumns
+ .setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+
+ createContextMenuFor(treeViewerWithColumns);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex,
+ getString("_UI_TreeWithColumnsPage_label"));
+ }
+
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ setActivePage(0);
+ }
+ });
+ }
+
+ // Ensures that this editor will only display the page's tab
+ // area if there are more than one page
+ //
+ getContainer().addControlListener(new ControlAdapter() {
+ boolean guard = false;
+
+ @Override
+ public void controlResized(ControlEvent event) {
+ if (!guard) {
+ guard = true;
+ hideTabs();
+ guard = false;
+ }
+ }
+ });
+
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+
+ /**
+ * If there is just one page in the multi-page editor part, this hides the
+ * single tab at the bottom. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void hideTabs() {
+ if (getPageCount() <= 1) {
+ setPageText(0, "");
+ if (getContainer() instanceof CTabFolder) {
+ ((CTabFolder) getContainer()).setTabHeight(1);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y + 6);
+ }
+ }
+ }
+
+ /**
+ * If there is more than one page in the multi-page editor part, this shows
+ * the tabs at the bottom. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void showTabs() {
+ if (getPageCount() > 1) {
+ setPageText(0, getString("_UI_SelectionPage_label"));
+ if (getContainer() instanceof CTabFolder) {
+ ((CTabFolder) getContainer()).setTabHeight(SWT.DEFAULT);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y - 6);
+ }
+ }
+ }
+
+ /**
+ * This is used to track the active viewer. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void pageChange(int pageIndex) {
+ super.pageChange(pageIndex);
+
+ if (contentOutlinePage != null) {
+ handleContentOutlineSelection(contentOutlinePage.getSelection());
+ }
+ }
+
+ /**
+ * This is how the framework determines which interfaces we implement. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("rawtypes")
+ @Override
+ public Object getAdapter(Class key) {
+ if (key.equals(IContentOutlinePage.class)) {
+ return showOutlineView() ? getContentOutlinePage() : null;
+ } else if (key.equals(IPropertySheetPage.class)) {
+ return getPropertySheetPage();
+ } else if (key.equals(IGotoMarker.class)) {
+ return this;
+ } else {
+ return super.getAdapter(key);
+ }
+ }
+
+ /**
+ * This accesses a cached version of the content outliner. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IContentOutlinePage getContentOutlinePage() {
+ if (contentOutlinePage == null) {
+ // The content outline is just a tree.
+ //
+ class MyContentOutlinePage extends ContentOutlinePage {
+ @Override
+ public void createControl(Composite parent) {
+ super.createControl(parent);
+ contentOutlineViewer = getTreeViewer();
+ contentOutlineViewer.addSelectionChangedListener(this);
+
+ // Set up the tree viewer.
+ //
+ contentOutlineViewer
+ .setContentProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+ contentOutlineViewer
+ .setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+ contentOutlineViewer.setInput(editingDomain
+ .getResourceSet());
+
+ // Make sure our popups work.
+ //
+ createContextMenuFor(contentOutlineViewer);
+
+ if (!editingDomain.getResourceSet().getResources()
+ .isEmpty()) {
+ // Select the root object in the view.
+ //
+ contentOutlineViewer
+ .setSelection(new StructuredSelection(
+ editingDomain.getResourceSet()
+ .getResources().get(0)), true);
+ }
+ }
+
+ @Override
+ public void makeContributions(IMenuManager menuManager,
+ IToolBarManager toolBarManager,
+ IStatusLineManager statusLineManager) {
+ super.makeContributions(menuManager, toolBarManager,
+ statusLineManager);
+ contentOutlineStatusLineManager = statusLineManager;
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this,
+ actionBars);
+ }
+ }
+
+ contentOutlinePage = new MyContentOutlinePage();
+
+ // Listen to selection so that we can handle it is a special way.
+ //
+ contentOutlinePage
+ .addSelectionChangedListener(new ISelectionChangedListener() {
+ // This ensures that we handle selections correctly.
+ //
+ public void selectionChanged(SelectionChangedEvent event) {
+ handleContentOutlineSelection(event.getSelection());
+ }
+ });
+ }
+
+ return contentOutlinePage;
+ }
+
+ /**
+ * This accesses a cached version of the property sheet. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IPropertySheetPage getPropertySheetPage() {
+ PropertySheetPage propertySheetPage = new ExtendedPropertySheetPage(
+ editingDomain) {
+ @Override
+ public void setSelectionToViewer(List<?> selection) {
+ AspectSemanticEditor.this.setSelectionToViewer(selection);
+ AspectSemanticEditor.this.setFocus();
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ };
+ propertySheetPage
+ .setPropertySourceProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+ propertySheetPages.add(propertySheetPage);
+
+ return propertySheetPage;
+ }
+
+ /**
+ * This deals with how we want selection in the outliner to affect the other
+ * views. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void handleContentOutlineSelection(ISelection selection) {
+ if (currentViewerPane != null && !selection.isEmpty()
+ && selection instanceof IStructuredSelection) {
+ Iterator<?> selectedElements = ((IStructuredSelection) selection)
+ .iterator();
+ if (selectedElements.hasNext()) {
+ // Get the first selected element.
+ //
+ Object selectedElement = selectedElements.next();
+
+ // If it's the selection viewer, then we want it to select the
+ // same selection as this selection.
+ //
+ if (currentViewerPane.getViewer() == selectionViewer) {
+ ArrayList<Object> selectionList = new ArrayList<Object>();
+ selectionList.add(selectedElement);
+ while (selectedElements.hasNext()) {
+ selectionList.add(selectedElements.next());
+ }
+
+ // Set the selection to the widget.
+ //
+ selectionViewer.setSelection(new StructuredSelection(
+ selectionList));
+ } else {
+ // Set the input to the widget.
+ //
+ if (currentViewerPane.getViewer().getInput() != selectedElement) {
+ currentViewerPane.getViewer().setInput(selectedElement);
+ currentViewerPane.setTitle(selectedElement);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply tests the command
+ * stack. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isDirty() {
+ return ((BasicCommandStack) editingDomain.getCommandStack())
+ .isSaveNeeded();
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply saves the model
+ * file. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void doSave(IProgressMonitor progressMonitor) {
+ // Save only resources that have actually changed.
+ //
+ final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+ saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED,
+ Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+ saveOptions.put(Resource.OPTION_LINE_DELIMITER,
+ Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
+
+ // Do the work within an operation because this is a long running
+ // activity that modifies the workbench.
+ //
+ WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
+ // This is the method that gets invoked when the operation runs.
+ //
+ @Override
+ public void execute(IProgressMonitor monitor) {
+ // Save the resources to the file system.
+ //
+ boolean first = true;
+ for (Resource resource : editingDomain.getResourceSet()
+ .getResources()) {
+ if ((first || !resource.getContents().isEmpty() || isPersisted(resource))
+ && !editingDomain.isReadOnly(resource)) {
+ try {
+ long timeStamp = resource.getTimeStamp();
+ resource.save(saveOptions);
+ if (resource.getTimeStamp() != timeStamp) {
+ savedResources.add(resource);
+ }
+ } catch (Exception exception) {
+ resourceToDiagnosticMap
+ .put(resource,
+ analyzeResourceProblems(resource,
+ exception));
+ }
+ first = false;
+ }
+ }
+ }
+ };
+
+ updateProblemIndication = false;
+ try {
+ // This runs the options, and shows progress.
+ //
+ new ProgressMonitorDialog(getSite().getShell()).run(true, false,
+ operation);
+
+ // Refresh the necessary state.
+ //
+ ((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone();
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+ } catch (Exception exception) {
+ // Something went wrong that shouldn't.
+ //
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ }
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+
+ /**
+ * This returns whether something has been persisted to the URI of the
+ * specified resource. The implementation uses the URI converter from the
+ * editor's resource set to try to open an input stream. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected boolean isPersisted(Resource resource) {
+ boolean result = false;
+ try {
+ InputStream stream = editingDomain.getResourceSet()
+ .getURIConverter().createInputStream(resource.getURI());
+ if (stream != null) {
+ result = true;
+ stream.close();
+ }
+ } catch (IOException e) {
+ // Ignore
+ }
+ return result;
+ }
+
+ /**
+ * This always returns true because it is not currently supported. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isSaveAsAllowed() {
+ return true;
+ }
+
+ /**
+ * This also changes the editor's input. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void doSaveAs() {
+ SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+ saveAsDialog.open();
+ IPath path = saveAsDialog.getResult();
+ if (path != null) {
+ IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+ if (file != null) {
+ doSaveAs(URI.createPlatformResourceURI(file.getFullPath()
+ .toString(), true), new FileEditorInput(file));
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void doSaveAs(URI uri, IEditorInput editorInput) {
+ (editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ IProgressMonitor progressMonitor = getActionBars()
+ .getStatusLineManager() != null ? getActionBars()
+ .getStatusLineManager().getProgressMonitor()
+ : new NullProgressMonitor();
+ doSave(progressMonitor);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void gotoMarker(IMarker marker) {
+ List<?> targetObjects = markerHelper.getTargetObjects(editingDomain,
+ marker);
+ if (!targetObjects.isEmpty()) {
+ setSelectionToViewer(targetObjects);
+ }
+ }
+
+ /**
+ * This is called during startup. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public void init(IEditorSite site, IEditorInput editorInput) {
+ setSite(site);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ site.setSelectionProvider(this);
+ site.getPage().addPartListener(partListener);
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(
+ resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setFocus() {
+ if (currentViewerPane != null) {
+ currentViewerPane.setFocus();
+ } else {
+ getControl(getActivePage()).setFocus();
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void addSelectionChangedListener(ISelectionChangedListener listener) {
+ selectionChangedListeners.add(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void removeSelectionChangedListener(
+ ISelectionChangedListener listener) {
+ selectionChangedListeners.remove(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to
+ * return this editor's overall selection. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public ISelection getSelection() {
+ return editorSelection;
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to
+ * set this editor's overall selection. Calling this result will notify the
+ * listeners. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSelection(ISelection selection) {
+ editorSelection = selection;
+
+ for (ISelectionChangedListener listener : selectionChangedListeners) {
+ listener.selectionChanged(new SelectionChangedEvent(this, selection));
+ }
+ setStatusLineManager(selection);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStatusLineManager(ISelection selection) {
+ IStatusLineManager statusLineManager = currentViewer != null
+ && currentViewer == contentOutlineViewer ? contentOutlineStatusLineManager
+ : getActionBars().getStatusLineManager();
+
+ if (statusLineManager != null) {
+ if (selection instanceof IStructuredSelection) {
+ Collection<?> collection = ((IStructuredSelection) selection)
+ .toList();
+ switch (collection.size()) {
+ case 0: {
+ statusLineManager
+ .setMessage(getString("_UI_NoObjectSelected"));
+ break;
+ }
+ case 1: {
+ String text = new AdapterFactoryItemDelegator(
+ adapterFactory).getText(collection.iterator()
+ .next());
+ statusLineManager.setMessage(getString(
+ "_UI_SingleObjectSelected", text));
+ break;
+ }
+ default: {
+ statusLineManager.setMessage(getString(
+ "_UI_MultiObjectSelected",
+ Integer.toString(collection.size())));
+ break;
+ }
+ }
+ } else {
+ statusLineManager.setMessage("");
+ }
+ }
+ }
+
+ /**
+ * This looks up a string in the plugin's plugin.properties file. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static String getString(String key) {
+ return ExtendedTypesEditorPlugin.INSTANCE.getString(key);
+ }
+
+ /**
+ * This looks up a string in plugin.properties, making a substitution. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static String getString(String key, Object s1) {
+ return ExtendedTypesEditorPlugin.INSTANCE.getString(key,
+ new Object[] { s1 });
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.action.IMenuListener} to help
+ * fill the context menus with contributions from the Edit menu. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void menuAboutToShow(IMenuManager menuManager) {
+ ((IMenuListener) getEditorSite().getActionBarContributor())
+ .menuAboutToShow(menuManager);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EditingDomainActionBarContributor getActionBarContributor() {
+ return (EditingDomainActionBarContributor) getEditorSite()
+ .getActionBarContributor();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IActionBars getActionBars() {
+ return getActionBarContributor().getActionBars();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AdapterFactory getAdapterFactory() {
+ return adapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ updateProblemIndication = false;
+
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener(
+ resourceChangeListener);
+
+ getSite().getPage().removePartListener(partListener);
+
+ adapterFactory.dispose();
+
+ if (getActionBarContributor().getActiveEditor() == this) {
+ getActionBarContributor().setActiveEditor(null);
+ }
+
+ for (PropertySheetPage propertySheetPage : propertySheetPages) {
+ propertySheetPage.dispose();
+ }
+
+ if (contentOutlinePage != null) {
+ contentOutlinePage.dispose();
+ }
+
+ super.dispose();
+ }
+
+ /**
+ * Returns whether the outline view should be presented to the user. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected boolean showOutlineView() {
+ return true;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/presentation/AspectSemanticModelWizard.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/presentation/AspectSemanticModelWizard.java
new file mode 100644
index 00000000000..8820ff1b1ea
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/presentation/AspectSemanticModelWizard.java
@@ -0,0 +1,677 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.presentation;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.CommonPlugin;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticFactory;
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage;
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.papyrus.infra.extendedtypes.presentation.ExtendedTypesEditorPlugin;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is a simple wizard for creating a new model file. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AspectSemanticModelWizard extends Wizard implements INewWizard {
+ /**
+ * The supported extensions for created files. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<String> FILE_EXTENSIONS = Collections
+ .unmodifiableList(Arrays.asList(ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_AspectSemanticEditorFilenameExtensions")
+ .split("\\s*,\\s*")));
+
+ /**
+ * A formatted list of supported file extensions, suitable for display. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final String FORMATTED_FILE_EXTENSIONS = ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_AspectSemanticEditorFilenameExtensions")
+ .replaceAll("\\s*,\\s*", ", ");
+
+ /**
+ * This caches an instance of the model package. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AspectSemanticPackage aspectSemanticPackage = AspectSemanticPackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AspectSemanticFactory aspectSemanticFactory = aspectSemanticPackage
+ .getAspectSemanticFactory();
+
+ /**
+ * This is the file creation page. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ protected AspectSemanticModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected AspectSemanticModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+ /**
+ * Remember the selection during initialization for populating the default
+ * container. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IStructuredSelection selection;
+
+ /**
+ * Remember the workbench during initialization. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IWorkbench workbench;
+
+ /**
+ * Caches the names of the types that can be created as the root object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected List<String> initialObjectNames;
+
+ /**
+ * This just records the information. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ this.workbench = workbench;
+ this.selection = selection;
+ setWindowTitle(ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_Wizard_label"));
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE
+ .getImageDescriptor(ExtendedTypesEditorPlugin.INSTANCE
+ .getImage("full/wizban/NewAspectSemantic")));
+ }
+
+ /**
+ * Returns the names of the types that can be created as the root object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<String> getInitialObjectNames() {
+ if (initialObjectNames == null) {
+ initialObjectNames = new ArrayList<String>();
+ for (EClassifier eClassifier : aspectSemanticPackage
+ .getEClassifiers()) {
+ if (eClassifier instanceof EClass) {
+ EClass eClass = (EClass) eClassifier;
+ if (!eClass.isAbstract()) {
+ initialObjectNames.add(eClass.getName());
+ }
+ }
+ }
+ Collections.sort(initialObjectNames,
+ CommonPlugin.INSTANCE.getComparator());
+ }
+ return initialObjectNames;
+ }
+
+ /**
+ * Create a new model. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EObject createInitialModel() {
+ EClass eClass = (EClass) aspectSemanticPackage
+ .getEClassifier(initialObjectCreationPage
+ .getInitialObjectName());
+ EObject rootObject = aspectSemanticFactory.create(eClass);
+ return rootObject;
+ }
+
+ /**
+ * Do the work after everything is specified. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean performFinish() {
+ try {
+ // Remember the file.
+ //
+ final IFile modelFile = getModelFile();
+
+ // Do the work within an operation.
+ //
+ WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
+ @Override
+ protected void execute(IProgressMonitor progressMonitor) {
+ try {
+ // Create a resource set
+ //
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ // Get the URI of the model file.
+ //
+ URI fileURI = URI.createPlatformResourceURI(modelFile
+ .getFullPath().toString(), true);
+
+ // Create a resource for this file.
+ //
+ Resource resource = resourceSet.createResource(fileURI);
+
+ // Add the initial model object to the contents.
+ //
+ EObject rootObject = createInitialModel();
+ if (rootObject != null) {
+ resource.getContents().add(rootObject);
+ }
+
+ // Save the contents of the resource to the file system.
+ //
+ Map<Object, Object> options = new HashMap<Object, Object>();
+ options.put(XMLResource.OPTION_ENCODING,
+ initialObjectCreationPage.getEncoding());
+ resource.save(options);
+ } catch (Exception exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ } finally {
+ progressMonitor.done();
+ }
+ }
+ };
+
+ getContainer().run(false, false, operation);
+
+ // Select the new file resource in the current view.
+ //
+ IWorkbenchWindow workbenchWindow = workbench
+ .getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ final IWorkbenchPart activePart = page.getActivePart();
+ if (activePart instanceof ISetSelectionTarget) {
+ final ISelection targetSelection = new StructuredSelection(
+ modelFile);
+ getShell().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ ((ISetSelectionTarget) activePart)
+ .selectReveal(targetSelection);
+ }
+ });
+ }
+
+ // Open an editor on the new file.
+ //
+ try {
+ page.openEditor(
+ new FileEditorInput(modelFile),
+ workbench
+ .getEditorRegistry()
+ .getDefaultEditor(
+ modelFile.getFullPath().toString())
+ .getId());
+ } catch (PartInitException exception) {
+ MessageDialog.openError(workbenchWindow.getShell(),
+ ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_OpenEditorError_label"),
+ exception.getMessage());
+ return false;
+ }
+
+ return true;
+ } catch (Exception exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public class AspectSemanticModelWizardNewFileCreationPage extends
+ WizardNewFileCreationPage {
+ /**
+ * Pass in the selection. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticModelWizardNewFileCreationPage(String pageId,
+ IStructuredSelection selection) {
+ super(pageId, selection);
+ }
+
+ /**
+ * The framework calls this to see if the file is correct. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean validatePage() {
+ if (super.validatePage()) {
+ String extension = new Path(getFileName()).getFileExtension();
+ if (extension == null || !FILE_EXTENSIONS.contains(extension)) {
+ String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions"
+ : "_WARN_FilenameExtension";
+ setErrorMessage(ExtendedTypesEditorPlugin.INSTANCE
+ .getString(key,
+ new Object[] { FORMATTED_FILE_EXTENSIONS }));
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IFile getModelFile() {
+ return ResourcesPlugin.getWorkspace().getRoot()
+ .getFile(getContainerFullPath().append(getFileName()));
+ }
+ }
+
+ /**
+ * This is the page where the type of object to create is selected. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public class AspectSemanticModelWizardInitialObjectCreationPage extends
+ WizardPage {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Combo initialObjectField;
+
+ /**
+ * @generated <!-- begin-user-doc --> <!-- end-user-doc -->
+ */
+ protected List<String> encodings;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Combo encodingField;
+
+ /**
+ * Pass in the selection. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticModelWizardInitialObjectCreationPage(String pageId) {
+ super(pageId);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE);
+ {
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.verticalSpacing = 12;
+ composite.setLayout(layout);
+
+ GridData data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.grabExcessVerticalSpace = true;
+ data.horizontalAlignment = GridData.FILL;
+ composite.setLayoutData(data);
+ }
+
+ Label containerLabel = new Label(composite, SWT.LEFT);
+ {
+ containerLabel.setText(ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_ModelObject"));
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ containerLabel.setLayoutData(data);
+ }
+
+ initialObjectField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ initialObjectField.setLayoutData(data);
+ }
+
+ for (String objectName : getInitialObjectNames()) {
+ initialObjectField.add(getLabel(objectName));
+ }
+
+ if (initialObjectField.getItemCount() == 1) {
+ initialObjectField.select(0);
+ }
+ initialObjectField.addModifyListener(validator);
+
+ Label encodingLabel = new Label(composite, SWT.LEFT);
+ {
+ encodingLabel.setText(ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_XMLEncoding"));
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ encodingLabel.setLayoutData(data);
+ }
+ encodingField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ encodingField.setLayoutData(data);
+ }
+
+ for (String encoding : getEncodings()) {
+ encodingField.add(encoding);
+ }
+
+ encodingField.select(0);
+ encodingField.addModifyListener(validator);
+
+ setPageComplete(validatePage());
+ setControl(composite);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ModifyListener validator = new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ setPageComplete(validatePage());
+ }
+ };
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected boolean validatePage() {
+ return getInitialObjectName() != null
+ && getEncodings().contains(encodingField.getText());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ if (visible) {
+ if (initialObjectField.getItemCount() == 1) {
+ initialObjectField.clearSelection();
+ encodingField.setFocus();
+ } else {
+ encodingField.clearSelection();
+ initialObjectField.setFocus();
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getInitialObjectName() {
+ String label = initialObjectField.getText();
+
+ for (String name : getInitialObjectNames()) {
+ if (getLabel(name).equals(label)) {
+ return name;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getEncoding() {
+ return encodingField.getText();
+ }
+
+ /**
+ * Returns the label for the specified type name. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected String getLabel(String typeName) {
+ try {
+ return ExtendedTypesEditPlugin.INSTANCE.getString("_UI_"
+ + typeName + "_type");
+ } catch (MissingResourceException mre) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(mre);
+ }
+ return typeName;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<String> getEncodings() {
+ if (encodings == null) {
+ encodings = new ArrayList<String>();
+ for (StringTokenizer stringTokenizer = new StringTokenizer(
+ ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_XMLEncodingChoices")); stringTokenizer
+ .hasMoreTokens();) {
+ encodings.add(stringTokenizer.nextToken());
+ }
+ }
+ return encodings;
+ }
+ }
+
+ /**
+ * The framework calls this to create the contents of the wizard. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void addPages() {
+ // Create a page, set the title, and the initial model file name.
+ //
+ newFileCreationPage = new AspectSemanticModelWizardNewFileCreationPage(
+ "Whatever", selection);
+ newFileCreationPage.setTitle(ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_AspectSemanticModelWizard_label"));
+ newFileCreationPage.setDescription(ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_AspectSemanticModelWizard_description"));
+ newFileCreationPage.setFileName(ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_AspectSemanticEditorFilenameDefaultBase")
+ + "."
+ + FILE_EXTENSIONS.get(0));
+ addPage(newFileCreationPage);
+
+ // Try and get the resource selection to determine a current directory
+ // for the file dialog.
+ //
+ if (selection != null && !selection.isEmpty()) {
+ // Get the resource...
+ //
+ Object selectedElement = selection.iterator().next();
+ if (selectedElement instanceof IResource) {
+ // Get the resource parent, if its a file.
+ //
+ IResource selectedResource = (IResource) selectedElement;
+ if (selectedResource.getType() == IResource.FILE) {
+ selectedResource = selectedResource.getParent();
+ }
+
+ // This gives us a directory...
+ //
+ if (selectedResource instanceof IFolder
+ || selectedResource instanceof IProject) {
+ // Set this for the container.
+ //
+ newFileCreationPage.setContainerFullPath(selectedResource
+ .getFullPath());
+
+ // Make up a unique new name here.
+ //
+ String defaultModelBaseFilename = ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_AspectSemanticEditorFilenameDefaultBase");
+ String defaultModelFilenameExtension = FILE_EXTENSIONS
+ .get(0);
+ String modelFilename = defaultModelBaseFilename + "."
+ + defaultModelFilenameExtension;
+ for (int i = 1; ((IContainer) selectedResource)
+ .findMember(modelFilename) != null; ++i) {
+ modelFilename = defaultModelBaseFilename + i + "."
+ + defaultModelFilenameExtension;
+ }
+ newFileCreationPage.setFileName(modelFilename);
+ }
+ }
+ }
+ initialObjectCreationPage = new AspectSemanticModelWizardInitialObjectCreationPage(
+ "Whatever2");
+ initialObjectCreationPage.setTitle(ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_AspectSemanticModelWizard_label"));
+ initialObjectCreationPage
+ .setDescription(ExtendedTypesEditorPlugin.INSTANCE
+ .getString("_UI_Wizard_initial_object_description"));
+ addPage(initialObjectCreationPage);
+ }
+
+ /**
+ * Get the file from the page. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IFile getModelFile() {
+ return newFileCreationPage.getModelFile();
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationActionBarContributor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationActionBarContributor.java
new file mode 100644
index 00000000000..a834f22531f
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationActionBarContributor.java
@@ -0,0 +1,538 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the InvariantSemanticTypeConfiguration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantSemanticTypeConfigurationActionBarContributor
+ extends EditingDomainActionBarContributor
+ implements ISelectionChangedListener {
+ /**
+ * This keeps track of the active editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IEditorPart activeEditorPart;
+
+ /**
+ * This keeps track of the current selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelectionProvider selectionProvider;
+
+ /**
+ * This action opens the Properties view.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IAction showPropertiesViewAction =
+ new Action(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+ @Override
+ public void run() {
+ try {
+ getPage().showView("org.eclipse.ui.views.PropertySheet");
+ }
+ catch (PartInitException exception) {
+ InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * This action refreshes the viewer of the current editor if the editor
+ * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IAction refreshViewerAction =
+ new Action(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+ @Override
+ public boolean isEnabled() {
+ return activeEditorPart instanceof IViewerProvider;
+ }
+
+ @Override
+ public void run() {
+ if (activeEditorPart instanceof IViewerProvider) {
+ Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+ if (viewer != null) {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createChildActions;
+
+ /**
+ * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateChildAction}s, keyed by sub-menu text.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Map<String, Collection<IAction>> createChildSubmenuActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createSiblingActions;
+
+ /**
+ * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction}s, keyed by submenu text.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Map<String, Collection<IAction>> createSiblingSubmenuActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationActionBarContributor() {
+ super(ADDITIONS_LAST_STYLE);
+ loadResourceAction = new LoadResourceAction();
+ validateAction = new ValidateAction();
+ controlAction = new ControlAction();
+ }
+
+ /**
+ * This adds Separators for editor additions to the tool bar.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void contributeToToolBar(IToolBarManager toolBarManager) {
+ toolBarManager.add(new Separator("invariantsemantictypeconfiguration-settings"));
+ toolBarManager.add(new Separator("invariantsemantictypeconfiguration-additions"));
+ }
+
+ /**
+ * This adds to the menu bar a menu and some separators for editor additions,
+ * as well as the sub-menus for object creation items.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void contributeToMenu(IMenuManager menuManager) {
+ super.contributeToMenu(menuManager);
+
+ IMenuManager submenuManager = new MenuManager(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantSemanticTypeConfigurationEditor_menu"), "org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfigurationMenuID");
+ menuManager.insertAfter("additions", submenuManager);
+ submenuManager.add(new Separator("settings"));
+ submenuManager.add(new Separator("actions"));
+ submenuManager.add(new Separator("additions"));
+ submenuManager.add(new Separator("additions-end"));
+
+ // Prepare for CreateChild item addition or removal.
+ //
+ createChildMenuManager = new MenuManager(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ submenuManager.insertBefore("additions", createChildMenuManager);
+
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new MenuManager(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener
+ (new IMenuListener() {
+ public void menuAboutToShow(IMenuManager menuManager) {
+ menuManager.updateAll(true);
+ }
+ });
+
+ addGlobalActions(submenuManager);
+ }
+
+ /**
+ * When the active editor changes, this remembers the change and registers with it as a selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setActiveEditor(IEditorPart part) {
+ super.setActiveEditor(part);
+ activeEditorPart = part;
+
+ // Switch to the new selection provider.
+ //
+ if (selectionProvider != null) {
+ selectionProvider.removeSelectionChangedListener(this);
+ }
+ if (part == null) {
+ selectionProvider = null;
+ }
+ else {
+ selectionProvider = part.getSite().getSelectionProvider();
+ selectionProvider.addSelectionChangedListener(this);
+
+ // Fake a selection changed event to update the menus.
+ //
+ if (selectionProvider.getSelection() != null) {
+ selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+ }
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+ * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+ * that can be added to the selected object and updating the menus accordingly.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void selectionChanged(SelectionChangedEvent event) {
+ // Remove any menu items for old selection.
+ //
+ if (createChildMenuManager != null) {
+ depopulateManager(createChildMenuManager, createChildSubmenuActions);
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if (createSiblingMenuManager != null) {
+ depopulateManager(createSiblingMenuManager, createSiblingSubmenuActions);
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection<?> newChildDescriptors = null;
+ Collection<?> newSiblingDescriptors = null;
+
+ ISelection selection = event.getSelection();
+ if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+
+ EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+ createChildSubmenuActions = extractSubmenuActions(createChildActions);
+ createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+ createSiblingSubmenuActions = extractSubmenuActions(createSiblingActions);
+
+ if (createChildMenuManager != null) {
+ populateManager(createChildMenuManager, createChildSubmenuActions, null);
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if (createSiblingMenuManager != null) {
+ populateManager(createSiblingMenuManager, createSiblingSubmenuActions, null);
+ populateManager(createSiblingMenuManager, createSiblingActions, null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+ * by inserting them before the specified contribution item <code>contributionID</code>.
+ * If <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+ if (actions != null) {
+ for (IAction action : actions) {
+ if (contributionID != null) {
+ manager.insertBefore(contributionID, action);
+ }
+ else {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+ if (actions != null) {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++) {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while (contributionItem instanceof SubContributionItem) {
+ contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+ }
+
+ // Delete the ActionContributionItems with matching action.
+ //
+ if (contributionItem instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem)contributionItem).getAction();
+ if (actions.contains(action)) {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This extracts those actions in the <code>submenuActions</code> collection whose text is qualified and returns
+ * a map of these actions, keyed by submenu text.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Map<String, Collection<IAction>> extractSubmenuActions(Collection<IAction> createActions) {
+ Map<String, Collection<IAction>> createSubmenuActions = new LinkedHashMap<String, Collection<IAction>>();
+ if (createActions != null) {
+ for (Iterator<IAction> actions = createActions.iterator(); actions.hasNext(); ) {
+ IAction action = actions.next();
+ StringTokenizer st = new StringTokenizer(action.getText(), "|");
+ if (st.countTokens() == 2) {
+ String text = st.nextToken().trim();
+ Collection<IAction> submenuActions = createSubmenuActions.get(text);
+ if (submenuActions == null) {
+ createSubmenuActions.put(text, submenuActions = new ArrayList<IAction>());
+ }
+ action.setText(st.nextToken().trim());
+ submenuActions.add(action);
+ actions.remove();
+ }
+ }
+ }
+ return createSubmenuActions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.MenuManager}s containing
+ * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s
+ * contained in the <code>submenuActions</code> collection, by inserting them before the specified contribution
+ * item <code>contributionID</code>.
+ * If <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Map<String, Collection<IAction>> submenuActions, String contributionID) {
+ if (submenuActions != null) {
+ for (Map.Entry<String, Collection<IAction>> entry : submenuActions.entrySet()) {
+ MenuManager submenuManager = new MenuManager(entry.getKey());
+ if (contributionID != null) {
+ manager.insertBefore(contributionID, submenuManager);
+ }
+ else {
+ manager.add(submenuManager);
+ }
+ populateManager(submenuManager, entry.getValue(), null);
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.MenuManager}s and their
+ * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s
+ * contained in the <code>submenuActions</code> map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Map<String, Collection<IAction>> submenuActions) {
+ if (submenuActions != null) {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++) {
+ IContributionItem contributionItem = items[i];
+ if (contributionItem instanceof MenuManager) {
+ MenuManager submenuManager = (MenuManager)contributionItem;
+ if (submenuActions.containsKey(submenuManager.getMenuText())) {
+ depopulateManager(submenuManager, submenuActions.get(contributionItem));
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager) {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+
+ submenuManager = new MenuManager(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ populateManager(submenuManager, createChildSubmenuActions, null);
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+
+ submenuManager = new MenuManager(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ populateManager(submenuManager, createSiblingSubmenuActions, null);
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void addGlobalActions(IMenuManager menuManager) {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted objects.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean removeAllReferencesOnDelete() {
+ return true;
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationEditor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationEditor.java
new file mode 100644
index 00000000000..659cb828087
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationEditor.java
@@ -0,0 +1,1799 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.presentation;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.ViewerPane;
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.provider.EcoreItemProviderAdapterFactory;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryItemProviderAdapterFactory;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.util.LocalSelectionTransfer;
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider.InvariantSemanticTypeConfigurationItemProviderAdapterFactory;
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedtypesItemProviderAdapterFactory;
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationItemProviderAdapterFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.dialogs.SaveAsDialog;
+import org.eclipse.ui.ide.IGotoMarker;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory;
+
+
+/**
+ * This is an example of a InvariantSemanticTypeConfiguration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantSemanticTypeConfigurationEditor
+ extends MultiPageEditorPart
+ implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+ /**
+ * This keeps track of the editing domain that is used to track all changes to the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AdapterFactoryEditingDomain editingDomain;
+
+ /**
+ * This is the one adapter factory used for providing views of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory adapterFactory;
+
+ /**
+ * This is the content outline page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IContentOutlinePage contentOutlinePage;
+
+ /**
+ * This is a kludge...
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStatusLineManager contentOutlineStatusLineManager;
+
+ /**
+ * This is the content outline page's viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer contentOutlineViewer;
+
+ /**
+ * This is the property sheet page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
+
+ /**
+ * This is the viewer that shadows the selection in the content outline.
+ * The parent relation must be correctly defined for this to work.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer selectionViewer;
+
+ /**
+ * This inverts the roll of parent and child in the content provider and show parents as a tree.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer parentViewer;
+
+ /**
+ * This shows how a tree view works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewer;
+
+ /**
+ * This shows how a list view works.
+ * A list viewer doesn't support icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListViewer listViewer;
+
+ /**
+ * This shows how a table view works.
+ * A table can be used as a list with icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TableViewer tableViewer;
+
+ /**
+ * This shows how a tree view with columns works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewerWithColumns;
+
+ /**
+ * This keeps track of the active viewer pane, in the book.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ViewerPane currentViewerPane;
+
+ /**
+ * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Viewer currentViewer;
+
+ /**
+ * This listens to which ever viewer is active.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelectionChangedListener selectionChangedListener;
+
+ /**
+ * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+ /**
+ * This keeps track of the selection of the editor as a whole.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+ /**
+ * The MarkerHelper is responsible for creating workspace resource markers presented
+ * in Eclipse's Problems View.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+ /**
+ * This listens for when the outline becomes active
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IPartListener partListener =
+ new IPartListener() {
+ public void partActivated(IWorkbenchPart p) {
+ if (p instanceof ContentOutline) {
+ if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) {
+ getActionBarContributor().setActiveEditor(InvariantSemanticTypeConfigurationEditor.this);
+
+ setCurrentViewer(contentOutlineViewer);
+ }
+ }
+ else if (p instanceof PropertySheet) {
+ if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
+ getActionBarContributor().setActiveEditor(InvariantSemanticTypeConfigurationEditor.this);
+ handleActivate();
+ }
+ }
+ else if (p == InvariantSemanticTypeConfigurationEditor.this) {
+ handleActivate();
+ }
+ }
+ public void partBroughtToTop(IWorkbenchPart p) {
+ // Ignore.
+ }
+ public void partClosed(IWorkbenchPart p) {
+ // Ignore.
+ }
+ public void partDeactivated(IWorkbenchPart p) {
+ // Ignore.
+ }
+ public void partOpened(IWorkbenchPart p) {
+ // Ignore.
+ }
+ };
+
+ /**
+ * Resources that have been removed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been changed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been saved.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+ /**
+ * Map to store the diagnostic associated with a resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+ /**
+ * Controls whether the problem indication should be updated.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean updateProblemIndication = true;
+
+ /**
+ * Adapter used to update the problem indication when resources are demanded loaded.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EContentAdapter problemIndicationAdapter =
+ new EContentAdapter() {
+ @Override
+ public void notifyChanged(Notification notification) {
+ if (notification.getNotifier() instanceof Resource) {
+ switch (notification.getFeatureID(Resource.class)) {
+ case Resource.RESOURCE__IS_LOADED:
+ case Resource.RESOURCE__ERRORS:
+ case Resource.RESOURCE__WARNINGS: {
+ Resource resource = (Resource)notification.getNotifier();
+ Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource, diagnostic);
+ }
+ else {
+ resourceToDiagnosticMap.remove(resource);
+ }
+
+ if (updateProblemIndication) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ break;
+ }
+ }
+ }
+ else {
+ super.notifyChanged(notification);
+ }
+ }
+
+ @Override
+ protected void setTarget(Resource target) {
+ basicSetTarget(target);
+ }
+
+ @Override
+ protected void unsetTarget(Resource target) {
+ basicUnsetTarget(target);
+ resourceToDiagnosticMap.remove(target);
+ if (updateProblemIndication) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ }
+ };
+
+ /**
+ * This listens for workspace changes.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IResourceChangeListener resourceChangeListener =
+ new IResourceChangeListener() {
+ public void resourceChanged(IResourceChangeEvent event) {
+ IResourceDelta delta = event.getDelta();
+ try {
+ class ResourceDeltaVisitor implements IResourceDeltaVisitor {
+ protected ResourceSet resourceSet = editingDomain.getResourceSet();
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ public boolean visit(IResourceDelta delta) {
+ if (delta.getResource().getType() == IResource.FILE) {
+ if (delta.getKind() == IResourceDelta.REMOVED ||
+ delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) {
+ Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+ if (resource != null) {
+ if (delta.getKind() == IResourceDelta.REMOVED) {
+ removedResources.add(resource);
+ }
+ else if (!savedResources.remove(resource)) {
+ changedResources.add(resource);
+ }
+ }
+ }
+ return false;
+ }
+
+ return true;
+ }
+
+ public Collection<Resource> getChangedResources() {
+ return changedResources;
+ }
+
+ public Collection<Resource> getRemovedResources() {
+ return removedResources;
+ }
+ }
+
+ final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+ delta.accept(visitor);
+
+ if (!visitor.getRemovedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ removedResources.addAll(visitor.getRemovedResources());
+ if (!isDirty()) {
+ getSite().getPage().closeEditor(InvariantSemanticTypeConfigurationEditor.this, false);
+ }
+ }
+ });
+ }
+
+ if (!visitor.getChangedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ changedResources.addAll(visitor.getChangedResources());
+ if (getSite().getPage().getActiveEditor() == InvariantSemanticTypeConfigurationEditor.this) {
+ handleActivate();
+ }
+ }
+ });
+ }
+ }
+ catch (CoreException exception) {
+ InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * Handles activation of the editor or it's associated views.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void handleActivate() {
+ // Recompute the read only state.
+ //
+ if (editingDomain.getResourceToReadOnlyMap() != null) {
+ editingDomain.getResourceToReadOnlyMap().clear();
+
+ // Refresh any actions that may become enabled or disabled.
+ //
+ setSelection(getSelection());
+ }
+
+ if (!removedResources.isEmpty()) {
+ if (handleDirtyConflict()) {
+ getSite().getPage().closeEditor(InvariantSemanticTypeConfigurationEditor.this, false);
+ }
+ else {
+ removedResources.clear();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+ else if (!changedResources.isEmpty()) {
+ changedResources.removeAll(savedResources);
+ handleChangedResources();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+
+ /**
+ * Handles what to do with changed resources on activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void handleChangedResources() {
+ if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+ if (isDirty()) {
+ changedResources.addAll(editingDomain.getResourceSet().getResources());
+ }
+ editingDomain.getCommandStack().flush();
+
+ updateProblemIndication = false;
+ for (Resource resource : changedResources) {
+ if (resource.isLoaded()) {
+ resource.unload();
+ try {
+ resource.load(Collections.EMPTY_MAP);
+ }
+ catch (IOException exception) {
+ if (!resourceToDiagnosticMap.containsKey(resource)) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ }
+ }
+ }
+
+ if (AdapterFactoryEditingDomain.isStale(editorSelection)) {
+ setSelection(StructuredSelection.EMPTY);
+ }
+
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+ }
+
+ /**
+ * Updates the problems indication with the information described in the specified diagnostic.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void updateProblemIndication() {
+ if (updateProblemIndication) {
+ BasicDiagnostic diagnostic =
+ new BasicDiagnostic
+ (Diagnostic.OK,
+ "org.eclipse.papyrus.infra.extendedtypes.editor",
+ 0,
+ null,
+ new Object [] { editingDomain.getResourceSet() });
+ for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) {
+ if (childDiagnostic.getSeverity() != Diagnostic.OK) {
+ diagnostic.add(childDiagnostic);
+ }
+ }
+
+ int lastEditorPage = getPageCount() - 1;
+ if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) {
+ ((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ setActivePage(lastEditorPage);
+ }
+ }
+ else if (diagnostic.getSeverity() != Diagnostic.OK) {
+ ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+ problemEditorPart.setDiagnostic(diagnostic);
+ problemEditorPart.setMarkerHelper(markerHelper);
+ try {
+ addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+ setPageText(lastEditorPage, problemEditorPart.getPartName());
+ setActivePage(lastEditorPage);
+ showTabs();
+ }
+ catch (PartInitException exception) {
+ InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+ markerHelper.deleteMarkers(editingDomain.getResourceSet());
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ try {
+ markerHelper.createMarkers(diagnostic);
+ }
+ catch (CoreException exception) {
+ InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Shows a dialog that asks if conflicting changes should be discarded.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean handleDirtyConflict() {
+ return
+ MessageDialog.openQuestion
+ (getSite().getShell(),
+ getString("_UI_FileConflict_label"),
+ getString("_WARN_FileConflict"));
+ }
+
+ /**
+ * This creates a model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationEditor() {
+ super();
+ initializeEditingDomain();
+ }
+
+ /**
+ * This sets up the editing domain for the model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void initializeEditingDomain() {
+ // Create an adapter factory that yields item providers.
+ //
+ adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+ adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new InvariantSemanticTypeConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new EcoreItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ExtendedtypesItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new QueryItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new UMLItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+ // Create the command stack that will notify this editor as commands are executed.
+ //
+ BasicCommandStack commandStack = new BasicCommandStack();
+
+ // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+ //
+ commandStack.addCommandStackListener
+ (new CommandStackListener() {
+ public void commandStackChanged(final EventObject event) {
+ getContainer().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+
+ // Try to select the affected objects.
+ //
+ Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+ if (mostRecentCommand != null) {
+ setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+ }
+ for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+ PropertySheetPage propertySheetPage = i.next();
+ if (propertySheetPage.getControl().isDisposed()) {
+ i.remove();
+ }
+ else {
+ propertySheetPage.refresh();
+ }
+ }
+ }
+ });
+ }
+ });
+
+ // Create the editing domain with a special command stack.
+ //
+ editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+ }
+
+ /**
+ * This is here for the listener to be able to call it.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void firePropertyChange(int action) {
+ super.firePropertyChange(action);
+ }
+
+ /**
+ * This sets the selection into whichever viewer is active.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelectionToViewer(Collection<?> collection) {
+ final Collection<?> theSelection = collection;
+ // Make sure it's okay.
+ //
+ if (theSelection != null && !theSelection.isEmpty()) {
+ Runnable runnable =
+ new Runnable() {
+ public void run() {
+ // Try to select the items in the current content viewer of the editor.
+ //
+ if (currentViewer != null) {
+ currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+ }
+ }
+ };
+ getSite().getShell().getDisplay().asyncExec(runnable);
+ }
+ }
+
+ /**
+ * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+ * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
+ * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EditingDomain getEditingDomain() {
+ return editingDomain;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object [] getElements(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object [] getChildren(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object) {
+ Object parent = super.getParent(object);
+ return parent != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getParent(Object object) {
+ return null;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCurrentViewerPane(ViewerPane viewerPane) {
+ if (currentViewerPane != viewerPane) {
+ if (currentViewerPane != null) {
+ currentViewerPane.showFocus(false);
+ }
+ currentViewerPane = viewerPane;
+ }
+ setCurrentViewer(currentViewerPane.getViewer());
+ }
+
+ /**
+ * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
+ * is the current one.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCurrentViewer(Viewer viewer) {
+ // If it is changing...
+ //
+ if (currentViewer != viewer) {
+ if (selectionChangedListener == null) {
+ // Create the listener on demand.
+ //
+ selectionChangedListener =
+ new ISelectionChangedListener() {
+ // This just notifies those things that are affected by the section.
+ //
+ public void selectionChanged(SelectionChangedEvent selectionChangedEvent) {
+ setSelection(selectionChangedEvent.getSelection());
+ }
+ };
+ }
+
+ // Stop listening to the old one.
+ //
+ if (currentViewer != null) {
+ currentViewer.removeSelectionChangedListener(selectionChangedListener);
+ }
+
+ // Start listening to the new one.
+ //
+ if (viewer != null) {
+ viewer.addSelectionChangedListener(selectionChangedListener);
+ }
+
+ // Remember it.
+ //
+ currentViewer = viewer;
+
+ // Set the editors selection based on the current viewer's selection.
+ //
+ setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
+ }
+ }
+
+ /**
+ * This returns the viewer as required by the {@link IViewerProvider} interface.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Viewer getViewer() {
+ return currentViewer;
+ }
+
+ /**
+ * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createContextMenuFor(StructuredViewer viewer) {
+ MenuManager contextMenu = new MenuManager("#PopUp");
+ contextMenu.add(new Separator("additions"));
+ contextMenu.setRemoveAllWhenShown(true);
+ contextMenu.addMenuListener(this);
+ Menu menu= contextMenu.createContextMenu(viewer.getControl());
+ viewer.getControl().setMenu(menu);
+ getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+
+ int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+ Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
+ viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+ viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
+ }
+
+ /**
+ * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createModel() {
+ URI resourceURI = EditUIUtil.getURI(getEditorInput());
+ Exception exception = null;
+ Resource resource = null;
+ try {
+ // Load the resource through the editing domain.
+ //
+ resource = editingDomain.getResourceSet().getResource(resourceURI, true);
+ }
+ catch (Exception e) {
+ exception = e;
+ resource = editingDomain.getResourceSet().getResource(resourceURI, false);
+ }
+
+ Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
+ }
+
+ /**
+ * Returns a diagnostic describing the errors and warnings listed in the resource
+ * and the specified exception (if any).
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) {
+ if (!resource.getErrors().isEmpty() || !resource.getWarnings().isEmpty()) {
+ BasicDiagnostic basicDiagnostic =
+ new BasicDiagnostic
+ (Diagnostic.ERROR,
+ "org.eclipse.papyrus.infra.extendedtypes.editor",
+ 0,
+ getString("_UI_CreateModelError_message", resource.getURI()),
+ new Object [] { exception == null ? (Object)resource : exception });
+ basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+ return basicDiagnostic;
+ }
+ else if (exception != null) {
+ return
+ new BasicDiagnostic
+ (Diagnostic.ERROR,
+ "org.eclipse.papyrus.infra.extendedtypes.editor",
+ 0,
+ getString("_UI_CreateModelError_message", resource.getURI()),
+ new Object[] { exception });
+ }
+ else {
+ return Diagnostic.OK_INSTANCE;
+ }
+ }
+
+ /**
+ * This is the method used by the framework to install your own controls.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void createPages() {
+ // Creates the model from the editor input
+ //
+ createModel();
+
+ // Only creates the other pages if there is something that can be edited
+ //
+ if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
+ // Create a page for the selection tree view.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), InvariantSemanticTypeConfigurationEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ selectionViewer = (TreeViewer)viewerPane.getViewer();
+ selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+
+ selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+ viewerPane.setTitle(editingDomain.getResourceSet());
+
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_SelectionPage_label"));
+ }
+
+ // Create a page for the parent tree view.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), InvariantSemanticTypeConfigurationEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ parentViewer = (TreeViewer)viewerPane.getViewer();
+ parentViewer.setAutoExpandLevel(30);
+ parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+ parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(parentViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ParentPage_label"));
+ }
+
+ // This is the page for the list viewer
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), InvariantSemanticTypeConfigurationEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new ListViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ listViewer = (ListViewer)viewerPane.getViewer();
+ listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(listViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ListPage_label"));
+ }
+
+ // This is the page for the tree viewer
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), InvariantSemanticTypeConfigurationEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ treeViewer = (TreeViewer)viewerPane.getViewer();
+ treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+
+ createContextMenuFor(treeViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreePage_label"));
+ }
+
+ // This is the page for the table viewer.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), InvariantSemanticTypeConfigurationEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TableViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ tableViewer = (TableViewer)viewerPane.getViewer();
+
+ Table table = tableViewer.getTable();
+ TableLayout layout = new TableLayout();
+ table.setLayout(layout);
+ table.setHeaderVisible(true);
+ table.setLinesVisible(true);
+
+ TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(3, 100, true));
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));
+ objectColumn.setResizable(true);
+
+ TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(2, 100, true));
+ selfColumn.setText(getString("_UI_SelfColumn_label"));
+ selfColumn.setResizable(true);
+
+ tableViewer.setColumnProperties(new String [] {"a", "b"});
+ tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(tableViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TablePage_label"));
+ }
+
+ // This is the page for the table tree viewer.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), InvariantSemanticTypeConfigurationEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+
+ Tree tree = treeViewerWithColumns.getTree();
+ tree.setLayoutData(new FillLayout());
+ tree.setHeaderVisible(true);
+ tree.setLinesVisible(true);
+
+ TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));
+ objectColumn.setResizable(true);
+ objectColumn.setWidth(250);
+
+ TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+ selfColumn.setText(getString("_UI_SelfColumn_label"));
+ selfColumn.setResizable(true);
+ selfColumn.setWidth(200);
+
+ treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"});
+ treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(treeViewerWithColumns);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
+ }
+
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ setActivePage(0);
+ }
+ });
+ }
+
+ // Ensures that this editor will only display the page's tab
+ // area if there are more than one page
+ //
+ getContainer().addControlListener
+ (new ControlAdapter() {
+ boolean guard = false;
+ @Override
+ public void controlResized(ControlEvent event) {
+ if (!guard) {
+ guard = true;
+ hideTabs();
+ guard = false;
+ }
+ }
+ });
+
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+
+ /**
+ * If there is just one page in the multi-page editor part,
+ * this hides the single tab at the bottom.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void hideTabs() {
+ if (getPageCount() <= 1) {
+ setPageText(0, "");
+ if (getContainer() instanceof CTabFolder) {
+ ((CTabFolder)getContainer()).setTabHeight(1);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y + 6);
+ }
+ }
+ }
+
+ /**
+ * If there is more than one page in the multi-page editor part,
+ * this shows the tabs at the bottom.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void showTabs() {
+ if (getPageCount() > 1) {
+ setPageText(0, getString("_UI_SelectionPage_label"));
+ if (getContainer() instanceof CTabFolder) {
+ ((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y - 6);
+ }
+ }
+ }
+
+ /**
+ * This is used to track the active viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void pageChange(int pageIndex) {
+ super.pageChange(pageIndex);
+
+ if (contentOutlinePage != null) {
+ handleContentOutlineSelection(contentOutlinePage.getSelection());
+ }
+ }
+
+ /**
+ * This is how the framework determines which interfaces we implement.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("rawtypes")
+ @Override
+ public Object getAdapter(Class key) {
+ if (key.equals(IContentOutlinePage.class)) {
+ return showOutlineView() ? getContentOutlinePage() : null;
+ }
+ else if (key.equals(IPropertySheetPage.class)) {
+ return getPropertySheetPage();
+ }
+ else if (key.equals(IGotoMarker.class)) {
+ return this;
+ }
+ else {
+ return super.getAdapter(key);
+ }
+ }
+
+ /**
+ * This accesses a cached version of the content outliner.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IContentOutlinePage getContentOutlinePage() {
+ if (contentOutlinePage == null) {
+ // The content outline is just a tree.
+ //
+ class MyContentOutlinePage extends ContentOutlinePage {
+ @Override
+ public void createControl(Composite parent) {
+ super.createControl(parent);
+ contentOutlineViewer = getTreeViewer();
+ contentOutlineViewer.addSelectionChangedListener(this);
+
+ // Set up the tree viewer.
+ //
+ contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ contentOutlineViewer.setInput(editingDomain.getResourceSet());
+
+ // Make sure our popups work.
+ //
+ createContextMenuFor(contentOutlineViewer);
+
+ if (!editingDomain.getResourceSet().getResources().isEmpty()) {
+ // Select the root object in the view.
+ //
+ contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+ }
+ }
+
+ @Override
+ public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
+ super.makeContributions(menuManager, toolBarManager, statusLineManager);
+ contentOutlineStatusLineManager = statusLineManager;
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ }
+
+ contentOutlinePage = new MyContentOutlinePage();
+
+ // Listen to selection so that we can handle it is a special way.
+ //
+ contentOutlinePage.addSelectionChangedListener
+ (new ISelectionChangedListener() {
+ // This ensures that we handle selections correctly.
+ //
+ public void selectionChanged(SelectionChangedEvent event) {
+ handleContentOutlineSelection(event.getSelection());
+ }
+ });
+ }
+
+ return contentOutlinePage;
+ }
+
+ /**
+ * This accesses a cached version of the property sheet.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IPropertySheetPage getPropertySheetPage() {
+ PropertySheetPage propertySheetPage =
+ new ExtendedPropertySheetPage(editingDomain) {
+ @Override
+ public void setSelectionToViewer(List<?> selection) {
+ InvariantSemanticTypeConfigurationEditor.this.setSelectionToViewer(selection);
+ InvariantSemanticTypeConfigurationEditor.this.setFocus();
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ };
+ propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+ propertySheetPages.add(propertySheetPage);
+
+ return propertySheetPage;
+ }
+
+ /**
+ * This deals with how we want selection in the outliner to affect the other views.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void handleContentOutlineSelection(ISelection selection) {
+ if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
+ Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
+ if (selectedElements.hasNext()) {
+ // Get the first selected element.
+ //
+ Object selectedElement = selectedElements.next();
+
+ // If it's the selection viewer, then we want it to select the same selection as this selection.
+ //
+ if (currentViewerPane.getViewer() == selectionViewer) {
+ ArrayList<Object> selectionList = new ArrayList<Object>();
+ selectionList.add(selectedElement);
+ while (selectedElements.hasNext()) {
+ selectionList.add(selectedElements.next());
+ }
+
+ // Set the selection to the widget.
+ //
+ selectionViewer.setSelection(new StructuredSelection(selectionList));
+ }
+ else {
+ // Set the input to the widget.
+ //
+ if (currentViewerPane.getViewer().getInput() != selectedElement) {
+ currentViewerPane.getViewer().setInput(selectedElement);
+ currentViewerPane.setTitle(selectedElement);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply tests the command stack.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDirty() {
+ return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply saves the model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void doSave(IProgressMonitor progressMonitor) {
+ // Save only resources that have actually changed.
+ //
+ final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+ saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+ saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
+
+ // Do the work within an operation because this is a long running activity that modifies the workbench.
+ //
+ WorkspaceModifyOperation operation =
+ new WorkspaceModifyOperation() {
+ // This is the method that gets invoked when the operation runs.
+ //
+ @Override
+ public void execute(IProgressMonitor monitor) {
+ // Save the resources to the file system.
+ //
+ boolean first = true;
+ for (Resource resource : editingDomain.getResourceSet().getResources()) {
+ if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) {
+ try {
+ long timeStamp = resource.getTimeStamp();
+ resource.save(saveOptions);
+ if (resource.getTimeStamp() != timeStamp) {
+ savedResources.add(resource);
+ }
+ }
+ catch (Exception exception) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ first = false;
+ }
+ }
+ }
+ };
+
+ updateProblemIndication = false;
+ try {
+ // This runs the options, and shows progress.
+ //
+ new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+
+ // Refresh the necessary state.
+ //
+ ((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+ }
+ catch (Exception exception) {
+ // Something went wrong that shouldn't.
+ //
+ InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+
+ /**
+ * This returns whether something has been persisted to the URI of the specified resource.
+ * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean isPersisted(Resource resource) {
+ boolean result = false;
+ try {
+ InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+ if (stream != null) {
+ result = true;
+ stream.close();
+ }
+ }
+ catch (IOException e) {
+ // Ignore
+ }
+ return result;
+ }
+
+ /**
+ * This always returns true because it is not currently supported.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSaveAsAllowed() {
+ return true;
+ }
+
+ /**
+ * This also changes the editor's input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void doSaveAs() {
+ SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+ saveAsDialog.open();
+ IPath path = saveAsDialog.getResult();
+ if (path != null) {
+ IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+ if (file != null) {
+ doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void doSaveAs(URI uri, IEditorInput editorInput) {
+ (editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ IProgressMonitor progressMonitor =
+ getActionBars().getStatusLineManager() != null ?
+ getActionBars().getStatusLineManager().getProgressMonitor() :
+ new NullProgressMonitor();
+ doSave(progressMonitor);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void gotoMarker(IMarker marker) {
+ List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+ if (!targetObjects.isEmpty()) {
+ setSelectionToViewer(targetObjects);
+ }
+ }
+
+ /**
+ * This is called during startup.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void init(IEditorSite site, IEditorInput editorInput) {
+ setSite(site);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ site.setSelectionProvider(this);
+ site.getPage().addPartListener(partListener);
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setFocus() {
+ if (currentViewerPane != null) {
+ currentViewerPane.setFocus();
+ }
+ else {
+ getControl(getActivePage()).setFocus();
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addSelectionChangedListener(ISelectionChangedListener listener) {
+ selectionChangedListeners.add(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void removeSelectionChangedListener(ISelectionChangedListener listener) {
+ selectionChangedListeners.remove(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ISelection getSelection() {
+ return editorSelection;
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+ * Calling this result will notify the listeners.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelection(ISelection selection) {
+ editorSelection = selection;
+
+ for (ISelectionChangedListener listener : selectionChangedListeners) {
+ listener.selectionChanged(new SelectionChangedEvent(this, selection));
+ }
+ setStatusLineManager(selection);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatusLineManager(ISelection selection) {
+ IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?
+ contentOutlineStatusLineManager : getActionBars().getStatusLineManager();
+
+ if (statusLineManager != null) {
+ if (selection instanceof IStructuredSelection) {
+ Collection<?> collection = ((IStructuredSelection)selection).toList();
+ switch (collection.size()) {
+ case 0: {
+ statusLineManager.setMessage(getString("_UI_NoObjectSelected"));
+ break;
+ }
+ case 1: {
+ String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+ statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text));
+ break;
+ }
+ default: {
+ statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size())));
+ break;
+ }
+ }
+ }
+ else {
+ statusLineManager.setMessage("");
+ }
+ }
+ }
+
+ /**
+ * This looks up a string in the plugin's plugin.properties file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static String getString(String key) {
+ return InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString(key);
+ }
+
+ /**
+ * This looks up a string in plugin.properties, making a substitution.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static String getString(String key, Object s1) {
+ return InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString(key, new Object [] { s1 });
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void menuAboutToShow(IMenuManager menuManager) {
+ ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EditingDomainActionBarContributor getActionBarContributor() {
+ return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IActionBars getActionBars() {
+ return getActionBarContributor().getActionBars();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AdapterFactory getAdapterFactory() {
+ return adapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ updateProblemIndication = false;
+
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+
+ getSite().getPage().removePartListener(partListener);
+
+ adapterFactory.dispose();
+
+ if (getActionBarContributor().getActiveEditor() == this) {
+ getActionBarContributor().setActiveEditor(null);
+ }
+
+ for (PropertySheetPage propertySheetPage : propertySheetPages) {
+ propertySheetPage.dispose();
+ }
+
+ if (contentOutlinePage != null) {
+ contentOutlinePage.dispose();
+ }
+
+ super.dispose();
+ }
+
+ /**
+ * Returns whether the outline view should be presented to the user.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean showOutlineView() {
+ return true;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationEditorPlugin.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationEditorPlugin.java
new file mode 100644
index 00000000000..c8448dc3f92
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationEditorPlugin.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.presentation;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.ui.EclipseUIPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryEditPlugin;
+
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the InvariantSemanticTypeConfiguration editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class InvariantSemanticTypeConfigurationEditorPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final InvariantSemanticTypeConfigurationEditorPlugin INSTANCE = new InvariantSemanticTypeConfigurationEditorPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationEditorPlugin() {
+ super
+ (new ResourceLocator [] {
+ ConfigurationEditPlugin.INSTANCE,
+ EcoreEditPlugin.INSTANCE,
+ ExtendedTypesEditPlugin.INSTANCE,
+ QueryEditPlugin.INSTANCE,
+ UMLEditPlugin.INSTANCE,
+ });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipseUIPlugin {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationModelWizard.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationModelWizard.java
new file mode 100644
index 00000000000..1ef98ada444
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/presentation/InvariantSemanticTypeConfigurationModelWizard.java
@@ -0,0 +1,637 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.presentation;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.CommonPlugin;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationFactory;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider.InvariantSemanticTypeConfigurationEditPlugin;
+
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantSemanticTypeConfigurationModelWizard extends Wizard implements INewWizard {
+ /**
+ * The supported extensions for created files.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<String> FILE_EXTENSIONS =
+ Collections.unmodifiableList(Arrays.asList(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantSemanticTypeConfigurationEditorFilenameExtensions").split("\\s*,\\s*")));
+
+ /**
+ * A formatted list of supported file extensions, suitable for display.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String FORMATTED_FILE_EXTENSIONS =
+ InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantSemanticTypeConfigurationEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+ /**
+ * This caches an instance of the model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantSemanticTypeConfigurationPackage invariantSemanticTypeConfigurationPackage = InvariantSemanticTypeConfigurationPackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantSemanticTypeConfigurationFactory invariantSemanticTypeConfigurationFactory = invariantSemanticTypeConfigurationPackage.getInvariantSemanticTypeConfigurationFactory();
+
+ /**
+ * This is the file creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantSemanticTypeConfigurationModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantSemanticTypeConfigurationModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+ /**
+ * Remember the selection during initialization for populating the default container.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStructuredSelection selection;
+
+ /**
+ * Remember the workbench during initialization.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IWorkbench workbench;
+
+ /**
+ * Caches the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected List<String> initialObjectNames;
+
+ /**
+ * This just records the information.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ this.workbench = workbench;
+ this.selection = selection;
+ setWindowTitle(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getImage("full/wizban/NewInvariantSemanticTypeConfiguration")));
+ }
+
+ /**
+ * Returns the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<String> getInitialObjectNames() {
+ if (initialObjectNames == null) {
+ initialObjectNames = new ArrayList<String>();
+ for (EClassifier eClassifier : invariantSemanticTypeConfigurationPackage.getEClassifiers()) {
+ if (eClassifier instanceof EClass) {
+ EClass eClass = (EClass)eClassifier;
+ if (!eClass.isAbstract()) {
+ initialObjectNames.add(eClass.getName());
+ }
+ }
+ }
+ Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
+ }
+ return initialObjectNames;
+ }
+
+ /**
+ * Create a new model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObject createInitialModel() {
+ EClass eClass = (EClass)invariantSemanticTypeConfigurationPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = invariantSemanticTypeConfigurationFactory.create(eClass);
+ return rootObject;
+ }
+
+ /**
+ * Do the work after everything is specified.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean performFinish() {
+ try {
+ // Remember the file.
+ //
+ final IFile modelFile = getModelFile();
+
+ // Do the work within an operation.
+ //
+ WorkspaceModifyOperation operation =
+ new WorkspaceModifyOperation() {
+ @Override
+ protected void execute(IProgressMonitor progressMonitor) {
+ try {
+ // Create a resource set
+ //
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ // Get the URI of the model file.
+ //
+ URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+
+ // Create a resource for this file.
+ //
+ Resource resource = resourceSet.createResource(fileURI);
+
+ // Add the initial model object to the contents.
+ //
+ EObject rootObject = createInitialModel();
+ if (rootObject != null) {
+ resource.getContents().add(rootObject);
+ }
+
+ // Save the contents of the resource to the file system.
+ //
+ Map<Object, Object> options = new HashMap<Object, Object>();
+ options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+ resource.save(options);
+ }
+ catch (Exception exception) {
+ InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ finally {
+ progressMonitor.done();
+ }
+ }
+ };
+
+ getContainer().run(false, false, operation);
+
+ // Select the new file resource in the current view.
+ //
+ IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ final IWorkbenchPart activePart = page.getActivePart();
+ if (activePart instanceof ISetSelectionTarget) {
+ final ISelection targetSelection = new StructuredSelection(modelFile);
+ getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+ }
+ });
+ }
+
+ // Open an editor on the new file.
+ //
+ try {
+ page.openEditor
+ (new FileEditorInput(modelFile),
+ workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());
+ }
+ catch (PartInitException exception) {
+ MessageDialog.openError(workbenchWindow.getShell(), InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception exception) {
+ InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class InvariantSemanticTypeConfigurationModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) {
+ super(pageId, selection);
+ }
+
+ /**
+ * The framework calls this to see if the file is correct.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean validatePage() {
+ if (super.validatePage()) {
+ String extension = new Path(getFileName()).getFileExtension();
+ if (extension == null || !FILE_EXTENSIONS.contains(extension)) {
+ String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";
+ setErrorMessage(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile() {
+ return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+ }
+ }
+
+ /**
+ * This is the page where the type of object to create is selected.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class InvariantSemanticTypeConfigurationModelWizardInitialObjectCreationPage extends WizardPage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo initialObjectField;
+
+ /**
+ * @generated
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ */
+ protected List<String> encodings;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo encodingField;
+
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationModelWizardInitialObjectCreationPage(String pageId) {
+ super(pageId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE); {
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.verticalSpacing = 12;
+ composite.setLayout(layout);
+
+ GridData data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.grabExcessVerticalSpace = true;
+ data.horizontalAlignment = GridData.FILL;
+ composite.setLayoutData(data);
+ }
+
+ Label containerLabel = new Label(composite, SWT.LEFT);
+ {
+ containerLabel.setText(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_ModelObject"));
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ containerLabel.setLayoutData(data);
+ }
+
+ initialObjectField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ initialObjectField.setLayoutData(data);
+ }
+
+ for (String objectName : getInitialObjectNames()) {
+ initialObjectField.add(getLabel(objectName));
+ }
+
+ if (initialObjectField.getItemCount() == 1) {
+ initialObjectField.select(0);
+ }
+ initialObjectField.addModifyListener(validator);
+
+ Label encodingLabel = new Label(composite, SWT.LEFT);
+ {
+ encodingLabel.setText(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_XMLEncoding"));
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ encodingLabel.setLayoutData(data);
+ }
+ encodingField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ encodingField.setLayoutData(data);
+ }
+
+ for (String encoding : getEncodings()) {
+ encodingField.add(encoding);
+ }
+
+ encodingField.select(0);
+ encodingField.addModifyListener(validator);
+
+ setPageComplete(validatePage());
+ setControl(composite);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifyListener validator =
+ new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ setPageComplete(validatePage());
+ }
+ };
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean validatePage() {
+ return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ if (visible) {
+ if (initialObjectField.getItemCount() == 1) {
+ initialObjectField.clearSelection();
+ encodingField.setFocus();
+ }
+ else {
+ encodingField.clearSelection();
+ initialObjectField.setFocus();
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getInitialObjectName() {
+ String label = initialObjectField.getText();
+
+ for (String name : getInitialObjectNames()) {
+ if (getLabel(name).equals(label)) {
+ return name;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEncoding() {
+ return encodingField.getText();
+ }
+
+ /**
+ * Returns the label for the specified type name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected String getLabel(String typeName) {
+ try {
+ return InvariantSemanticTypeConfigurationEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+ }
+ catch(MissingResourceException mre) {
+ InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.log(mre);
+ }
+ return typeName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<String> getEncodings() {
+ if (encodings == null) {
+ encodings = new ArrayList<String>();
+ for (StringTokenizer stringTokenizer = new StringTokenizer(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) {
+ encodings.add(stringTokenizer.nextToken());
+ }
+ }
+ return encodings;
+ }
+ }
+
+ /**
+ * The framework calls this to create the contents of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void addPages() {
+ // Create a page, set the title, and the initial model file name.
+ //
+ newFileCreationPage = new InvariantSemanticTypeConfigurationModelWizardNewFileCreationPage("Whatever", selection);
+ newFileCreationPage.setTitle(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantSemanticTypeConfigurationModelWizard_label"));
+ newFileCreationPage.setDescription(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantSemanticTypeConfigurationModelWizard_description"));
+ newFileCreationPage.setFileName(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantSemanticTypeConfigurationEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
+ addPage(newFileCreationPage);
+
+ // Try and get the resource selection to determine a current directory for the file dialog.
+ //
+ if (selection != null && !selection.isEmpty()) {
+ // Get the resource...
+ //
+ Object selectedElement = selection.iterator().next();
+ if (selectedElement instanceof IResource) {
+ // Get the resource parent, if its a file.
+ //
+ IResource selectedResource = (IResource)selectedElement;
+ if (selectedResource.getType() == IResource.FILE) {
+ selectedResource = selectedResource.getParent();
+ }
+
+ // This gives us a directory...
+ //
+ if (selectedResource instanceof IFolder || selectedResource instanceof IProject) {
+ // Set this for the container.
+ //
+ newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+
+ // Make up a unique new name here.
+ //
+ String defaultModelBaseFilename = InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantSemanticTypeConfigurationEditorFilenameDefaultBase");
+ String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
+ String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;
+ for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
+ modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;
+ }
+ newFileCreationPage.setFileName(modelFilename);
+ }
+ }
+ }
+ initialObjectCreationPage = new InvariantSemanticTypeConfigurationModelWizardInitialObjectCreationPage("Whatever2");
+ initialObjectCreationPage.setTitle(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantSemanticTypeConfigurationModelWizard_label"));
+ initialObjectCreationPage.setDescription(InvariantSemanticTypeConfigurationEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description"));
+ addPage(initialObjectCreationPage);
+ }
+
+ /**
+ * Get the file from the page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile() {
+ return newFileCreationPage.getModelFile();
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedTypesEditorPlugin.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedTypesEditorPlugin.java
new file mode 100644
index 00000000000..7be2b0f4d6d
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedTypesEditorPlugin.java
@@ -0,0 +1,103 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.presentation;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.ui.EclipseUIPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryEditPlugin;
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationEditPlugin;
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the ExtendedTypes editor plugin. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public final class ExtendedTypesEditorPlugin extends EMFPlugin {
+
+ /**
+ * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public static final ExtendedTypesEditorPlugin INSTANCE = new ExtendedTypesEditorPlugin();
+
+ /**
+ * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedTypesEditorPlugin() {
+ super(new ResourceLocator[]{ ConfigurationEditPlugin.INSTANCE, EcoreEditPlugin.INSTANCE, QueryEditPlugin.INSTANCE, UMLEditPlugin.INSTANCE, });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static class Implementation extends EclipseUIPlugin {
+
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Implementation() {
+ super();
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedtypesActionBarContributor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedtypesActionBarContributor.java
new file mode 100644
index 00000000000..402a0f47207
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedtypesActionBarContributor.java
@@ -0,0 +1,527 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the Extendedtypes model editor. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ExtendedtypesActionBarContributor extends EditingDomainActionBarContributor implements ISelectionChangedListener {
+
+ /**
+ * This keeps track of the active editor.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IEditorPart activeEditorPart;
+
+ /**
+ * This keeps track of the current selection provider.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ISelectionProvider selectionProvider;
+
+ /**
+ * This action opens the Properties view.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IAction showPropertiesViewAction = new Action(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) //$NON-NLS-1$
+ {
+
+ @Override
+ public void run() {
+ try {
+ getPage().showView("org.eclipse.ui.views.PropertySheet"); //$NON-NLS-1$
+ } catch (PartInitException exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * This action refreshes the viewer of the current editor if the editor
+ * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IAction refreshViewerAction = new Action(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) //$NON-NLS-1$
+ {
+
+ @Override
+ public boolean isEnabled() {
+ return activeEditorPart instanceof IViewerProvider;
+ }
+
+ @Override
+ public void run() {
+ if(activeEditorPart instanceof IViewerProvider) {
+ Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+ if(viewer != null) {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<IAction> createChildActions;
+
+ /**
+ * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateChildAction}s, keyed by sub-menu text.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Map<String, Collection<IAction>> createChildSubmenuActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be
+ * added for CreateChild actions. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<IAction> createSiblingActions;
+
+ /**
+ * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction}s, keyed by submenu text.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Map<String, Collection<IAction>> createSiblingSubmenuActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedtypesActionBarContributor() {
+ super(ADDITIONS_LAST_STYLE);
+ loadResourceAction = new LoadResourceAction();
+ validateAction = new ValidateAction();
+ controlAction = new ControlAction();
+ }
+
+ /**
+ * This adds Separators for editor additions to the tool bar. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void contributeToToolBar(IToolBarManager toolBarManager) {
+ toolBarManager.add(new Separator("extendedtypes-settings")); //$NON-NLS-1$
+ toolBarManager.add(new Separator("extendedtypes-additions")); //$NON-NLS-1$
+ }
+
+ /**
+ * This adds to the menu bar a menu and some separators for editor
+ * additions, as well as the sub-menus for object creation items. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void contributeToMenu(IMenuManager menuManager) {
+ super.contributeToMenu(menuManager);
+ IMenuManager submenuManager = new MenuManager(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesEditor_menu"), "org.eclipse.papyrus.infra.extendedtypesMenuID"); //$NON-NLS-1$ //$NON-NLS-2$
+ menuManager.insertAfter("additions", submenuManager); //$NON-NLS-1$
+ submenuManager.add(new Separator("settings")); //$NON-NLS-1$
+ submenuManager.add(new Separator("actions")); //$NON-NLS-1$
+ submenuManager.add(new Separator("additions")); //$NON-NLS-1$
+ submenuManager.add(new Separator("additions-end")); //$NON-NLS-1$
+ // Prepare for CreateChild item addition or removal.
+ //
+ createChildMenuManager = new MenuManager(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); //$NON-NLS-1$
+ submenuManager.insertBefore("additions", createChildMenuManager); //$NON-NLS-1$
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new MenuManager(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); //$NON-NLS-1$
+ submenuManager.insertBefore("additions", createSiblingMenuManager); //$NON-NLS-1$
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener(new IMenuListener() {
+
+ public void menuAboutToShow(IMenuManager menuManager) {
+ menuManager.updateAll(true);
+ }
+ });
+ addGlobalActions(submenuManager);
+ }
+
+ /**
+ * When the active editor changes, this remembers the change and registers with it as a selection provider.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setActiveEditor(IEditorPart part) {
+ super.setActiveEditor(part);
+ activeEditorPart = part;
+ // Switch to the new selection provider.
+ //
+ if(selectionProvider != null) {
+ selectionProvider.removeSelectionChangedListener(this);
+ }
+ if(part == null) {
+ selectionProvider = null;
+ } else {
+ selectionProvider = part.getSite().getSelectionProvider();
+ selectionProvider.addSelectionChangedListener(this);
+ // Fake a selection changed event to update the menus.
+ //
+ if(selectionProvider.getSelection() != null) {
+ selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+ }
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener}, handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s
+ * by querying for
+ * the children and siblings that can be added to the selected object and
+ * updating the menus accordingly. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public void selectionChanged(SelectionChangedEvent event) {
+ // Remove any menu items for old selection.
+ //
+ if(createChildMenuManager != null) {
+ depopulateManager(createChildMenuManager, createChildSubmenuActions);
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if(createSiblingMenuManager != null) {
+ depopulateManager(createSiblingMenuManager, createSiblingSubmenuActions);
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection<?> newChildDescriptors = null;
+ Collection<?> newSiblingDescriptors = null;
+ ISelection selection = event.getSelection();
+ if(selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+ EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+ createChildSubmenuActions = extractSubmenuActions(createChildActions);
+ createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+ createSiblingSubmenuActions = extractSubmenuActions(createSiblingActions);
+ if(createChildMenuManager != null) {
+ populateManager(createChildMenuManager, createChildSubmenuActions, null);
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if(createSiblingMenuManager != null) {
+ populateManager(createSiblingMenuManager, createSiblingSubmenuActions, null);
+ populateManager(createSiblingMenuManager, createSiblingActions, null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if(descriptors != null) {
+ for(Object descriptor : descriptors) {
+ actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if(descriptors != null) {
+ for(Object descriptor : descriptors) {
+ actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+ * by inserting them before the specified contribution item <code>contributionID</code>.
+ * If <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+ if(actions != null) {
+ for(IAction action : actions) {
+ if(contributionID != null) {
+ manager.insertBefore(contributionID, action);
+ } else {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+ if(actions != null) {
+ IContributionItem[] items = manager.getItems();
+ for(int i = 0; i < items.length; i++) {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while(contributionItem instanceof SubContributionItem) {
+ contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+ }
+ // Delete the ActionContributionItems with matching action.
+ //
+ if(contributionItem instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem)contributionItem).getAction();
+ if(actions.contains(action)) {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This extracts those actions in the <code>submenuActions</code> collection whose text is qualified and returns
+ * a map of these actions, keyed by submenu text.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Map<String, Collection<IAction>> extractSubmenuActions(Collection<IAction> createActions) {
+ Map<String, Collection<IAction>> createSubmenuActions = new LinkedHashMap<String, Collection<IAction>>();
+ if(createActions != null) {
+ for(Iterator<IAction> actions = createActions.iterator(); actions.hasNext();) {
+ IAction action = actions.next();
+ StringTokenizer st = new StringTokenizer(action.getText(), "|"); //$NON-NLS-1$
+ if(st.countTokens() == 2) {
+ String text = st.nextToken().trim();
+ Collection<IAction> submenuActions = createSubmenuActions.get(text);
+ if(submenuActions == null) {
+ createSubmenuActions.put(text, submenuActions = new ArrayList<IAction>());
+ }
+ action.setText(st.nextToken().trim());
+ submenuActions.add(action);
+ actions.remove();
+ }
+ }
+ }
+ return createSubmenuActions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.MenuManager}s containing
+ * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s
+ * contained in the <code>submenuActions</code> collection, by inserting them before the specified contribution
+ * item <code>contributionID</code>.
+ * If <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Map<String, Collection<IAction>> submenuActions, String contributionID) {
+ if(submenuActions != null) {
+ for(Map.Entry<String, Collection<IAction>> entry : submenuActions.entrySet()) {
+ MenuManager submenuManager = new MenuManager(entry.getKey());
+ if(contributionID != null) {
+ manager.insertBefore(contributionID, submenuManager);
+ } else {
+ manager.add(submenuManager);
+ }
+ populateManager(submenuManager, entry.getValue(), null);
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.MenuManager}s and their
+ * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s
+ * contained in the <code>submenuActions</code> map.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Map<String, Collection<IAction>> submenuActions) {
+ if(submenuActions != null) {
+ IContributionItem[] items = manager.getItems();
+ for(int i = 0; i < items.length; i++) {
+ IContributionItem contributionItem = items[i];
+ if(contributionItem instanceof MenuManager) {
+ MenuManager submenuManager = (MenuManager)contributionItem;
+ if(submenuActions.containsKey(submenuManager.getMenuText())) {
+ depopulateManager(submenuManager, submenuActions.get(contributionItem));
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager) {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+ submenuManager = new MenuManager(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); //$NON-NLS-1$
+ populateManager(submenuManager, createChildSubmenuActions, null);
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager); //$NON-NLS-1$
+ submenuManager = new MenuManager(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); //$NON-NLS-1$
+ populateManager(submenuManager, createSiblingSubmenuActions, null);
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager); //$NON-NLS-1$
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void addGlobalActions(IMenuManager menuManager) {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions")); //$NON-NLS-1$ //$NON-NLS-2$
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction); //$NON-NLS-1$
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction); //$NON-NLS-1$
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted objects.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean removeAllReferencesOnDelete() {
+ return true;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedtypesEditor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedtypesEditor.java
new file mode 100644
index 00000000000..65b543dbb80
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedtypesEditor.java
@@ -0,0 +1,1715 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.presentation;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.ViewerPane;
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.provider.EcoreItemProviderAdapterFactory;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryItemProviderAdapterFactory;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.util.LocalSelectionTransfer;
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedtypesItemProviderAdapterFactory;
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationItemProviderAdapterFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.dialogs.SaveAsDialog;
+import org.eclipse.ui.ide.IGotoMarker;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory;
+
+/**
+ * This is an example of a Extendedtypes model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ExtendedtypesEditor extends MultiPageEditorPart implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+
+ /**
+ * This keeps track of the editing domain that is used to track all changes to the model.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AdapterFactoryEditingDomain editingDomain;
+
+ /**
+ * This is the one adapter factory used for providing views of the model.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ComposedAdapterFactory adapterFactory;
+
+ /**
+ * This is the content outline page.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IContentOutlinePage contentOutlinePage;
+
+ /**
+ * This is a kludge...
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IStatusLineManager contentOutlineStatusLineManager;
+
+ /**
+ * This is the content outline page's viewer.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected TreeViewer contentOutlineViewer;
+
+ /**
+ * This is the property sheet page.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
+
+ /**
+ * This is the viewer that shadows the selection in the content outline. The
+ * parent relation must be correctly defined for this to work. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TreeViewer selectionViewer;
+
+ /**
+ * This inverts the roll of parent and child in the content provider and show parents as a tree.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TreeViewer parentViewer;
+
+ /**
+ * This shows how a tree view works.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected TreeViewer treeViewer;
+
+ /**
+ * This shows how a list view works.
+ * A list viewer doesn't support icons.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ListViewer listViewer;
+
+ /**
+ * This shows how a table view works.
+ * A table can be used as a list with icons.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TableViewer tableViewer;
+
+ /**
+ * This shows how a tree view with columns works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TreeViewer treeViewerWithColumns;
+
+ /**
+ * This keeps track of the active viewer pane, in the book. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ViewerPane currentViewerPane;
+
+ /**
+ * This keeps track of the active content viewer, which may be either one of
+ * the viewers in the pages or the content outline viewer. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Viewer currentViewer;
+
+ /**
+ * This listens to which ever viewer is active.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected ISelectionChangedListener selectionChangedListener;
+
+ /**
+ * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+ /**
+ * This keeps track of the selection of the editor as a whole. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+ /**
+ * The MarkerHelper is responsible for creating workspace resource markers presented
+ * in Eclipse's Problems View.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+ /**
+ * This listens for when the outline becomes active
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IPartListener partListener = new IPartListener() {
+
+ public void partActivated(IWorkbenchPart p) {
+ if(p instanceof ContentOutline) {
+ if(((ContentOutline)p).getCurrentPage() == contentOutlinePage) {
+ getActionBarContributor().setActiveEditor(ExtendedtypesEditor.this);
+ setCurrentViewer(contentOutlineViewer);
+ }
+ } else if(p instanceof PropertySheet) {
+ if(propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
+ getActionBarContributor().setActiveEditor(ExtendedtypesEditor.this);
+ handleActivate();
+ }
+ } else if(p == ExtendedtypesEditor.this) {
+ handleActivate();
+ }
+ }
+
+ public void partBroughtToTop(IWorkbenchPart p) {
+ // Ignore.
+ }
+
+ public void partClosed(IWorkbenchPart p) {
+ // Ignore.
+ }
+
+ public void partDeactivated(IWorkbenchPart p) {
+ // Ignore.
+ }
+
+ public void partOpened(IWorkbenchPart p) {
+ // Ignore.
+ }
+ };
+
+ /**
+ * Resources that have been removed since last activation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been changed since last activation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been saved. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+ /**
+ * Map to store the diagnostic associated with a resource. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+ /**
+ * Controls whether the problem indication should be updated. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected boolean updateProblemIndication = true;
+
+ /**
+ * Adapter used to update the problem indication when resources are demanded loaded.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EContentAdapter problemIndicationAdapter = new EContentAdapter() {
+
+ @Override
+ public void notifyChanged(Notification notification) {
+ if(notification.getNotifier() instanceof Resource) {
+ switch(notification.getFeatureID(Resource.class)) {
+ case Resource.RESOURCE__IS_LOADED:
+ case Resource.RESOURCE__ERRORS:
+ case Resource.RESOURCE__WARNINGS:
+ {
+ Resource resource = (Resource)notification.getNotifier();
+ Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+ if(diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource, diagnostic);
+ } else {
+ resourceToDiagnosticMap.remove(resource);
+ }
+ if(updateProblemIndication) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ break;
+ }
+ }
+ } else {
+ super.notifyChanged(notification);
+ }
+ }
+
+ @Override
+ protected void setTarget(Resource target) {
+ basicSetTarget(target);
+ }
+
+ @Override
+ protected void unsetTarget(Resource target) {
+ basicUnsetTarget(target);
+ resourceToDiagnosticMap.remove(target);
+ if(updateProblemIndication) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ }
+ };
+
+ /**
+ * This listens for workspace changes.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() {
+
+ public void resourceChanged(IResourceChangeEvent event) {
+ IResourceDelta delta = event.getDelta();
+ try {
+ class ResourceDeltaVisitor implements IResourceDeltaVisitor {
+
+ protected ResourceSet resourceSet = editingDomain.getResourceSet();
+
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ public boolean visit(IResourceDelta delta) {
+ if(delta.getResource().getType() == IResource.FILE) {
+ if(delta.getKind() == IResourceDelta.REMOVED || delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) {
+ Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+ if(resource != null) {
+ if(delta.getKind() == IResourceDelta.REMOVED) {
+ removedResources.add(resource);
+ } else if(!savedResources.remove(resource)) {
+ changedResources.add(resource);
+ }
+ }
+ }
+ return false;
+ }
+ return true;
+ }
+
+ public Collection<Resource> getChangedResources() {
+ return changedResources;
+ }
+
+ public Collection<Resource> getRemovedResources() {
+ return removedResources;
+ }
+ }
+ final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+ delta.accept(visitor);
+ if(!visitor.getRemovedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ removedResources.addAll(visitor.getRemovedResources());
+ if(!isDirty()) {
+ getSite().getPage().closeEditor(ExtendedtypesEditor.this, false);
+ }
+ }
+ });
+ }
+ if(!visitor.getChangedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ changedResources.addAll(visitor.getChangedResources());
+ if(getSite().getPage().getActiveEditor() == ExtendedtypesEditor.this) {
+ handleActivate();
+ }
+ }
+ });
+ }
+ } catch (CoreException exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * Handles activation of the editor or it's associated views. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void handleActivate() {
+ // Recompute the read only state.
+ //
+ if(editingDomain.getResourceToReadOnlyMap() != null) {
+ editingDomain.getResourceToReadOnlyMap().clear();
+ // Refresh any actions that may become enabled or disabled.
+ //
+ setSelection(getSelection());
+ }
+ if(!removedResources.isEmpty()) {
+ if(handleDirtyConflict()) {
+ getSite().getPage().closeEditor(ExtendedtypesEditor.this, false);
+ } else {
+ removedResources.clear();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ } else if(!changedResources.isEmpty()) {
+ changedResources.removeAll(savedResources);
+ handleChangedResources();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+
+ /**
+ * Handles what to do with changed resources on activation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void handleChangedResources() {
+ if(!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+ if(isDirty()) {
+ changedResources.addAll(editingDomain.getResourceSet().getResources());
+ }
+ editingDomain.getCommandStack().flush();
+ updateProblemIndication = false;
+ for(Resource resource : changedResources) {
+ if(resource.isLoaded()) {
+ resource.unload();
+ try {
+ resource.load(Collections.EMPTY_MAP);
+ } catch (IOException exception) {
+ if(!resourceToDiagnosticMap.containsKey(resource)) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ }
+ }
+ }
+ if(AdapterFactoryEditingDomain.isStale(editorSelection)) {
+ setSelection(StructuredSelection.EMPTY);
+ }
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+ }
+
+ /**
+ * Updates the problems indication with the information described in the specified diagnostic.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void updateProblemIndication() {
+ if(updateProblemIndication) {
+ BasicDiagnostic diagnostic = new BasicDiagnostic(Diagnostic.OK, "org.eclipse.papyrus.infra.extendedtypes.editor", //$NON-NLS-1$
+ 0, null, new Object[]{ editingDomain.getResourceSet() });
+ for(Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) {
+ if(childDiagnostic.getSeverity() != Diagnostic.OK) {
+ diagnostic.add(childDiagnostic);
+ }
+ }
+ int lastEditorPage = getPageCount() - 1;
+ if(lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) {
+ ((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+ if(diagnostic.getSeverity() != Diagnostic.OK) {
+ setActivePage(lastEditorPage);
+ }
+ } else if(diagnostic.getSeverity() != Diagnostic.OK) {
+ ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+ problemEditorPart.setDiagnostic(diagnostic);
+ problemEditorPart.setMarkerHelper(markerHelper);
+ try {
+ addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+ setPageText(lastEditorPage, problemEditorPart.getPartName());
+ setActivePage(lastEditorPage);
+ showTabs();
+ } catch (PartInitException exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ if(markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+ markerHelper.deleteMarkers(editingDomain.getResourceSet());
+ if(diagnostic.getSeverity() != Diagnostic.OK) {
+ try {
+ markerHelper.createMarkers(diagnostic);
+ } catch (CoreException exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Shows a dialog that asks if conflicting changes should be discarded. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected boolean handleDirtyConflict() {
+ return MessageDialog.openQuestion(getSite().getShell(), getString("_UI_FileConflict_label"), //$NON-NLS-1$
+ getString("_WARN_FileConflict")); //$NON-NLS-1$
+ }
+
+ /**
+ * This creates a model editor. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public ExtendedtypesEditor() {
+ super();
+ initializeEditingDomain();
+ }
+
+ /**
+ * This sets up the editing domain for the model editor.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void initializeEditingDomain() {
+ // Create an adapter factory that yields item providers.
+ //
+ adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+ adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ExtendedtypesItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new EcoreItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new QueryItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new UMLItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+ // Create the command stack that will notify this editor as commands are executed.
+ //
+ BasicCommandStack commandStack = new BasicCommandStack();
+ // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+ //
+ commandStack.addCommandStackListener(new CommandStackListener() {
+
+ public void commandStackChanged(final EventObject event) {
+ getContainer().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+ // Try to select the affected objects.
+ //
+ Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+ if(mostRecentCommand != null) {
+ setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+ }
+ for(Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext();) {
+ PropertySheetPage propertySheetPage = i.next();
+ if(propertySheetPage.getControl().isDisposed()) {
+ i.remove();
+ } else {
+ propertySheetPage.refresh();
+ }
+ }
+ }
+ });
+ }
+ });
+ // Create the editing domain with a special command stack.
+ //
+ editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+ }
+
+ /**
+ * This is here for the listener to be able to call it.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void firePropertyChange(int action) {
+ super.firePropertyChange(action);
+ }
+
+ /**
+ * This sets the selection into whichever viewer is active. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSelectionToViewer(Collection<?> collection) {
+ final Collection<?> theSelection = collection;
+ // Make sure it's okay.
+ //
+ if(theSelection != null && !theSelection.isEmpty()) {
+ Runnable runnable = new Runnable() {
+
+ public void run() {
+ // Try to select the items in the current content viewer of the editor.
+ //
+ if(currentViewer != null) {
+ currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+ }
+ }
+ };
+ getSite().getShell().getDisplay().asyncExec(runnable);
+ }
+ }
+
+ /**
+ * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+ * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain} and for supporting
+ * {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EditingDomain getEditingDomain() {
+ return editingDomain;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object[] getElements(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object[] getChildren(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object) {
+ Object parent = super.getParent(object);
+ return parent != null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getParent(Object object) {
+ return null;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCurrentViewerPane(ViewerPane viewerPane) {
+ if(currentViewerPane != viewerPane) {
+ if(currentViewerPane != null) {
+ currentViewerPane.showFocus(false);
+ }
+ currentViewerPane = viewerPane;
+ }
+ setCurrentViewer(currentViewerPane.getViewer());
+ }
+
+ /**
+ * This makes sure that one content viewer, either for the current page or
+ * the outline view, if it has focus, is the current one. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCurrentViewer(Viewer viewer) {
+ // If it is changing...
+ //
+ if(currentViewer != viewer) {
+ if(selectionChangedListener == null) {
+ // Create the listener on demand.
+ //
+ selectionChangedListener = new ISelectionChangedListener() {
+
+ // This just notifies those things that are affected by the section.
+ //
+ public void selectionChanged(SelectionChangedEvent selectionChangedEvent) {
+ setSelection(selectionChangedEvent.getSelection());
+ }
+ };
+ }
+ // Stop listening to the old one.
+ //
+ if(currentViewer != null) {
+ currentViewer.removeSelectionChangedListener(selectionChangedListener);
+ }
+ // Start listening to the new one.
+ //
+ if(viewer != null) {
+ viewer.addSelectionChangedListener(selectionChangedListener);
+ }
+ // Remember it.
+ //
+ currentViewer = viewer;
+ // Set the editors selection based on the current viewer's selection.
+ //
+ setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
+ }
+ }
+
+ /**
+ * This returns the viewer as required by the {@link IViewerProvider} interface.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Viewer getViewer() {
+ return currentViewer;
+ }
+
+ /**
+ * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createContextMenuFor(StructuredViewer viewer) {
+ MenuManager contextMenu = new MenuManager("#PopUp"); //$NON-NLS-1$
+ contextMenu.add(new Separator("additions")); //$NON-NLS-1$
+ contextMenu.setRemoveAllWhenShown(true);
+ contextMenu.addMenuListener(this);
+ Menu menu = contextMenu.createContextMenu(viewer.getControl());
+ viewer.getControl().setMenu(menu);
+ getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+ int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+ Transfer[] transfers = new Transfer[]{ LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
+ viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+ viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
+ }
+
+ /**
+ * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public void createModel() {
+ URI resourceURI = EditUIUtil.getURI(getEditorInput());
+ Exception exception = null;
+ Resource resource = null;
+ try {
+ // Load the resource through the editing domain.
+ //
+ resource = editingDomain.getResourceSet().getResource(resourceURI, true);
+ } catch (Exception e) {
+ exception = e;
+ resource = editingDomain.getResourceSet().getResource(resourceURI, false);
+ }
+ Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+ if(diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
+ }
+
+ /**
+ * Returns a diagnostic describing the errors and warnings listed in the resource
+ * and the specified exception (if any).
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) {
+ if(!resource.getErrors().isEmpty() || !resource.getWarnings().isEmpty()) {
+ BasicDiagnostic basicDiagnostic = new BasicDiagnostic(Diagnostic.ERROR, "org.eclipse.papyrus.infra.extendedtypes.editor", //$NON-NLS-1$
+ 0, getString("_UI_CreateModelError_message", resource.getURI()), //$NON-NLS-1$
+ new Object[]{ exception == null ? (Object)resource : exception });
+ basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+ return basicDiagnostic;
+ } else if(exception != null) {
+ return new BasicDiagnostic(Diagnostic.ERROR, "org.eclipse.papyrus.infra.extendedtypes.editor", //$NON-NLS-1$
+ 0, getString("_UI_CreateModelError_message", resource.getURI()), //$NON-NLS-1$
+ new Object[]{ exception });
+ } else {
+ return Diagnostic.OK_INSTANCE;
+ }
+ }
+
+ /**
+ * This is the method used by the framework to install your own controls.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void createPages() {
+ // Creates the model from the editor input
+ //
+ createModel();
+ // Only creates the other pages if there is something that can be edited
+ //
+ if(!getEditingDomain().getResourceSet().getResources().isEmpty()) {
+ // Create a page for the selection tree view.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtendedtypesEditor.this) {
+
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ selectionViewer = (TreeViewer)viewerPane.getViewer();
+ selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+ viewerPane.setTitle(editingDomain.getResourceSet());
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_SelectionPage_label")); //$NON-NLS-1$
+ }
+ // Create a page for the parent tree view.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtendedtypesEditor.this) {
+
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ parentViewer = (TreeViewer)viewerPane.getViewer();
+ parentViewer.setAutoExpandLevel(30);
+ parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+ parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ createContextMenuFor(parentViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ParentPage_label")); //$NON-NLS-1$
+ }
+ // This is the page for the list viewer
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtendedtypesEditor.this) {
+
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new ListViewer(composite);
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ listViewer = (ListViewer)viewerPane.getViewer();
+ listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ createContextMenuFor(listViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ListPage_label")); //$NON-NLS-1$
+ }
+ // This is the page for the tree viewer
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtendedtypesEditor.this) {
+
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ treeViewer = (TreeViewer)viewerPane.getViewer();
+ treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+ createContextMenuFor(treeViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreePage_label")); //$NON-NLS-1$
+ }
+ // This is the page for the table viewer.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtendedtypesEditor.this) {
+
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TableViewer(composite);
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ tableViewer = (TableViewer)viewerPane.getViewer();
+ Table table = tableViewer.getTable();
+ TableLayout layout = new TableLayout();
+ table.setLayout(layout);
+ table.setHeaderVisible(true);
+ table.setLinesVisible(true);
+ TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(3, 100, true));
+ objectColumn.setText(getString("_UI_ObjectColumn_label")); //$NON-NLS-1$
+ objectColumn.setResizable(true);
+ TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(2, 100, true));
+ selfColumn.setText(getString("_UI_SelfColumn_label")); //$NON-NLS-1$
+ selfColumn.setResizable(true);
+ tableViewer.setColumnProperties(new String[]{ "a", "b" }); //$NON-NLS-1$ //$NON-NLS-2$
+ tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ createContextMenuFor(tableViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TablePage_label")); //$NON-NLS-1$
+ }
+ // This is the page for the table tree viewer.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtendedtypesEditor.this) {
+
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+ Tree tree = treeViewerWithColumns.getTree();
+ tree.setLayoutData(new FillLayout());
+ tree.setHeaderVisible(true);
+ tree.setLinesVisible(true);
+ TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+ objectColumn.setText(getString("_UI_ObjectColumn_label")); //$NON-NLS-1$
+ objectColumn.setResizable(true);
+ objectColumn.setWidth(250);
+ TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+ selfColumn.setText(getString("_UI_SelfColumn_label")); //$NON-NLS-1$
+ selfColumn.setResizable(true);
+ selfColumn.setWidth(200);
+ treeViewerWithColumns.setColumnProperties(new String[]{ "a", "b" }); //$NON-NLS-1$ //$NON-NLS-2$
+ treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ createContextMenuFor(treeViewerWithColumns);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label")); //$NON-NLS-1$
+ }
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ setActivePage(0);
+ }
+ });
+ }
+ // Ensures that this editor will only display the page's tab
+ // area if there are more than one page
+ //
+ getContainer().addControlListener(new ControlAdapter() {
+
+ boolean guard = false;
+
+ @Override
+ public void controlResized(ControlEvent event) {
+ if(!guard) {
+ guard = true;
+ hideTabs();
+ guard = false;
+ }
+ }
+ });
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+
+ /**
+ * If there is just one page in the multi-page editor part,
+ * this hides the single tab at the bottom.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void hideTabs() {
+ if(getPageCount() <= 1) {
+ setPageText(0, ""); //$NON-NLS-1$
+ if(getContainer() instanceof CTabFolder) {
+ ((CTabFolder)getContainer()).setTabHeight(1);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y + 6);
+ }
+ }
+ }
+
+ /**
+ * If there is more than one page in the multi-page editor part,
+ * this shows the tabs at the bottom.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void showTabs() {
+ if(getPageCount() > 1) {
+ setPageText(0, getString("_UI_SelectionPage_label")); //$NON-NLS-1$
+ if(getContainer() instanceof CTabFolder) {
+ ((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y - 6);
+ }
+ }
+ }
+
+ /**
+ * This is used to track the active viewer.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void pageChange(int pageIndex) {
+ super.pageChange(pageIndex);
+ if(contentOutlinePage != null) {
+ handleContentOutlineSelection(contentOutlinePage.getSelection());
+ }
+ }
+
+ /**
+ * This is how the framework determines which interfaces we implement. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("rawtypes")
+ @Override
+ public Object getAdapter(Class key) {
+ if(key.equals(IContentOutlinePage.class)) {
+ return showOutlineView() ? getContentOutlinePage() : null;
+ } else if(key.equals(IPropertySheetPage.class)) {
+ return getPropertySheetPage();
+ } else if(key.equals(IGotoMarker.class)) {
+ return this;
+ } else {
+ return super.getAdapter(key);
+ }
+ }
+
+ /**
+ * This accesses a cached version of the content outliner. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IContentOutlinePage getContentOutlinePage() {
+ if(contentOutlinePage == null) {
+ // The content outline is just a tree.
+ //
+ class MyContentOutlinePage extends ContentOutlinePage {
+
+ @Override
+ public void createControl(Composite parent) {
+ super.createControl(parent);
+ contentOutlineViewer = getTreeViewer();
+ contentOutlineViewer.addSelectionChangedListener(this);
+ // Set up the tree viewer.
+ //
+ contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ contentOutlineViewer.setInput(editingDomain.getResourceSet());
+ // Make sure our popups work.
+ //
+ createContextMenuFor(contentOutlineViewer);
+ if(!editingDomain.getResourceSet().getResources().isEmpty()) {
+ // Select the root object in the view.
+ //
+ contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+ }
+ }
+
+ @Override
+ public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
+ super.makeContributions(menuManager, toolBarManager, statusLineManager);
+ contentOutlineStatusLineManager = statusLineManager;
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ }
+ contentOutlinePage = new MyContentOutlinePage();
+ // Listen to selection so that we can handle it is a special way.
+ //
+ contentOutlinePage.addSelectionChangedListener(new ISelectionChangedListener() {
+
+ // This ensures that we handle selections correctly.
+ //
+ public void selectionChanged(SelectionChangedEvent event) {
+ handleContentOutlineSelection(event.getSelection());
+ }
+ });
+ }
+ return contentOutlinePage;
+ }
+
+ /**
+ * This accesses a cached version of the property sheet.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IPropertySheetPage getPropertySheetPage() {
+ PropertySheetPage propertySheetPage = new ExtendedPropertySheetPage(editingDomain) {
+
+ @Override
+ public void setSelectionToViewer(List<?> selection) {
+ ExtendedtypesEditor.this.setSelectionToViewer(selection);
+ ExtendedtypesEditor.this.setFocus();
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ };
+ propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+ propertySheetPages.add(propertySheetPage);
+ return propertySheetPage;
+ }
+
+ /**
+ * This deals with how we want selection in the outliner to affect the other views.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void handleContentOutlineSelection(ISelection selection) {
+ if(currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
+ Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
+ if(selectedElements.hasNext()) {
+ // Get the first selected element.
+ //
+ Object selectedElement = selectedElements.next();
+ // If it's the selection viewer, then we want it to select the same selection as this selection.
+ //
+ if(currentViewerPane.getViewer() == selectionViewer) {
+ ArrayList<Object> selectionList = new ArrayList<Object>();
+ selectionList.add(selectedElement);
+ while(selectedElements.hasNext()) {
+ selectionList.add(selectedElements.next());
+ }
+ // Set the selection to the widget.
+ //
+ selectionViewer.setSelection(new StructuredSelection(selectionList));
+ } else {
+ // Set the input to the widget.
+ //
+ if(currentViewerPane.getViewer().getInput() != selectedElement) {
+ currentViewerPane.getViewer().setInput(selectedElement);
+ currentViewerPane.setTitle(selectedElement);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply tests the command stack.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isDirty() {
+ return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply saves the model file.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void doSave(IProgressMonitor progressMonitor) {
+ // Save only resources that have actually changed.
+ //
+ final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+ saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+ saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
+ // Do the work within an operation because this is a long running activity that modifies the workbench.
+ //
+ WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
+
+ // This is the method that gets invoked when the operation runs.
+ //
+ @Override
+ public void execute(IProgressMonitor monitor) {
+ // Save the resources to the file system.
+ //
+ boolean first = true;
+ for(Resource resource : editingDomain.getResourceSet().getResources()) {
+ if((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) {
+ try {
+ long timeStamp = resource.getTimeStamp();
+ resource.save(saveOptions);
+ if(resource.getTimeStamp() != timeStamp) {
+ savedResources.add(resource);
+ }
+ } catch (Exception exception) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ first = false;
+ }
+ }
+ }
+ };
+ updateProblemIndication = false;
+ try {
+ // This runs the options, and shows progress.
+ //
+ new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+ // Refresh the necessary state.
+ //
+ ((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+ } catch (Exception exception) {
+ // Something went wrong that shouldn't.
+ //
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ }
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+
+ /**
+ * This returns whether something has been persisted to the URI of the specified resource.
+ * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected boolean isPersisted(Resource resource) {
+ boolean result = false;
+ try {
+ InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+ if(stream != null) {
+ result = true;
+ stream.close();
+ }
+ } catch (IOException e) {
+ // Ignore
+ }
+ return result;
+ }
+
+ /**
+ * This always returns true because it is not currently supported. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isSaveAsAllowed() {
+ return true;
+ }
+
+ /**
+ * This also changes the editor's input.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void doSaveAs() {
+ SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+ saveAsDialog.open();
+ IPath path = saveAsDialog.getResult();
+ if(path != null) {
+ IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+ if(file != null) {
+ doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void doSaveAs(URI uri, IEditorInput editorInput) {
+ (editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ IProgressMonitor progressMonitor = getActionBars().getStatusLineManager() != null ? getActionBars().getStatusLineManager().getProgressMonitor() : new NullProgressMonitor();
+ doSave(progressMonitor);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void gotoMarker(IMarker marker) {
+ List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+ if(!targetObjects.isEmpty()) {
+ setSelectionToViewer(targetObjects);
+ }
+ }
+
+ /**
+ * This is called during startup. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public void init(IEditorSite site, IEditorInput editorInput) {
+ setSite(site);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ site.setSelectionProvider(this);
+ site.getPage().addPartListener(partListener);
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setFocus() {
+ if(currentViewerPane != null) {
+ currentViewerPane.setFocus();
+ } else {
+ getControl(getActivePage()).setFocus();
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void addSelectionChangedListener(ISelectionChangedListener listener) {
+ selectionChangedListeners.add(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void removeSelectionChangedListener(ISelectionChangedListener listener) {
+ selectionChangedListeners.remove(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public ISelection getSelection() {
+ return editorSelection;
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+ * Calling this result will notify the listeners.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSelection(ISelection selection) {
+ editorSelection = selection;
+ for(ISelectionChangedListener listener : selectionChangedListeners) {
+ listener.selectionChanged(new SelectionChangedEvent(this, selection));
+ }
+ setStatusLineManager(selection);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStatusLineManager(ISelection selection) {
+ IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ? contentOutlineStatusLineManager : getActionBars().getStatusLineManager();
+ if(statusLineManager != null) {
+ if(selection instanceof IStructuredSelection) {
+ Collection<?> collection = ((IStructuredSelection)selection).toList();
+ switch(collection.size()) {
+ case 0:
+ {
+ statusLineManager.setMessage(getString("_UI_NoObjectSelected")); //$NON-NLS-1$
+ break;
+ }
+ case 1:
+ {
+ String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+ statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text)); //$NON-NLS-1$
+ break;
+ }
+ default:
+ {
+ statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size()))); //$NON-NLS-1$
+ break;
+ }
+ }
+ } else {
+ statusLineManager.setMessage(""); //$NON-NLS-1$
+ }
+ }
+ }
+
+ /**
+ * This looks up a string in the plugin's plugin.properties file. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static String getString(String key) {
+ return ExtendedTypesEditorPlugin.INSTANCE.getString(key);
+ }
+
+ /**
+ * This looks up a string in plugin.properties, making a substitution. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static String getString(String key, Object s1) {
+ return ExtendedTypesEditorPlugin.INSTANCE.getString(key, new Object[]{ s1 });
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.action.IMenuListener} to help
+ * fill the context menus with contributions from the Edit menu. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void menuAboutToShow(IMenuManager menuManager) {
+ ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EditingDomainActionBarContributor getActionBarContributor() {
+ return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IActionBars getActionBars() {
+ return getActionBarContributor().getActionBars();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AdapterFactory getAdapterFactory() {
+ return adapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ updateProblemIndication = false;
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+ getSite().getPage().removePartListener(partListener);
+ adapterFactory.dispose();
+ if(getActionBarContributor().getActiveEditor() == this) {
+ getActionBarContributor().setActiveEditor(null);
+ }
+ for(PropertySheetPage propertySheetPage : propertySheetPages) {
+ propertySheetPage.dispose();
+ }
+ if(contentOutlinePage != null) {
+ contentOutlinePage.dispose();
+ }
+ super.dispose();
+ }
+
+ /**
+ * Returns whether the outline view should be presented to the user. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected boolean showOutlineView() {
+ return true;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedtypesModelWizard.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedtypesModelWizard.java
new file mode 100644
index 00000000000..840f67278e8
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen/org/eclipse/papyrus/infra/extendedtypes/presentation/ExtendedtypesModelWizard.java
@@ -0,0 +1,612 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.presentation;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.CommonPlugin;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesFactory;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ExtendedtypesModelWizard extends Wizard implements INewWizard {
+
+ /**
+ * The supported extensions for created files.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<String> FILE_EXTENSIONS = Collections.unmodifiableList(Arrays.asList(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesEditorFilenameExtensions").split("\\s*,\\s*"))); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * A formatted list of supported file extensions, suitable for display. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final String FORMATTED_FILE_EXTENSIONS = ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+
+ /**
+ * This caches an instance of the model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExtendedtypesPackage extendedtypesPackage = ExtendedtypesPackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExtendedtypesFactory extendedtypesFactory = extendedtypesPackage.getExtendedtypesFactory();
+
+ /**
+ * This is the file creation page. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ protected ExtendedtypesModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExtendedtypesModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+ /**
+ * Remember the selection during initialization for populating the default container.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IStructuredSelection selection;
+
+ /**
+ * Remember the workbench during initialization.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IWorkbench workbench;
+
+ /**
+ * Caches the names of the types that can be created as the root object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected List<String> initialObjectNames;
+
+ /**
+ * This just records the information.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ this.workbench = workbench;
+ this.selection = selection;
+ setWindowTitle(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_Wizard_label")); //$NON-NLS-1$
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(ExtendedTypesEditorPlugin.INSTANCE.getImage("full/wizban/NewExtendedtypes"))); //$NON-NLS-1$
+ }
+
+ /**
+ * Returns the names of the types that can be created as the root object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<String> getInitialObjectNames() {
+ if(initialObjectNames == null) {
+ initialObjectNames = new ArrayList<String>();
+ for(EClassifier eClassifier : extendedtypesPackage.getEClassifiers()) {
+ if(eClassifier instanceof EClass) {
+ EClass eClass = (EClass)eClassifier;
+ if(!eClass.isAbstract()) {
+ initialObjectNames.add(eClass.getName());
+ }
+ }
+ }
+ Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
+ }
+ return initialObjectNames;
+ }
+
+ /**
+ * Create a new model.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EObject createInitialModel() {
+ EClass eClass = (EClass)extendedtypesPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = extendedtypesFactory.create(eClass);
+ return rootObject;
+ }
+
+ /**
+ * Do the work after everything is specified.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean performFinish() {
+ try {
+ // Remember the file.
+ //
+ final IFile modelFile = getModelFile();
+ // Do the work within an operation.
+ //
+ WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
+
+ @Override
+ protected void execute(IProgressMonitor progressMonitor) {
+ try {
+ // Create a resource set
+ //
+ ResourceSet resourceSet = new ResourceSetImpl();
+ // Get the URI of the model file.
+ //
+ URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+ // Create a resource for this file.
+ //
+ Resource resource = resourceSet.createResource(fileURI);
+ // Add the initial model object to the contents.
+ //
+ EObject rootObject = createInitialModel();
+ if(rootObject != null) {
+ resource.getContents().add(rootObject);
+ }
+ // Save the contents of the resource to the file system.
+ //
+ Map<Object, Object> options = new HashMap<Object, Object>();
+ options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+ resource.save(options);
+ } catch (Exception exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ } finally {
+ progressMonitor.done();
+ }
+ }
+ };
+ getContainer().run(false, false, operation);
+ // Select the new file resource in the current view.
+ //
+ IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ final IWorkbenchPart activePart = page.getActivePart();
+ if(activePart instanceof ISetSelectionTarget) {
+ final ISelection targetSelection = new StructuredSelection(modelFile);
+ getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+ }
+ });
+ }
+ // Open an editor on the new file.
+ //
+ try {
+ page.openEditor(new FileEditorInput(modelFile), workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());
+ } catch (PartInitException exception) {
+ MessageDialog.openError(workbenchWindow.getShell(), ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage()); //$NON-NLS-1$
+ return false;
+ }
+ return true;
+ } catch (Exception exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public class ExtendedtypesModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedtypesModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) {
+ super(pageId, selection);
+ }
+
+ /**
+ * The framework calls this to see if the file is correct. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean validatePage() {
+ if(super.validatePage()) {
+ String extension = new Path(getFileName()).getFileExtension();
+ if(extension == null || !FILE_EXTENSIONS.contains(extension)) {
+ String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension"; //$NON-NLS-1$ //$NON-NLS-2$
+ setErrorMessage(ExtendedTypesEditorPlugin.INSTANCE.getString(key, new Object[]{ FORMATTED_FILE_EXTENSIONS }));
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IFile getModelFile() {
+ return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+ }
+ }
+
+ /**
+ * This is the page where the type of object to create is selected. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public class ExtendedtypesModelWizardInitialObjectCreationPage extends WizardPage {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Combo initialObjectField;
+
+ /**
+ * @generated <!-- begin-user-doc --> <!-- end-user-doc -->
+ */
+ protected List<String> encodings;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Combo encodingField;
+
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedtypesModelWizardInitialObjectCreationPage(String pageId) {
+ super(pageId);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE);
+ {
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.verticalSpacing = 12;
+ composite.setLayout(layout);
+ GridData data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.grabExcessVerticalSpace = true;
+ data.horizontalAlignment = GridData.FILL;
+ composite.setLayoutData(data);
+ }
+ Label containerLabel = new Label(composite, SWT.LEFT);
+ {
+ containerLabel.setText(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ModelObject")); //$NON-NLS-1$
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ containerLabel.setLayoutData(data);
+ }
+ initialObjectField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ initialObjectField.setLayoutData(data);
+ }
+ for(String objectName : getInitialObjectNames()) {
+ initialObjectField.add(getLabel(objectName));
+ }
+ if(initialObjectField.getItemCount() == 1) {
+ initialObjectField.select(0);
+ }
+ initialObjectField.addModifyListener(validator);
+ Label encodingLabel = new Label(composite, SWT.LEFT);
+ {
+ encodingLabel.setText(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_XMLEncoding")); //$NON-NLS-1$
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ encodingLabel.setLayoutData(data);
+ }
+ encodingField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ encodingField.setLayoutData(data);
+ }
+ for(String encoding : getEncodings()) {
+ encodingField.add(encoding);
+ }
+ encodingField.select(0);
+ encodingField.addModifyListener(validator);
+ setPageComplete(validatePage());
+ setControl(composite);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ModifyListener validator = new ModifyListener() {
+
+ public void modifyText(ModifyEvent e) {
+ setPageComplete(validatePage());
+ }
+ };
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected boolean validatePage() {
+ return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ if(visible) {
+ if(initialObjectField.getItemCount() == 1) {
+ initialObjectField.clearSelection();
+ encodingField.setFocus();
+ } else {
+ encodingField.clearSelection();
+ initialObjectField.setFocus();
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getInitialObjectName() {
+ String label = initialObjectField.getText();
+ for(String name : getInitialObjectNames()) {
+ if(getLabel(name).equals(label)) {
+ return name;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getEncoding() {
+ return encodingField.getText();
+ }
+
+ /**
+ * Returns the label for the specified type name.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected String getLabel(String typeName) {
+ try {
+ return ExtendedTypesEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type"); //$NON-NLS-1$ //$NON-NLS-2$
+ } catch (MissingResourceException mre) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(mre);
+ }
+ return typeName;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<String> getEncodings() {
+ if(encodings == null) {
+ encodings = new ArrayList<String>();
+ for(StringTokenizer stringTokenizer = new StringTokenizer(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens();) //$NON-NLS-1$
+ {
+ encodings.add(stringTokenizer.nextToken());
+ }
+ }
+ return encodings;
+ }
+ }
+
+ /**
+ * The framework calls this to create the contents of the wizard. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void addPages() {
+ // Create a page, set the title, and the initial model file name.
+ //
+ newFileCreationPage = new ExtendedtypesModelWizardNewFileCreationPage("Whatever", selection); //$NON-NLS-1$
+ newFileCreationPage.setTitle(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesModelWizard_label")); //$NON-NLS-1$
+ newFileCreationPage.setDescription(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesModelWizard_description")); //$NON-NLS-1$
+ newFileCreationPage.setFileName(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0)); //$NON-NLS-1$ //$NON-NLS-2$
+ addPage(newFileCreationPage);
+ // Try and get the resource selection to determine a current directory for the file dialog.
+ //
+ if(selection != null && !selection.isEmpty()) {
+ // Get the resource...
+ //
+ Object selectedElement = selection.iterator().next();
+ if(selectedElement instanceof IResource) {
+ // Get the resource parent, if its a file.
+ //
+ IResource selectedResource = (IResource)selectedElement;
+ if(selectedResource.getType() == IResource.FILE) {
+ selectedResource = selectedResource.getParent();
+ }
+ // This gives us a directory...
+ //
+ if(selectedResource instanceof IFolder || selectedResource instanceof IProject) {
+ // Set this for the container.
+ //
+ newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+ // Make up a unique new name here.
+ //
+ String defaultModelBaseFilename = ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesEditorFilenameDefaultBase"); //$NON-NLS-1$
+ String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
+ String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension; //$NON-NLS-1$
+ for(int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
+ modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension; //$NON-NLS-1$
+ }
+ newFileCreationPage.setFileName(modelFilename);
+ }
+ }
+ }
+ initialObjectCreationPage = new ExtendedtypesModelWizardInitialObjectCreationPage("Whatever2"); //$NON-NLS-1$
+ initialObjectCreationPage.setTitle(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesModelWizard_label")); //$NON-NLS-1$
+ initialObjectCreationPage.setDescription(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description")); //$NON-NLS-1$
+ addPage(initialObjectCreationPage);
+ }
+
+ /**
+ * Get the file from the page.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IFile getModelFile() {
+ return newFileCreationPage.getModelFile();
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src/org/eclipse/papyrus/infra/extendedtypes/presentation/CustomExtendedtypesEditor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src/org/eclipse/papyrus/infra/extendedtypes/presentation/CustomExtendedtypesEditor.java
new file mode 100644
index 00000000000..591da7dce3d
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.editor/src/org/eclipse/papyrus/infra/extendedtypes/presentation/CustomExtendedtypesEditor.java
@@ -0,0 +1,103 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.presentation;
+
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+import org.eclipse.emf.ecore.provider.EcoreItemProviderAdapterFactory;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryItemProviderAdapterFactory;
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.util.InvariantContainerConfigurationAdapterFactory;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider.CustomInvariantSemanticTypeConfigurationItemProviderAdapterFactory;
+import org.eclipse.papyrus.infra.extendedtypes.provider.CustomExtendedtypesItemProviderAdapterFactory;
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationItemProviderAdapterFactory;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory;
+
+/**
+ * Custom editor to support metamodel extensions
+ */
+public class CustomExtendedtypesEditor extends ExtendedtypesEditor {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void initializeEditingDomain() {
+ // Create an adapter factory that yields item providers.
+ //
+ adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+ adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new CustomExtendedtypesItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new CustomInvariantSemanticTypeConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new InvariantContainerConfigurationAdapterFactory());
+ adapterFactory.addAdapterFactory(new EcoreItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new QueryItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new UMLItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+ // Create the command stack that will notify this editor as commands are
+ // executed.
+ //
+ BasicCommandStack commandStack = new BasicCommandStack();
+
+ // Add a listener to set the most recent command's affected objects to
+ // be the selection of the viewer with focus.
+ //
+ commandStack.addCommandStackListener(new CommandStackListener() {
+ public void commandStackChanged(final EventObject event) {
+ getContainer().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+
+ // Try to select the affected objects.
+ //
+ Command mostRecentCommand = ((CommandStack) event
+ .getSource()).getMostRecentCommand();
+ if (mostRecentCommand != null) {
+ setSelectionToViewer(mostRecentCommand
+ .getAffectedObjects());
+ }
+ for (Iterator<PropertySheetPage> i = propertySheetPages
+ .iterator(); i.hasNext();) {
+ PropertySheetPage propertySheetPage = i.next();
+ if (propertySheetPage.getControl().isDisposed()) {
+ i.remove();
+ } else {
+ propertySheetPage.refresh();
+ }
+ }
+ }
+ });
+ }
+ });
+
+ // Create the editing domain with a special command stack.
+ //
+ editingDomain = new AdapterFactoryEditingDomain(adapterFactory,
+ commandStack, new HashMap<Resource, Boolean>());
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.classpath b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.classpath
index afb9bb46ef3..756f4289006 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.classpath
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.classpath
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src-gen"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.settings/org.eclipse.core.resources.prefs b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.settings/org.eclipse.core.resources.prefs
index b9eceea0c66..a5889879d4c 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.settings/org.eclipse.core.resources.prefs
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.settings/org.eclipse.core.resources.prefs
@@ -1,4 +1,13 @@
-#Thu Mar 24 15:06:10 CET 2011
-eclipse.preferences.version=1
-encoding//model/ExtendedTypes.ecore=UTF-8
-encoding//model/ExtendedTypes.ecorediag=UTF-8
+eclipse.preferences.version=1
+encoding//model/AspectSemantic.ecore=UTF-8
+encoding//model/AspectSemantic.ecorediag=UTF-8
+encoding//model/AspectViewTypeConfiguration.ecore=UTF-8
+encoding//model/AspectViewTypeConfiguration.ecorediag=UTF-8
+encoding//model/ExtendedTypes.ecore=UTF-8
+encoding//model/ExtendedTypes.ecorediag=UTF-8
+encoding//model/InvariantContainerConfiguration.ecore=UTF-8
+encoding//model/InvariantContainerConfiguration.ecorediag=UTF-8
+encoding//model/InvariantSemanticTypeConfiguration.ecore=UTF-8
+encoding//model/InvariantSemanticTypeConfiguration.ecorediag=UTF-8
+encoding//model/QueryBasedMatcherConfiguration.ecore=UTF-8
+encoding//model/QueryBasedMatcherConfiguration.ecorediag=UTF-8
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/META-INF/MANIFEST.MF
index 1dfc2a85875..abf9ad05069 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/META-INF/MANIFEST.MF
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/META-INF/MANIFEST.MF
@@ -1,31 +1,43 @@
-Manifest-Version: 1.0
-Export-Package: org.eclipse.papyrus.infra.extendedtypes,
- org.eclipse.papyrus.infra.extendedtypes.advices,
- org.eclipse.papyrus.infra.extendedtypes.impl,
- org.eclipse.papyrus.infra.extendedtypes.preferences,
- org.eclipse.papyrus.infra.extendedtypes.providers,
- org.eclipse.papyrus.infra.extendedtypes.types,
- org.eclipse.papyrus.infra.extendedtypes.util
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
- org.eclipse.emf.ecore;bundle-version="2.7.0";visibility:=reexport,
- org.eclipse.emf.ecore.xmi;bundle-version="2.6.0";visibility:=reexport,
- org.eclipse.papyrus.infra.queries.core.configuration;bundle-version="0.10.1",
- org.eclipse.emf.facet.infra.query;bundle-version="0.1.0",
- org.eclipse.uml2.uml;bundle-version="3.2.0",
- org.eclipse.ui;bundle-version="3.7.0",
- org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="0.10.1",
- org.eclipse.papyrus.infra.queries.core;bundle-version="0.10.1",
- org.eclipse.gmf.runtime.common.ui.services;bundle-version="1.3.0"
-Bundle-Vendor: %providerName
-Bundle-Version: 0.10.1.qualifier
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.infra.extendedtypes.Activator
-Bundle-SymbolicName: org.eclipse.papyrus.infra.extendedtypes;singleton
- :=true
-
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.infra.extendedtypes,
+ org.eclipse.papyrus.infra.extendedtypes.advices,
+ org.eclipse.papyrus.infra.extendedtypes.aspectsemantic,
+ org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl,
+ org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.util,
+ org.eclipse.papyrus.infra.extendedtypes.impl,
+ org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration,
+ org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl,
+ org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.util,
+ org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration,
+ org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl,
+ org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.util,
+ org.eclipse.papyrus.infra.extendedtypes.preferences,
+ org.eclipse.papyrus.infra.extendedtypes.providers,
+ org.eclipse.papyrus.infra.extendedtypes.semantic,
+ org.eclipse.papyrus.infra.extendedtypes.types,
+ org.eclipse.papyrus.infra.extendedtypes.util
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.eclipse.emf.ecore;visibility:=reexport;bundle-version="2.7.0",
+ org.eclipse.emf.ecore.xmi;visibility:=reexport;bundle-version="2.6.0",
+ org.eclipse.papyrus.infra.queries.core.configuration;bundle-version="0.10.1",
+ org.eclipse.emf.facet.infra.query;bundle-version="0.1.0",
+ org.eclipse.uml2.types;visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="3.2.0",
+ org.eclipse.ui;bundle-version="3.7.0",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="0.10.0",
+ org.eclipse.papyrus.infra.queries.core;bundle-version="0.10.0",
+ org.eclipse.gmf.runtime.common.ui.services;bundle-version="1.3.0",
+ org.eclipse.papyrus.infra.core,
+ org.eclipse.papyrus.infra.services.edit;bundle-version="0.10.1"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 0.10.1.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.infra.extendedtypes.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.infra.extendedtypes;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/build.properties b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/build.properties
index 0513499e537..70b011394ef 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/build.properties
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/build.properties
@@ -1,8 +1,9 @@
-#
-#Mon Sep 12 09:29:52 CEST 2011
-output..=bin/
-bin.includes=.,model/,META-INF/,plugin.xml,plugin.properties,schema/,about.html
-jars.compile.order=.
-src.includes = about.html
-source..=src-gen/,src/
-bin..=bin/
+#
+#Mon Sep 12 09:29:52 CEST 2011
+output..=bin/
+bin.includes=.,model/,META-INF/,plugin.xml,plugin.properties,schema/,about.html
+jars.compile.order=.
+src.includes = about.html
+source.. = src-gen/,\
+ src/
+bin..=bin/
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectSemantic.ecore b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectSemantic.ecore
new file mode 100644
index 00000000000..3c053948f39
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectSemantic.ecore
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="aspectsemantic" nsURI="http://www.eclipse.org/papyrus/infra/extendedtypes/semantic/aspect/1.0"
+ nsPrefix="aspectsemantic">
+ <eClassifiers xsi:type="ecore:EClass" name="AspectSemanticTypeConfiguration" eSuperTypes="ExtendedTypes.ecore#//SemanticTypeConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="adviceConfiguration" lowerBound="1"
+ eType="#//AspectSemanticTypeAdviceConfiguration" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AspectSemanticTypeAdviceConfiguration"
+ eSuperTypes="ExtendedTypes.ecore#//SemanticTypeAdviceConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preActionConfiguration"
+ upperBound="-1" eType="ecore:EClass ExtendedTypes.ecore#//SemanticActionConfiguration"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postActionConfiguration"
+ upperBound="-1" eType="ecore:EClass ExtendedTypes.ecore#//SemanticActionConfiguration"
+ containment="true"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectSemantic.ecorediag b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectSemantic.ecorediag
new file mode 100644
index 00000000000..2786cd431c6
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectSemantic.ecorediag
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_SpODMFgxEeOZc_L6ctfnzA" type="EcoreTools" name="AspectSemanticTypeConfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_eLQjAFgxEeOZc_L6ctfnzA" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eQpZUFgxEeOZc_L6ctfnzA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eQpZUVgxEeOZc_L6ctfnzA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_eLd-YFgxEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_eLd-YVgxEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_eLelcFgxEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_eLelcVgxEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_eLelclgxEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_eLelc1gxEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_eLeldFgxEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_eLeldVgxEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_eLeldlgxEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_eLQjAVgxEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12560536" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//SemanticTypeConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eLQjAlgxEeOZc_L6ctfnzA" x="60" y="60" width="283" height="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ipMt8FgxEeOZc_L6ctfnzA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_ipUCsFgxEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_ipUCsVgxEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ipUCslgxEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ipUCs1gxEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ipUCtFgxEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ipUpwFgxEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ipUpwVgxEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ipUpwlgxEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ipUpw1gxEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ipMt8VgxEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="AspectSemantic.ecore#//AspectSemanticTypeConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ipMt8lgxEeOZc_L6ctfnzA" x="60" y="300" width="281" height="121"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_RZ8-QFgyEeOZc_L6ctfnzA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_RZ-MYFgyEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_RZ-MYVgyEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_RZ-MYlgyEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RZ-MY1gyEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RZ-MZFgyEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_RZ-zcFgyEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_RZ-zcVgyEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RZ-zclgyEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RZ-zc1gyEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_RZ8-QVgyEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="AspectSemantic.ecore#//AspectSemanticTypeAdviceConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RZ8-QlgyEeOZc_L6ctfnzA" x="560" y="300" width="283" height="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ZdVl4FgyEeOZc_L6ctfnzA" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZeNIkFgyEeOZc_L6ctfnzA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZeNIkVgyEeOZc_L6ctfnzA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_ZdXbEFgyEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_ZdXbEVgyEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ZdXbElgyEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ZdXbE1gyEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ZdXbFFgyEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ZdYCIFgyEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ZdYCIVgyEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ZdYCIlgyEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ZdYCI1gyEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ZdVl4VgyEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12560536" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//SemanticTypeAdviceConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZdVl4lgyEeOZc_L6ctfnzA" x="560" y="60" width="283" height="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_jGqQkFgyEeOZc_L6ctfnzA" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jHjBYFgyEeOZc_L6ctfnzA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jHjBYVgyEeOZc_L6ctfnzA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_jG0ooFgyEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_jG0ooVgyEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_jG0oolgyEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jG0oo1gyEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jG0opFgyEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_jG1PsFgyEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_jG1PsVgyEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jG1PslgyEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jG1Ps1gyEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_jGqQkVgyEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12560536" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//SemanticActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jGqQklgyEeOZc_L6ctfnzA" x="1140" y="300" width="283" height="123"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_SpODMVgxEeOZc_L6ctfnzA"/>
+ <element xmi:type="ecore:EPackage" href="AspectSemantic.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_lF0hYFgxEeOZc_L6ctfnzA" type="3003" source="_ipMt8FgxEeOZc_L6ctfnzA" target="_eLQjAFgxEeOZc_L6ctfnzA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lF0hYVgxEeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lF0hYlgxEeOZc_L6ctfnzA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lF0hY1gxEeOZc_L6ctfnzA" points="[5, -7, -1, 180]$[5, -126, -1, 61]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lF29oFgxEeOZc_L6ctfnzA" id="(0.4804270462633452,0.06611570247933884)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_asHtMFgyEeOZc_L6ctfnzA" type="3003" source="_RZ8-QFgyEeOZc_L6ctfnzA" target="_ZdVl4FgyEeOZc_L6ctfnzA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_asHtMVgyEeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_asHtMlgyEeOZc_L6ctfnzA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_asHtM1gyEeOZc_L6ctfnzA" points="[1, -13, 1, 180]$[21, -132, 21, 61]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_asKwgFgyEeOZc_L6ctfnzA" id="(0.5016501650165016,0.11382113821138211)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_d5dL4FgyEeOZc_L6ctfnzA" type="3002" source="_ipMt8FgxEeOZc_L6ctfnzA" target="_RZ8-QFgyEeOZc_L6ctfnzA">
+ <children xmi:type="notation:Node" xmi:id="_d5dy8FgyEeOZc_L6ctfnzA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_d5dy8VgyEeOZc_L6ctfnzA" x="-25" y="-11"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_d5dy8lgyEeOZc_L6ctfnzA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_d5dy81gyEeOZc_L6ctfnzA" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_d5dL4VgyEeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_d5dL4lgyEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="AspectSemantic.ecore#//AspectSemanticTypeConfiguration/adviceConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_d5dL41gyEeOZc_L6ctfnzA" points="[28, 3, -282, 1]$[311, -57, 1, -59]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_d5iEYFgyEeOZc_L6ctfnzA" id="(0.900355871886121,0.4793388429752066)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_d5iEYVgyEeOZc_L6ctfnzA" id="(0.21908127208480566,0.4878048780487805)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_nKaZ4FgyEeOZc_L6ctfnzA" type="3002" source="_RZ8-QFgyEeOZc_L6ctfnzA" target="_jGqQkFgyEeOZc_L6ctfnzA">
+ <children xmi:type="notation:Node" xmi:id="_nKbA8FgyEeOZc_L6ctfnzA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nKbA8VgyEeOZc_L6ctfnzA" x="-27" y="-11"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_nKboAFgyEeOZc_L6ctfnzA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nKboAVgyEeOZc_L6ctfnzA" x="35" y="9"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_nKaZ4VgyEeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_nKaZ4lgyEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="AspectSemantic.ecore#//AspectSemanticTypeAdviceConfiguration/preActionConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nKaZ41gyEeOZc_L6ctfnzA" points="[22, 2, -355, 1]$[378, -18, 1, -19]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nKhHkFgyEeOZc_L6ctfnzA" id="(0.9222614840989399,0.15447154471544716)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nKhHkVgyEeOZc_L6ctfnzA" id="(0.20141342756183744,0.16260162601626016)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_qATB4FgyEeOZc_L6ctfnzA" type="3002" source="_RZ8-QFgyEeOZc_L6ctfnzA" target="_jGqQkFgyEeOZc_L6ctfnzA">
+ <children xmi:type="notation:Node" xmi:id="_qAUQAFgyEeOZc_L6ctfnzA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qAUQAVgyEeOZc_L6ctfnzA" x="-24" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_qAU3EFgyEeOZc_L6ctfnzA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qAU3EVgyEeOZc_L6ctfnzA" x="34" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_qATB4VgyEeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_qATB4lgyEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="AspectSemantic.ecore#//AspectSemanticTypeAdviceConfiguration/postActionConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qATB41gyEeOZc_L6ctfnzA" points="[38, 20, -309, 21]$[337, 20, -10, 21]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qAcL0FgyEeOZc_L6ctfnzA" id="(0.8657243816254417,0.6666666666666666)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qAcL0VgyEeOZc_L6ctfnzA" id="(0.038869257950530034,0.6585365853658537)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectSemantic.genmodel b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectSemantic.genmodel
new file mode 100644
index 00000000000..208e82443e4
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectSemantic.genmodel
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2013 CEA LIST.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA; CEA LIST - Initial API and implementation"
+ modelDirectory="/org.eclipse.papyrus.infra.extendedtypes/src-gen" creationSubmenus="true"
+ editDirectory="/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen" editorDirectory="/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.infra.extendedtypes" modelName="AspectSemantic"
+ modelPluginClass="" editPluginClass="org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedTypesEditPlugin"
+ editorPluginClass="org.eclipse.papyrus.infra.extendedtypes.presentation.ExtendedTypesEditorPlugin"
+ rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" codeFormatting="true"
+ commentFormatting="true" importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0"
+ copyrightFields="false" language="" usedGenPackages="../../org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel#//configuration ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ExtendedTypes.genmodel#//extendedtypes platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.genmodel#//query ../../org.eclipse.uml2.types/model/Types.genmodel#//types platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+ operationReflection="true" importOrganizing="true">
+ <foreignModel>AspectSemantic.ecore</foreignModel>
+ <genPackages prefix="AspectSemantic" basePackage="org.eclipse.papyrus.infra.extendedtypes"
+ resource="XML" disposableProviderFactory="true" literalsInterface="false" contentTypeIdentifier=""
+ ecorePackage="AspectSemantic.ecore#/">
+ <genClasses ecoreClass="AspectSemantic.ecore#//AspectSemanticTypeConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AspectSemantic.ecore#//AspectSemanticTypeConfiguration/adviceConfiguration"/>
+ </genClasses>
+ <genClasses ecoreClass="AspectSemantic.ecore#//AspectSemanticTypeAdviceConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AspectSemantic.ecore#//AspectSemanticTypeAdviceConfiguration/preActionConfiguration"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AspectSemantic.ecore#//AspectSemanticTypeAdviceConfiguration/postActionConfiguration"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectViewTypeConfiguration.ecore b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectViewTypeConfiguration.ecore
new file mode 100644
index 00000000000..1328852efc7
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectViewTypeConfiguration.ecore
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="aspectviewtypeconfiguration" nsURI="http://www.eclipse.org/papyrus/infra/extendedtypes/viewtype/aspect/1.0"
+ nsPrefix="aspectviewtypeconfiguration">
+ <eClassifiers xsi:type="ecore:EClass" name="AspectViewTypeConfiguration" eSuperTypes="ExtendedTypes.ecore#//ViewTypeConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preActionConfiguration"
+ upperBound="-1" eType="ecore:EClass ExtendedTypes.ecore#//ViewActionConfiguration"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postActionConfiguration"
+ upperBound="-1" eType="ecore:EClass ExtendedTypes.ecore#//ViewActionConfiguration"
+ containment="true"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectViewTypeConfiguration.ecorediag b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectViewTypeConfiguration.ecorediag
new file mode 100644
index 00000000000..55eed88155f
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/AspectViewTypeConfiguration.ecorediag
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_DHpg0FgzEeOZc_L6ctfnzA" type="EcoreTools" name="AspectViewTypeConfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_KhVEIFgzEeOZc_L6ctfnzA" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnWzoFgzEeOZc_L6ctfnzA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnWzoVgzEeOZc_L6ctfnzA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_KhhRYFgzEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_KhhRYVgzEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KhhRYlgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KhhRY1gzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KhhRZFgzEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Khh4cFgzEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Khh4cVgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Khh4clgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Khh4c1gzEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_KhVEIVgzEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12560536" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ViewTypeConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KhVEIlgzEeOZc_L6ctfnzA" x="80" y="60" width="283" height="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_KsRI0FgzEeOZc_L6ctfnzA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_KsSW8FgzEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_KsSW8VgzEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KsSW8lgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KsSW81gzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KsSW9FgzEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_KsS-AFgzEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KsS-AVgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KsS-AlgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KsS-A1gzEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_KsRI0VgzEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="AspectViewTypeConfiguration.ecore#//AspectViewTypeConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KsRI0lgzEeOZc_L6ctfnzA" x="80" y="300" width="283" height="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_WQ1YMFgzEeOZc_L6ctfnzA" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WR2E0FgzEeOZc_L6ctfnzA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WR2E0VgzEeOZc_L6ctfnzA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_WQ9UAFgzEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_WQ97EFgzEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_WQ97EVgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_WQ97ElgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_WQ97E1gzEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_WQ97FFgzEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_WQ97FVgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_WQ97FlgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_WQ97F1gzEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_WQ1YMVgzEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12560536" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ViewTypeAdviceConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WQ1YMlgzEeOZc_L6ctfnzA" x="540" y="60" width="283" height="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ZOgqQFgzEeOZc_L6ctfnzA" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZPSGUFgzEeOZc_L6ctfnzA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZPSGUVgzEeOZc_L6ctfnzA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_ZOhRUFgzEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_ZOh4YFgzEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ZOh4YVgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ZOh4YlgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ZOh4Y1gzEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ZOh4ZFgzEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ZOh4ZVgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ZOh4ZlgzEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ZOh4Z1gzEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ZOgqQVgzEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12560536" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ViewActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZOgqQlgzEeOZc_L6ctfnzA" x="1020" y="300" width="283" height="123"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_DHpg0VgzEeOZc_L6ctfnzA"/>
+ <element xmi:type="ecore:EPackage" href="AspectViewTypeConfiguration.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_SsHUQFgzEeOZc_L6ctfnzA" type="3003" source="_KsRI0FgzEeOZc_L6ctfnzA" target="_KhVEIFgzEeOZc_L6ctfnzA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_SsHUQVgzEeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_SsHUQlgzEeOZc_L6ctfnzA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SsHUQ1gzEeOZc_L6ctfnzA" points="[7, -10, 0, 180]$[7, -129, 0, 61]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SsOpAFgzEeOZc_L6ctfnzA" id="(0.4752851711026616,0.08943089430894309)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_ooZlYFgzEeOZc_L6ctfnzA" type="3002" source="_KsRI0FgzEeOZc_L6ctfnzA" target="_ZOgqQFgzEeOZc_L6ctfnzA">
+ <children xmi:type="notation:Node" xmi:id="_ooaMcFgzEeOZc_L6ctfnzA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ooaMcVgzEeOZc_L6ctfnzA" x="32" y="-11"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ooaMclgzEeOZc_L6ctfnzA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ooaMc1gzEeOZc_L6ctfnzA" x="68" y="9"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ooZlYVgzEeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ooZlYlgzEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="AspectViewTypeConfiguration.ecore#//AspectViewTypeConfiguration/preActionConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ooZlY1gzEeOZc_L6ctfnzA" points="[33, 3, -161, 1]$[195, -17, 1, -19]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oofE8FgzEeOZc_L6ctfnzA" id="(0.9045936395759717,0.22764227642276422)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oofE8VgzEeOZc_L6ctfnzA" id="(0.01060070671378092,0.16260162601626016)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_r0_dMFgzEeOZc_L6ctfnzA" type="3002" source="_KsRI0FgzEeOZc_L6ctfnzA" target="_ZOgqQFgzEeOZc_L6ctfnzA">
+ <children xmi:type="notation:Node" xmi:id="_r1DuoFgzEeOZc_L6ctfnzA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_r1DuoVgzEeOZc_L6ctfnzA" x="30" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_r1DuolgzEeOZc_L6ctfnzA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_r1Duo1gzEeOZc_L6ctfnzA" x="68" y="12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_r0_dMVgzEeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_r0_dMlgzEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="AspectViewTypeConfiguration.ecore#//AspectViewTypeConfiguration/postActionConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_r0_dM1gzEeOZc_L6ctfnzA" points="[27, 2, -673, 7]$[686, 2, -14, 7]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_r1J1QFgzEeOZc_L6ctfnzA" id="(0.9045936395759717,0.8130081300813008)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_r1J1QVgzEeOZc_L6ctfnzA" id="(0.053003533568904596,0.7723577235772358)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecore b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecore
index 84985e67146..aa3ccbb31e1 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecore
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecore
@@ -1,42 +1,71 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="extendedtypes" nsURI="http://www.eclipse.org/papyrus/diagram/types/extendedtypes/0.7"
- nsPrefix="extendedtypes">
- <eClassifiers xsi:type="ecore:EClass" name="ExtendedElementTypeSet">
- <eStructuralFeatures xsi:type="ecore:EReference" name="elementType" lowerBound="1"
- upperBound="-1" eType="#//ExtendedElementTypeConfiguration" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ExtendedElementTypeConfiguration">
- <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="id" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="iconEntry" eType="#//IconEntry"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="hint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
- defaultValueLiteral="ExtendedElements"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="kindName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
- defaultValueLiteral="org.eclipse.gmf.runtime.emf.type.core.IHintedType"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="specializedTypesID" lowerBound="1"
- upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="preValidation" upperBound="-1"
- eType="ecore:EClass platform:/plugin/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecore#//QueryConfiguration"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="preAction" upperBound="-1"
- eType="#//PreActionConfiguration" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="postAction" upperBound="-1"
- eType="#//PostActionConfiguration" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="specializedDiagramTypeID"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="IconEntry">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="iconPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="bundleId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ActionConfiguration" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PreActionConfiguration" abstract="true"
- eSuperTypes="#//ActionConfiguration"/>
- <eClassifiers xsi:type="ecore:EClass" name="PostActionConfiguration" abstract="true"
- eSuperTypes="#//ActionConfiguration"/>
-</ecore:EPackage>
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="extendedtypes" nsURI="http://www.eclipse.org/papyrus/infra/extendedtypes/1.0"
+ nsPrefix="extendedtypes">
+ <eClassifiers xsi:type="ecore:EClass" name="ExtendedElementTypeSet" eSuperTypes="#//ConfigurationElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elementType" lowerBound="1"
+ upperBound="-1" eType="#//ElementTypeConfiguration" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="extensible" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ElementTypeConfiguration" abstract="true"
+ eSuperTypes="#//ConfigurationElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="hint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="ExtendedElements"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kindName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="org.eclipse.gmf.runtime.emf.type.core.IHintedType"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="specializedTypesID" lowerBound="1"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="matcherConfiguration" eType="#//MatcherConfiguration"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IconEntry">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="iconPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="bundleId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConfigurationElement" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="identifier" lowerBound="1"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="iconEntry" eType="#//IconEntry"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ViewTypeAdviceConfiguration" abstract="true"
+ eSuperTypes="#//ElementTypeAdviceConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Configuration for edit helper advices dedicated to the creation of new elements only.&#xD;&#xA;&#xD;&#xA;This kind of helpers should be used in the palette extensions, modeling assistants, model explorer, property views.&#xD;&#xA;Once the element has been created, it is managed by the edit helper and the advices of the specialized ElementType.&#xD;&#xA; "/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SemanticTypeAdviceConfiguration" abstract="true"
+ eSuperTypes="#//ElementTypeAdviceConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Configuration dedicated to edit helper advices that will manage the new kind of element for its entire lifecycle (Creation, Update, Deletion)&#xD;&#xA;&#xD;&#xA;This should be used to define new model elements for a domain specific language "/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MatcherConfiguration" abstract="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ActionConfiguration" abstract="true"
+ eSuperTypes="#//ConfigurationElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preValidationQueryConfiguration"
+ eType="ecore:EClass platform:/plugin/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecore#//QueryConfiguration"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ViewActionConfiguration" abstract="true"
+ eSuperTypes="#//ActionConfiguration"/>
+ <eClassifiers xsi:type="ecore:EClass" name="SemanticActionConfiguration" abstract="true"
+ eSuperTypes="#//ActionConfiguration"/>
+ <eClassifiers xsi:type="ecore:EClass" name="SemanticTypeConfiguration" abstract="true"
+ eSuperTypes="#//ElementTypeConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Configuration specific to element types registered to manipulate Domain Specific elements."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ViewTypeConfiguration" abstract="true"
+ eSuperTypes="#//ElementTypeConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Configuration specific to element types registered to manipulate graphical elements in GMF diagrams"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="specializedDiagramTypeID"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ElementTypeAdviceConfiguration" abstract="true"
+ eSuperTypes="#//ConfigurationElement"/>
+</ecore:EPackage>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecorediag b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecorediag
index 0757d3c6b7c..7732060f783 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecorediag
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecorediag
@@ -1,234 +1,403 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_pHTPAOAjEd-0CYOJPs0ewQ" type="EcoreTools" name="ExtendedTypes" measurementUnit="Pixel">
- <children xmi:type="notation:Node" xmi:id="_AtZG0OA1Ed-0CYOJPs0ewQ" type="1001">
- <children xmi:type="notation:Node" xmi:id="_Ati30OA1Ed-0CYOJPs0ewQ" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_Ati30eA1Ed-0CYOJPs0ewQ" type="5001">
- <children xmi:type="notation:Node" xmi:id="_BpbJ4OA4Ed-0CYOJPs0ewQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeSet/id"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_BpbJ4eA4Ed-0CYOJPs0ewQ"/>
- </children>
- <styles xmi:type="notation:DrawerStyle" xmi:id="_Ati30uA1Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_Ati30-A1Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_Ati31OA1Ed-0CYOJPs0ewQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_Ati31eA1Ed-0CYOJPs0ewQ" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_Ati31uA1Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_Ati31-A1Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_Ati32OA1Ed-0CYOJPs0ewQ"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_AtZG0eA1Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ExtendedElementTypeSet"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtZG0uA1Ed-0CYOJPs0ewQ" x="95" y="55" width="286" height="178"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_D22yIOA1Ed-0CYOJPs0ewQ" type="1001">
- <children xmi:type="notation:Node" xmi:id="_D22yI-A1Ed-0CYOJPs0ewQ" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_D22yJOA1Ed-0CYOJPs0ewQ" type="5001">
- <children xmi:type="notation:Node" xmi:id="_hiuTMOA3Ed-0CYOJPs0ewQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/name"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_hiuTMeA3Ed-0CYOJPs0ewQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_bv8RsOA2Ed-0CYOJPs0ewQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/id"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_bv8RseA2Ed-0CYOJPs0ewQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_yKWz0OA3Ed-0CYOJPs0ewQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/kindName"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_yKWz0eA3Ed-0CYOJPs0ewQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_qw89UOA3Ed-0CYOJPs0ewQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/hint"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_qw89UeA3Ed-0CYOJPs0ewQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_4DzTcOA3Ed-0CYOJPs0ewQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/specializedTypesID"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_4DzTceA3Ed-0CYOJPs0ewQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_u04IYIiaEeGlC_7TvaBunA" type="2001">
- <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/specializedDiagramTypeID"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_u04IYYiaEeGlC_7TvaBunA"/>
- </children>
- <styles xmi:type="notation:DrawerStyle" xmi:id="_D22yJeA1Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_D22yJuA1Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_D22yJ-A1Ed-0CYOJPs0ewQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_D22yKOA1Ed-0CYOJPs0ewQ" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_D22yKeA1Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_D22yKuA1Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_D22yK-A1Ed-0CYOJPs0ewQ"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_D22yIeA1Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D22yIuA1Ed-0CYOJPs0ewQ" x="580" y="55" width="263" height="578"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_RFg54OA3Ed-0CYOJPs0ewQ" type="1001">
- <children xmi:type="notation:Node" xmi:id="_RFg54-A3Ed-0CYOJPs0ewQ" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_RFg55OA3Ed-0CYOJPs0ewQ" type="5001">
- <children xmi:type="notation:Node" xmi:id="_U2KhAOA3Ed-0CYOJPs0ewQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//IconEntry/iconPath"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_U2KhAeA3Ed-0CYOJPs0ewQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_TW8xAOA3Ed-0CYOJPs0ewQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//IconEntry/bundleId"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_TW8xAeA3Ed-0CYOJPs0ewQ"/>
- </children>
- <styles xmi:type="notation:DrawerStyle" xmi:id="_RFg55eA3Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_RFg55uA3Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_RFg55-A3Ed-0CYOJPs0ewQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_RFg56OA3Ed-0CYOJPs0ewQ" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_RFg56eA3Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_RFg56uA3Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_RFg56-A3Ed-0CYOJPs0ewQ"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_RFg54eA3Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//IconEntry"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RFg54uA3Ed-0CYOJPs0ewQ" x="980" y="55" width="208" height="83"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_W1kXgOA4Ed-0CYOJPs0ewQ" type="1001">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W3DlQOA4Ed-0CYOJPs0ewQ" source="Shortcut">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W3DlQeA4Ed-0CYOJPs0ewQ" key="modelID" value="EcoreTools"/>
- </eAnnotations>
- <children xmi:type="notation:Node" xmi:id="_W1kXg-A4Ed-0CYOJPs0ewQ" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_W1kXhOA4Ed-0CYOJPs0ewQ" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_W1kXheA4Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_W1kXhuA4Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_W1kXh-A4Ed-0CYOJPs0ewQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_W1kXiOA4Ed-0CYOJPs0ewQ" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_W1kXieA4Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_W1kXiuA4Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_W1kXi-A4Ed-0CYOJPs0ewQ"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_W1kXgeA4Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecore#//QueryConfiguration"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W1kXguA4Ed-0CYOJPs0ewQ" x="985" y="155" width="205"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_enajMOA4Ed-0CYOJPs0ewQ" type="1001">
- <children xmi:type="notation:Node" xmi:id="_enjtIOA4Ed-0CYOJPs0ewQ" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_enjtIeA4Ed-0CYOJPs0ewQ" type="5001">
- <children xmi:type="notation:Node" xmi:id="_uzjsUONGEd-BL-3v69vIsw" type="2001">
- <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ActionConfiguration/label"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_uzjsUeNGEd-BL-3v69vIsw"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_s0TKUONGEd-BL-3v69vIsw" type="2001">
- <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ActionConfiguration/id"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_s0TKUeNGEd-BL-3v69vIsw"/>
- </children>
- <styles xmi:type="notation:DrawerStyle" xmi:id="_enjtIuA4Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_enjtI-A4Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_enjtJOA4Ed-0CYOJPs0ewQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_enjtJeA4Ed-0CYOJPs0ewQ" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_enjtJuA4Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_enjtJ-A4Ed-0CYOJPs0ewQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_enjtKOA4Ed-0CYOJPs0ewQ"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_enajMeA4Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ActionConfiguration"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_enajMuA4Ed-0CYOJPs0ewQ" x="985" y="250" width="201" height="101"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_NZHV0ONGEd-BL-3v69vIsw" type="1001">
- <children xmi:type="notation:Node" xmi:id="_NZHV0-NGEd-BL-3v69vIsw" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_NZHV1ONGEd-BL-3v69vIsw" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_NZHV1eNGEd-BL-3v69vIsw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_NZHV1uNGEd-BL-3v69vIsw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_NZHV1-NGEd-BL-3v69vIsw"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_NZHV2ONGEd-BL-3v69vIsw" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_NZHV2eNGEd-BL-3v69vIsw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_NZHV2uNGEd-BL-3v69vIsw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_NZHV2-NGEd-BL-3v69vIsw"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_NZHV0eNGEd-BL-3v69vIsw" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//PreActionConfiguration"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NZHV0uNGEd-BL-3v69vIsw" x="885" y="410"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_RVsgIONGEd-BL-3v69vIsw" type="1001">
- <children xmi:type="notation:Node" xmi:id="_RVsgI-NGEd-BL-3v69vIsw" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_RVsgJONGEd-BL-3v69vIsw" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_RVsgJeNGEd-BL-3v69vIsw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_RVsgJuNGEd-BL-3v69vIsw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_RVsgJ-NGEd-BL-3v69vIsw"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_RVsgKONGEd-BL-3v69vIsw" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_RVsgKeNGEd-BL-3v69vIsw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_RVsgKuNGEd-BL-3v69vIsw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_RVsgK-NGEd-BL-3v69vIsw"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_RVsgIeNGEd-BL-3v69vIsw" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//PostActionConfiguration"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RVsgIuNGEd-BL-3v69vIsw" x="1065" y="410" height="148"/>
- </children>
- <styles xmi:type="notation:DiagramStyle" xmi:id="_pHTPAeAjEd-0CYOJPs0ewQ"/>
- <element xmi:type="ecore:EPackage" href="ExtendedTypes.ecore#/"/>
- <edges xmi:type="notation:Edge" xmi:id="_GOjCQOA1Ed-0CYOJPs0ewQ" type="3002" source="_AtZG0OA1Ed-0CYOJPs0ewQ" target="_D22yIOA1Ed-0CYOJPs0ewQ">
- <children xmi:type="notation:Node" xmi:id="_GOjCROA1Ed-0CYOJPs0ewQ" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_GOjCReA1Ed-0CYOJPs0ewQ" x="-10" y="-10"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_GOjCRuA1Ed-0CYOJPs0ewQ" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_GOjCR-A1Ed-0CYOJPs0ewQ" x="10" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_GOjCQeA1Ed-0CYOJPs0ewQ" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_GOjCQuA1Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="ExtendedTypes.ecore#//ExtendedElementTypeSet/elementType"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GOjCQ-A1Ed-0CYOJPs0ewQ" points="[142, -7, -321, 17]$[343, -9, -120, 15]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaUoAOA1Ed-0CYOJPs0ewQ" id="(0.9370629370629371,0.5112359550561798)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_al4SUOA2Ed-0CYOJPs0ewQ" id="(0.030418250950570342,0.15570934256055363)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_Y42TUOA3Ed-0CYOJPs0ewQ" type="3002" source="_D22yIOA1Ed-0CYOJPs0ewQ" target="_RFg54OA3Ed-0CYOJPs0ewQ">
- <children xmi:type="notation:Node" xmi:id="_Y5AEUOA3Ed-0CYOJPs0ewQ" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Y5AEUeA3Ed-0CYOJPs0ewQ" x="-10" y="-10"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_Y5AEUuA3Ed-0CYOJPs0ewQ" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Y5AEU-A3Ed-0CYOJPs0ewQ" x="10" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_Y42TUeA3Ed-0CYOJPs0ewQ" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_Y42TUuA3Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/iconEntry"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y42TU-A3Ed-0CYOJPs0ewQ" points="[42, 1, -207, 5]$[317, 23, 68, 27]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y5AEVOA3Ed-0CYOJPs0ewQ" id="(0.9391634980988594,0.07093425605536333)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_gEPtkOA4Ed-0CYOJPs0ewQ" type="3002" source="_D22yIOA1Ed-0CYOJPs0ewQ" target="_NZHV0ONGEd-BL-3v69vIsw">
- <children xmi:type="notation:Node" xmi:id="_gEPtlOA4Ed-0CYOJPs0ewQ" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_gEPtleA4Ed-0CYOJPs0ewQ" x="-10" y="-10"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_gEPtluA4Ed-0CYOJPs0ewQ" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_gEPtl-A4Ed-0CYOJPs0ewQ" x="-7" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_gEPtkeA4Ed-0CYOJPs0ewQ" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_gEPtkuA4Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/preAction"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gEPtk-A4Ed-0CYOJPs0ewQ" points="[35, 3, -157, 1]$[193, -13, 1, -15]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gEPtmOA4Ed-0CYOJPs0ewQ" id="(0.9885931558935361,0.6262975778546713)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gEPtmeA4Ed-0CYOJPs0ewQ" id="(0.22077922077922077,0.09523809523809523)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_iKNUgOA4Ed-0CYOJPs0ewQ" type="3002" source="_D22yIOA1Ed-0CYOJPs0ewQ" target="_RVsgIONGEd-BL-3v69vIsw">
- <children xmi:type="notation:Node" xmi:id="_iKNUhOA4Ed-0CYOJPs0ewQ" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_iKNUheA4Ed-0CYOJPs0ewQ" x="-1" y="-10"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_iKNUhuA4Ed-0CYOJPs0ewQ" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_iKNUh-A4Ed-0CYOJPs0ewQ" x="10" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_iKNUgeA4Ed-0CYOJPs0ewQ" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_iKNUguA4Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/postAction"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iKNUg-A4Ed-0CYOJPs0ewQ" points="[21, 0, -172, 2]$[194, 22, 1, 24]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iKNUiOA4Ed-0CYOJPs0ewQ" id="(0.9695817490494296,0.740484429065744)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iKNUieA4Ed-0CYOJPs0ewQ" id="(0.09433962264150944,0.5)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_vzh0cOA5Ed-0CYOJPs0ewQ" type="3003" source="_NZHV0ONGEd-BL-3v69vIsw" target="_enajMOA4Ed-0CYOJPs0ewQ">
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_vzh0ceA5Ed-0CYOJPs0ewQ" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_vzh0cuA5Ed-0CYOJPs0ewQ"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vzh0c-A5Ed-0CYOJPs0ewQ" points="[1, -6, -44, 116]$[1, -31, -44, 91]$[101, -31, 56, 91]$[101, -67, 56, 55]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TQeKwONGEd-BL-3v69vIsw" id="(0.5526315789473685,0.16666666666666666)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uWCa8P4CEd-9VfrUWBt1SA" id="(0.14925373134328357,0.44554455445544555)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_4a3dsOA5Ed-0CYOJPs0ewQ" type="3003" source="_RVsgIONGEd-BL-3v69vIsw" target="_enajMOA4Ed-0CYOJPs0ewQ">
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_4a3dseA5Ed-0CYOJPs0ewQ" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_4a3dsuA5Ed-0CYOJPs0ewQ"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4a3ds-A5Ed-0CYOJPs0ewQ" points="[12, -17, 66, 111]$[12, -42, 66, 86]$[-68, -42, -14, 86]$[-68, -78, -14, 50]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4a3dtOA5Ed-0CYOJPs0ewQ" id="(0.46496815286624205,0.11904761904761904)"/>
- </edges>
-</notation:Diagram>
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_pHTPAOAjEd-0CYOJPs0ewQ" type="EcoreTools" name="ExtendedTypes" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_AtZG0OA1Ed-0CYOJPs0ewQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ati30OA1Ed-0CYOJPs0ewQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Ati30eA1Ed-0CYOJPs0ewQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_hEerQF21EeOaP_1Gowzb-Q" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeSet/extensible"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hEerQV21EeOaP_1Gowzb-Q"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ati30uA1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ati30-A1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ati31OA1Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ati31eA1Ed-0CYOJPs0ewQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ati31uA1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ati31-A1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ati32OA1Ed-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_AtZG0eA1Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="8905185" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ExtendedElementTypeSet"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtZG0uA1Ed-0CYOJPs0ewQ" x="20" y="210" width="263" height="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_D22yIOA1Ed-0CYOJPs0ewQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_D22yI-A1Ed-0CYOJPs0ewQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_D22yJOA1Ed-0CYOJPs0ewQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_yKWz0OA3Ed-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ElementTypeConfiguration/kindName"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_yKWz0eA3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_qw89UOA3Ed-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ElementTypeConfiguration/hint"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qw89UeA3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_4DzTcOA3Ed-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ElementTypeConfiguration/specializedTypesID"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4DzTceA3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_D22yJeA1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_D22yJuA1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_D22yJ-A1Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_D22yKOA1Ed-0CYOJPs0ewQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_D22yKeA1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_D22yKuA1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_D22yK-A1Ed-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_D22yIeA1Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="8905185" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ElementTypeConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D22yIuA1Ed-0CYOJPs0ewQ" x="420" y="210" width="243" height="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_RFg54OA3Ed-0CYOJPs0ewQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_RFg54-A3Ed-0CYOJPs0ewQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_RFg55OA3Ed-0CYOJPs0ewQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_U2KhAOA3Ed-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//IconEntry/iconPath"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_U2KhAeA3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_TW8xAOA3Ed-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//IconEntry/bundleId"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TW8xAeA3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_RFg55eA3Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RFg55uA3Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RFg55-A3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_RFg56OA3Ed-0CYOJPs0ewQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_RFg56eA3Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RFg56uA3Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RFg56-A3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_RFg54eA3Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="8905185" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//IconEntry"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RFg54uA3Ed-0CYOJPs0ewQ" x="810" y="30" width="243" height="103"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vF928FaMEeOnIbrN_mmRsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_vGD9kFaMEeOnIbrN_mmRsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_vGFLsFaMEeOnIbrN_mmRsw" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_xXoXkFaMEeOnIbrN_mmRsw" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ConfigurationElement/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_xXoXkVaMEeOnIbrN_mmRsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__vM6EFaMEeOnIbrN_mmRsw" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ConfigurationElement/identifier"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__vM6EVaMEeOnIbrN_mmRsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_59WQMFaMEeOnIbrN_mmRsw" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ConfigurationElement/description"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_59WQMVaMEeOnIbrN_mmRsw"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_vGFLsVaMEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vGFLslaMEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vGFLs1aMEeOnIbrN_mmRsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vGHA4FaMEeOnIbrN_mmRsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_vGHA4VaMEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vGHA4laMEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vGHA41aMEeOnIbrN_mmRsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_vF928VaMEeOnIbrN_mmRsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12632256" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ConfigurationElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vF928laMEeOnIbrN_mmRsw" x="420" y="30" width="243" height="103"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_eu994FaNEeOnIbrN_mmRsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_evAaIFaNEeOnIbrN_mmRsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_evBBMFaNEeOnIbrN_mmRsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_evBBMVaNEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_evBBMlaNEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_evBBM1aNEeOnIbrN_mmRsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_evCPUFaNEeOnIbrN_mmRsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_evCPUVaNEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_evCPUlaNEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_evCPU1aNEeOnIbrN_mmRsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_eu994VaNEeOnIbrN_mmRsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="8905185" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ViewTypeAdviceConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eu994laNEeOnIbrN_mmRsw" x="-540" y="390" width="243" height="113"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_6fp2kFaNEeOnIbrN_mmRsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_6fs54FaNEeOnIbrN_mmRsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_6fvWIFaNEeOnIbrN_mmRsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_6fvWIVaNEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6fvWIlaNEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6fvWI1aNEeOnIbrN_mmRsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_6fxLUFaNEeOnIbrN_mmRsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_6fxLUVaNEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6fxLUlaNEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6fxLU1aNEeOnIbrN_mmRsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_6fp2kVaNEeOnIbrN_mmRsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="8905185" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//SemanticTypeAdviceConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6fp2klaNEeOnIbrN_mmRsw" x="-270" y="390" width="243" height="113"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_BqvHwFaPEeOnIbrN_mmRsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Bq6G4FaPEeOnIbrN_mmRsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Bq7VAFaPEeOnIbrN_mmRsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Bq7VAVaPEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Bq7VAlaPEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Bq7VA1aPEeOnIbrN_mmRsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Bq78EFaPEeOnIbrN_mmRsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Bq78EVaPEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Bq8jIFaPEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Bq8jIVaPEeOnIbrN_mmRsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_BqvHwVaPEeOnIbrN_mmRsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12632256" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//MatcherConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BqvHwlaPEeOnIbrN_mmRsw" x="860" y="210" width="243" height="113"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__MkT0FacEeOnIbrN_mmRsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="__MmwEFacEeOnIbrN_mmRsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="__MnXIFacEeOnIbrN_mmRsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__MnXIVacEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__MnXIlacEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__MnXI1acEeOnIbrN_mmRsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__MolQFacEeOnIbrN_mmRsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__MolQVacEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__MolQlacEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__MolQ1acEeOnIbrN_mmRsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__Mk64FacEeOnIbrN_mmRsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12632256" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__Mk64VacEeOnIbrN_mmRsw" x="1140" y="220" width="223" height="113"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_HlSSQFadEeOnIbrN_mmRsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_HlUHcFadEeOnIbrN_mmRsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_HlVVkFadEeOnIbrN_mmRsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_HlVVkVadEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_HlVVkladEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_HlVVk1adEeOnIbrN_mmRsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_HlV8oFadEeOnIbrN_mmRsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_HlV8oVadEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_HlV8oladEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_HlV8o1adEeOnIbrN_mmRsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_HlSSQVadEeOnIbrN_mmRsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="8905185" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ViewActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HlSSQladEeOnIbrN_mmRsw" x="1050" y="390" width="183" height="63"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NL1rEFadEeOnIbrN_mmRsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_NL3gQFadEeOnIbrN_mmRsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_NL4uYFadEeOnIbrN_mmRsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_NL4uYVadEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NL4uYladEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NL4uY1adEeOnIbrN_mmRsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NL58gFadEeOnIbrN_mmRsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_NL58gVadEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NL58gladEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NL58g1adEeOnIbrN_mmRsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_NL2SIFadEeOnIbrN_mmRsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="8905185" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//SemanticActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NL2SIVadEeOnIbrN_mmRsw" x="1260" y="390" width="203" height="63"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_6Gf6cFazEeOnIbrN_mmRsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6HCtAFazEeOnIbrN_mmRsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6HCtAVazEeOnIbrN_mmRsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_6Gf6c1azEeOnIbrN_mmRsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_6GghgFazEeOnIbrN_mmRsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_6GghgVazEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6GghglazEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6Gghg1azEeOnIbrN_mmRsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_6GghhFazEeOnIbrN_mmRsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_6GghhVazEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6GghhlazEeOnIbrN_mmRsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6Gghh1azEeOnIbrN_mmRsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_6Gf6cVazEeOnIbrN_mmRsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12632256" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecore#//QueryConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Gf6clazEeOnIbrN_mmRsw" x="1490" y="220" width="183" height="83"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_gQ6R4Fd2EeOMz7r5xDmlGQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_gRAYgFd2EeOMz7r5xDmlGQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_gRC0wFd2EeOMz7r5xDmlGQ" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_gRC0wVd2EeOMz7r5xDmlGQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_gRC0wld2EeOMz7r5xDmlGQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_gRC0w1d2EeOMz7r5xDmlGQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_gRFRAFd2EeOMz7r5xDmlGQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_gRFRAVd2EeOMz7r5xDmlGQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_gRFRAld2EeOMz7r5xDmlGQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_gRFRA1d2EeOMz7r5xDmlGQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_gQ6R4Vd2EeOMz7r5xDmlGQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//SemanticTypeConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gQ6R4ld2EeOMz7r5xDmlGQ" x="280" y="390" width="243" height="113"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_r2M6AFd2EeOMz7r5xDmlGQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_r2PWQFd2EeOMz7r5xDmlGQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_r2P9UFd2EeOMz7r5xDmlGQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_u04IYIiaEeGlC_7TvaBunA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ViewTypeConfiguration/specializedDiagramTypeID"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_u04IYYiaEeGlC_7TvaBunA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_r2P9UVd2EeOMz7r5xDmlGQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_r2P9Uld2EeOMz7r5xDmlGQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_r2P9U1d2EeOMz7r5xDmlGQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_r2RLcFd2EeOMz7r5xDmlGQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_r2RLcVd2EeOMz7r5xDmlGQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_r2RLcld2EeOMz7r5xDmlGQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_r2RLc1d2EeOMz7r5xDmlGQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_r2M6AVd2EeOMz7r5xDmlGQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ViewTypeConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r2M6Ald2EeOMz7r5xDmlGQ" x="560" y="390" width="303" height="113"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_LZtoMFg0EeOZc_L6ctfnzA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_LZu2UFg0EeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_LZvdYFg0EeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_LZvdYVg0EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_LZvdYlg0EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_LZvdY1g0EeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_LZwEcFg0EeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_LZwEcVg0EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_LZwEclg0EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_LZwEc1g0EeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_LZtoMVg0EeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ElementTypeAdviceConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LZtoMlg0EeOZc_L6ctfnzA" x="-400" y="211" width="243" height="122"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_pHTPAeAjEd-0CYOJPs0ewQ"/>
+ <element xmi:type="ecore:EPackage" href="ExtendedTypes.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_GOjCQOA1Ed-0CYOJPs0ewQ" type="3002" source="_AtZG0OA1Ed-0CYOJPs0ewQ" target="_D22yIOA1Ed-0CYOJPs0ewQ">
+ <children xmi:type="notation:Node" xmi:id="_GOjCROA1Ed-0CYOJPs0ewQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GOjCReA1Ed-0CYOJPs0ewQ" x="-19" y="-11"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GOjCRuA1Ed-0CYOJPs0ewQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GOjCR-A1Ed-0CYOJPs0ewQ" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_GOjCQeA1Ed-0CYOJPs0ewQ" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GOjCQuA1Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ExtendedTypes.ecore#//ExtendedElementTypeSet/elementType"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GOjCQ-A1Ed-0CYOJPs0ewQ" points="[142, -7, -321, 17]$[343, -9, -120, 15]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaUoAOA1Ed-0CYOJPs0ewQ" id="(0.993006993006993,0.4152542372881356)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_al4SUOA2Ed-0CYOJPs0ewQ" id="(0.0076045627376425855,0.40707964601769914)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Y42TUOA3Ed-0CYOJPs0ewQ" type="3002" source="_vF928FaMEeOnIbrN_mmRsw" target="_RFg54OA3Ed-0CYOJPs0ewQ">
+ <children xmi:type="notation:Node" xmi:id="_Y5AEUOA3Ed-0CYOJPs0ewQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Y5AEUeA3Ed-0CYOJPs0ewQ" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Y5AEUuA3Ed-0CYOJPs0ewQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Y5AEU-A3Ed-0CYOJPs0ewQ" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Y42TUeA3Ed-0CYOJPs0ewQ" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Y42TUuA3Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ExtendedTypes.ecore#//ConfigurationElement/iconEntry"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y42TU-A3Ed-0CYOJPs0ewQ" points="[42, 1, -207, 5]$[317, 23, 68, 27]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y5AEVOA3Ed-0CYOJPs0ewQ" id="(0.9781931464174455,0.5274725274725275)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_PWwdwFaNEeOnIbrN_mmRsw" type="3003" source="_AtZG0OA1Ed-0CYOJPs0ewQ" target="_vF928FaMEeOnIbrN_mmRsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_PWwdwVaNEeOnIbrN_mmRsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PWwdwlaNEeOnIbrN_mmRsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PWwdw1aNEeOnIbrN_mmRsw" points="[-26, -4, -355, 85]$[-26, -44, -355, 45]$[365, -44, 36, 45]$[365, -83, 36, 6]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PW3LcFaNEeOnIbrN_mmRsw" id="(0.5944055944055944,0.033707865168539325)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QoA_YFaPEeOnIbrN_mmRsw" id="(0.34890965732087226,0.945054945054945)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_P5L1YFaNEeOnIbrN_mmRsw" type="3003" source="_D22yIOA1Ed-0CYOJPs0ewQ" target="_vF928FaMEeOnIbrN_mmRsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_P5L1YVaNEeOnIbrN_mmRsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_P5MccFaNEeOnIbrN_mmRsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_P5MccVaNEeOnIbrN_mmRsw" points="[0, -1, -5, 130]$[0, -80, -5, 51]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_P5U_UFaNEeOnIbrN_mmRsw" id="(0.49794238683127573,0.016260162601626018)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_4W5vcFaPEeOnIbrN_mmRsw" type="3002" source="_D22yIOA1Ed-0CYOJPs0ewQ" target="_BqvHwFaPEeOnIbrN_mmRsw">
+ <children xmi:type="notation:Node" xmi:id="_4W69kFaPEeOnIbrN_mmRsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4W69kVaPEeOnIbrN_mmRsw" x="-42" y="-11"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_4W7koFaPEeOnIbrN_mmRsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4W8LsFaPEeOnIbrN_mmRsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_4W5vcVaPEeOnIbrN_mmRsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4W5vclaPEeOnIbrN_mmRsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ExtendedTypes.ecore#//ElementTypeConfiguration/matcherConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4W5vc1aPEeOnIbrN_mmRsw" points="[27, -29, -434, 31]$[226, -29, -235, 31]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4XCSUFaPEeOnIbrN_mmRsw" id="(0.8888888888888888,0.8292682926829268)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4XCSUVaPEeOnIbrN_mmRsw" id="(0.9762845849802372,0.3655913978494624)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_E94LIFadEeOnIbrN_mmRsw" type="3003" source="__MkT0FacEeOnIbrN_mmRsw" target="_vF928FaMEeOnIbrN_mmRsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_E94LIVadEeOnIbrN_mmRsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_E94LIladEeOnIbrN_mmRsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_E94LI1adEeOnIbrN_mmRsw" points="[43, -9, 802, 106]$[43, -59, 802, 56]$[-700, -59, 59, 56]$[-700, -98, 59, 17]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E971gFadEeOnIbrN_mmRsw" id="(0.45493562231759654,0.08433734939759036)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E98ckFadEeOnIbrN_mmRsw" id="(0.25691699604743085,0.8349514563106796)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_cxGvwFadEeOnIbrN_mmRsw" type="3003" source="_HlSSQFadEeOnIbrN_mmRsw" target="__MkT0FacEeOnIbrN_mmRsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_cxGvwVadEeOnIbrN_mmRsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_cxGvwladEeOnIbrN_mmRsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cxGvw1adEeOnIbrN_mmRsw" points="[-1, -2, -119, 68]$[-1, -32, -119, 38]$[109, -32, -9, 38]$[109, -61, -9, 9]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cxLBMFadEeOnIbrN_mmRsw" id="(0.5081967213114754,0.04225352112676056)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eZwIkFadEeOnIbrN_mmRsw" id="(0.5407725321888412,0.927710843373494)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_f0YTgFadEeOnIbrN_mmRsw" type="3003" source="_NL1rEFadEeOnIbrN_mmRsw" target="__MkT0FacEeOnIbrN_mmRsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_f0YTgVadEeOnIbrN_mmRsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_f0YTgladEeOnIbrN_mmRsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_f0YTg1adEeOnIbrN_mmRsw" points="[2, -5, 110, 115]$[2, -35, 110, 85]$[-108, -35, 0, 85]$[-108, -64, 0, 56]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f0ck8FadEeOnIbrN_mmRsw" id="(0.4918032786885246,0.08641975308641975)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_SSRbkFasEeOnIbrN_mmRsw" type="3002" source="__MkT0FacEeOnIbrN_mmRsw" target="_6Gf6cFazEeOnIbrN_mmRsw">
+ <children xmi:type="notation:Node" xmi:id="_SSZXYFasEeOnIbrN_mmRsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SSZXYVasEeOnIbrN_mmRsw" x="-59" y="-13"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_SSZ-cFasEeOnIbrN_mmRsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SSZ-cVasEeOnIbrN_mmRsw" y="12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_SSRbkVasEeOnIbrN_mmRsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_SSRbklasEeOnIbrN_mmRsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ExtendedTypes.ecore#//ActionConfiguration/preValidationQueryConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SSRbk1asEeOnIbrN_mmRsw" points="[-33, -9, 240, 5]$[-182, -9, 91, 5]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SSgsIFasEeOnIbrN_mmRsw" id="(0.15246636771300448,0.4939759036144578)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_0TGN0Fd2EeOMz7r5xDmlGQ" type="3003" source="_gQ6R4Fd2EeOMz7r5xDmlGQ" target="_D22yIOA1Ed-0CYOJPs0ewQ">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_0TGN0Vd2EeOMz7r5xDmlGQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0TGN0ld2EeOMz7r5xDmlGQ" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0TGN01d2EeOMz7r5xDmlGQ" points="[16, -13, -144, 89]$[16, -43, -144, 59]$[156, -43, -4, 59]$[156, -72, -4, 30]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0TP-0Fd2EeOMz7r5xDmlGQ" id="(0.43209876543209874,0.12389380530973451)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0TP-0Vd2EeOMz7r5xDmlGQ" id="(0.5185185185185185,0.7560975609756098)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_02Dw8Fd2EeOMz7r5xDmlGQ" type="3003" source="_r2M6AFd2EeOMz7r5xDmlGQ" target="_D22yIOA1Ed-0CYOJPs0ewQ">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_02Dw8Vd2EeOMz7r5xDmlGQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_02Dw8ld2EeOMz7r5xDmlGQ" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_02Dw81d2EeOMz7r5xDmlGQ" points="[2, -19, 189, 82]$[2, -49, 189, 52]$[-168, -49, 19, 52]$[-168, -78, 19, 23]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_02JQgFd2EeOMz7r5xDmlGQ" id="(0.49201277955271566,0.17699115044247787)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_02J3kFd2EeOMz7r5xDmlGQ" id="(0.41975308641975306,0.8130081300813008)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IzApwFeGEeOMz7r5xDmlGQ" type="3003" source="_LZtoMFg0EeOZc_L6ctfnzA" target="_vF928FaMEeOnIbrN_mmRsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IzApwVeGEeOMz7r5xDmlGQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IzApwleGEeOMz7r5xDmlGQ" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IzApw1eGEeOMz7r5xDmlGQ" points="[62, -20, -794, 131]$[62, -61, -794, 90]$[856, -61, 0, 90]$[856, -100, 0, 51]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IzE7MFeGEeOMz7r5xDmlGQ" id="(0.3497942386831276,0.17117117117117117)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_ese3cFeGEeOMz7r5xDmlGQ" type="3003" source="_6fp2kFaNEeOnIbrN_mmRsw" target="_LZtoMFg0EeOZc_L6ctfnzA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ese3cVeGEeOMz7r5xDmlGQ" routing="Rectilinear" jumpLinkType="Chamfered" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ese3cleGEeOMz7r5xDmlGQ" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ese3c1eGEeOMz7r5xDmlGQ" points="[-26, -5, 85, 75]$[-26, -35, 85, 45]$[-146, -35, -35, 45]$[-146, -64, -35, 16]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_esjI4FeGEeOMz7r5xDmlGQ" id="(0.5679012345679012,0.05309734513274336)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_P5pXMFg0EeOZc_L6ctfnzA" id="(0.6460905349794238,0.8738738738738738)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_R8SkYFg0EeOZc_L6ctfnzA" type="3003" source="_eu994FaNEeOnIbrN_mmRsw" target="_LZtoMFg0EeOZc_L6ctfnzA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_R8TLcFg0EeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_R8TLcVg0EeOZc_L6ctfnzA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R8TLclg0EeOZc_L6ctfnzA" points="[48, -27, -136, 78]$[48, -57, -136, 48]$[168, -57, -16, 48]$[168, -86, -16, 19]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R8WOwFg0EeOZc_L6ctfnzA" id="(0.38271604938271603,0.24778761061946902)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R8WOwVg0EeOZc_L6ctfnzA" id="(0.5679012345679012,0.8468468468468469)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.genmodel b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.genmodel
index dbaf61ba388..8d260f33f88 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.genmodel
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.genmodel
@@ -1,38 +1,49 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.infra.extendedtypes/src-gen"
- editDirectory="/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen" editorDirectory="/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen"
- modelPluginID="org.eclipse.papyrus.infra.extendedtypes" modelName="ExtendedTypes"
- testsDirectory="/org.eclipse.papyrus.infra.extendedtypes.tests/src-gen" importerID="org.eclipse.emf.importer.ecore"
- complianceLevel="5.0" copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel#//configuration platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.genmodel#//query platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml platform:/plugin/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel#//types">
- <foreignModel>ExtendedTypes.ecore</foreignModel>
- <genPackages prefix="Extendedtypes" basePackage="org.eclipse.papyrus.infra" resource="XML"
- disposableProviderFactory="true" ecorePackage="ExtendedTypes.ecore#/">
- <genClasses ecoreClass="ExtendedTypes.ecore#//ExtendedElementTypeSet">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ExtendedElementTypeSet/elementType"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeSet/id"/>
- </genClasses>
- <genClasses ecoreClass="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/name"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/id"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/iconEntry"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/hint"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/kindName"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/specializedTypesID"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/preValidation"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/preAction"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/postAction"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/specializedDiagramTypeID"/>
- </genClasses>
- <genClasses ecoreClass="ExtendedTypes.ecore#//IconEntry">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//IconEntry/iconPath"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//IconEntry/bundleId"/>
- </genClasses>
- <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//ActionConfiguration">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ActionConfiguration/label"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ActionConfiguration/id"/>
- </genClasses>
- <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//PreActionConfiguration"/>
- <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//PostActionConfiguration"/>
- </genPackages>
-</genmodel:GenModel>
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2013 CEA LIST.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA; CEA LIST - Initial API and implementation"
+ modelDirectory="/org.eclipse.papyrus.infra.extendedtypes/src-gen" creationSubmenus="true"
+ editDirectory="/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen" editorDirectory="/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.infra.extendedtypes" modelName="ExtendedTypes"
+ nonNLSMarkers="true" codeFormatting="true" commentFormatting="true" testsDirectory="/org.eclipse.papyrus.infra.extendedtypes.tests/src-gen"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ language="" usedGenPackages="platform:/plugin/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel#//configuration platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.genmodel#//query ../../org.eclipse.uml2.types/model/Types.genmodel#//types platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+ importOrganizing="true">
+ <foreignModel>ExtendedTypes.ecore</foreignModel>
+ <genPackages prefix="Extendedtypes" basePackage="org.eclipse.papyrus.infra" resource="XML"
+ disposableProviderFactory="true" literalsInterface="false" contentTypeIdentifier=""
+ ecorePackage="ExtendedTypes.ecore#/">
+ <genClasses ecoreClass="ExtendedTypes.ecore#//ExtendedElementTypeSet">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ExtendedElementTypeSet/elementType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeSet/extensible"/>
+ </genClasses>
+ <genClasses ecoreClass="ExtendedTypes.ecore#//ElementTypeConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ElementTypeConfiguration/hint"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ElementTypeConfiguration/kindName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ElementTypeConfiguration/specializedTypesID"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ElementTypeConfiguration/matcherConfiguration"/>
+ </genClasses>
+ <genClasses ecoreClass="ExtendedTypes.ecore#//IconEntry">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//IconEntry/iconPath"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//IconEntry/bundleId"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//ConfigurationElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ConfigurationElement/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ConfigurationElement/description"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ConfigurationElement/identifier"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ConfigurationElement/iconEntry"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//ViewTypeAdviceConfiguration"/>
+ <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//SemanticTypeAdviceConfiguration"/>
+ <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//MatcherConfiguration"/>
+ <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//ActionConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ActionConfiguration/preValidationQueryConfiguration"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//ViewActionConfiguration"/>
+ <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//SemanticActionConfiguration"/>
+ <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//SemanticTypeConfiguration"/>
+ <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//ViewTypeConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ViewTypeConfiguration/specializedDiagramTypeID"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//ElementTypeAdviceConfiguration"/>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantContainerConfiguration.ecore b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantContainerConfiguration.ecore
new file mode 100644
index 00000000000..c11a512b311
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantContainerConfiguration.ecore
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="invariantcontainerconfiguration" nsURI="http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/container/1.0"
+ nsPrefix="invariantcontainerconfiguration">
+ <eClassifiers xsi:type="ecore:EClass" name="InvariantContainerConfiguration" eSuperTypes="InvariantSemanticTypeConfiguration.ecore#//InvariantRuleConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="permissions" upperBound="-1"
+ eType="#//HierarchyPermission" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HierarchyPermission">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="childType" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPermitted" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStrict" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantContainerConfiguration.ecorediag b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantContainerConfiguration.ecorediag
new file mode 100644
index 00000000000..a7d36d4e800
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantContainerConfiguration.ecorediag
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_JJiHkFgvEeOZc_L6ctfnzA" type="EcoreTools" name="InvariantContainerConfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_cp6W8FgvEeOZc_L6ctfnzA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_cp6-AFgvEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_cp7lEFgvEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_cp7lEVgvEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_cp7lElgvEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_cp7lE1gvEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_cp7lFFgvEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_cp7lFVgvEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_cp7lFlgvEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_cp7lF1gvEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_cp6W8VgvEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="InvariantContainerConfiguration.ecore#//InvariantContainerConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cp6W8lgvEeOZc_L6ctfnzA" x="180" y="300" width="323" height="121"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5pS3YFgvEeOZc_L6ctfnzA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_5pYW8FgvEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_5pY-AFgvEeOZc_L6ctfnzA" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_KmuB0FgwEeOZc_L6ctfnzA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="InvariantContainerConfiguration.ecore#//HierarchyPermission/childType"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Kmuo4FgwEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NU4RMFgwEeOZc_L6ctfnzA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="InvariantContainerConfiguration.ecore#//HierarchyPermission/isPermitted"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NU4RMVgwEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_-vzskGQUEeOl5OaKZvi8pw" type="2001">
+ <element xmi:type="ecore:EAttribute" href="InvariantContainerConfiguration.ecore#//HierarchyPermission/isStrict"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-vzskWQUEeOl5OaKZvi8pw"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_5pY-AVgvEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5pY-AlgvEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5pY-A1gvEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5pY-BFgvEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_5pZlEFgvEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5pZlEVgvEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5pZlElgvEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_5pS3YVgvEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="InvariantContainerConfiguration.ecore#//HierarchyPermission"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5pS3YlgvEeOZc_L6ctfnzA" x="700" y="300" width="323" height="121"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_kiU48Fz2EeO809zwjpcRug" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ksvZMFz2EeO809zwjpcRug" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ksvZMVz2EeO809zwjpcRug" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_kinz4Fz2EeO809zwjpcRug" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_kinz4Vz2EeO809zwjpcRug" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_kinz4lz2EeO809zwjpcRug"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kinz41z2EeO809zwjpcRug"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kinz5Fz2EeO809zwjpcRug"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_kinz5Vz2EeO809zwjpcRug" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_kinz5lz2EeO809zwjpcRug"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kinz51z2EeO809zwjpcRug"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kinz6Fz2EeO809zwjpcRug"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_kiU48Vz2EeO809zwjpcRug" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ConfigurationElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kiU48lz2EeO809zwjpcRug" x="740" y="59" width="218" height="126"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_aIUqMGESEeOnIp9uJgA5yw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aUuugGESEeOnIp9uJgA5yw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aUuugWESEeOnIp9uJgA5yw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_aIXtgGESEeOnIp9uJgA5yw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_aIY7oGESEeOnIp9uJgA5yw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_aIY7oWESEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_aIY7omESEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_aIY7o2ESEeOnIp9uJgA5yw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_aIb-8GESEeOnIp9uJgA5yw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_aIb-8WESEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_aIb-8mESEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_aIb-82ESEeOnIp9uJgA5yw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_aIUqMWESEeOnIp9uJgA5yw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="InvariantSemanticTypeConfiguration.ecore#//InvariantRuleConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aIUqMmESEeOnIp9uJgA5yw" x="205" y="100" width="273"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_JJiHkVgvEeOZc_L6ctfnzA"/>
+ <element xmi:type="ecore:EPackage" href="InvariantContainerConfiguration.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_9G9REFgvEeOZc_L6ctfnzA" type="3002" source="_cp6W8FgvEeOZc_L6ctfnzA" target="_5pS3YFgvEeOZc_L6ctfnzA">
+ <children xmi:type="notation:Node" xmi:id="_9G-fMFgvEeOZc_L6ctfnzA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9G-fMVgvEeOZc_L6ctfnzA" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_9G-fMlgvEeOZc_L6ctfnzA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9G-fM1gvEeOZc_L6ctfnzA" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_9G9REVgvEeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_9G9RElgvEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="InvariantContainerConfiguration.ecore#//InvariantContainerConfiguration/permissions"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9G9RE1gvEeOZc_L6ctfnzA" points="[46, 11, -232, 0]$[245, 11, -33, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9HCJkFgvEeOZc_L6ctfnzA" id="(0.8575851393188855,0.4049586776859504)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9HCJkVgvEeOZc_L6ctfnzA" id="(0.11221122112211221,0.49586776859504134)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_dY9UgGESEeOnIp9uJgA5yw" type="3003" source="_cp6W8FgvEeOZc_L6ctfnzA" target="_aIUqMGESEeOnIp9uJgA5yw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_dY9UgWESEeOnIp9uJgA5yw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_dY9UgmESEeOnIp9uJgA5yw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dY9Ug2ESEeOnIp9uJgA5yw" points="[-7, -15, -4, 171]$[-7, -157, -4, 29]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dZh8QGESEeOnIp9uJgA5yw" id="(0.5108359133126935,0.1322314049586777)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantContainerConfiguration.genmodel b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantContainerConfiguration.genmodel
new file mode 100644
index 00000000000..cc2d4285acd
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantContainerConfiguration.genmodel
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2013 CEA LIST.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA; CEA LIST - Initial API and implementation"
+ modelDirectory="/org.eclipse.papyrus.infra.extendedtypes/src-gen" editDirectory="/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen"
+ editorDirectory="/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen" modelPluginID="org.eclipse.papyrus.infra.extendedtypes"
+ modelName="InvariantContainerConfiguration" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ usedGenPackages="../../org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel#//configuration ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ExtendedTypes.genmodel#//extendedtypes InvariantSemanticTypeConfiguration.genmodel#//invariantsemantictypeconfiguration ../../org.eclipse.emf.facet.infra.query/model/query.genmodel#//query ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+ operationReflection="true" importOrganizing="true">
+ <foreignModel>InvariantContainerConfiguration.ecore</foreignModel>
+ <genPackages prefix="InvariantContainerConfiguration" basePackage="org.eclipse.papyrus.infra.extendedtypes"
+ resource="XML" disposableProviderFactory="true" ecorePackage="InvariantContainerConfiguration.ecore#/">
+ <genClasses ecoreClass="InvariantContainerConfiguration.ecore#//InvariantContainerConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference InvariantContainerConfiguration.ecore#//InvariantContainerConfiguration/permissions"/>
+ </genClasses>
+ <genClasses ecoreClass="InvariantContainerConfiguration.ecore#//HierarchyPermission">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute InvariantContainerConfiguration.ecore#//HierarchyPermission/parentType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute InvariantContainerConfiguration.ecore#//HierarchyPermission/isPermitted"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute InvariantContainerConfiguration.ecore#//HierarchyPermission/directContainerLevelOnly"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute InvariantContainerConfiguration.ecore#//HierarchyPermission/isStrict"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.ecore b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.ecore
new file mode 100644
index 00000000000..733a4536d89
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.ecore
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="invariantsemantictypeconfiguration" nsURI="http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/1.0"
+ nsPrefix="invariantsemantictypeconfiguration">
+ <eClassifiers xsi:type="ecore:EClass" name="InvariantSemanticTypeConfiguration"
+ eSuperTypes="ExtendedTypes.ecore#//SemanticTypeConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="invariantRuleConfiguration"
+ lowerBound="1" eType="#//InvariantRuleConfiguration" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InvariantRuleConfiguration" abstract="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ComposedRuleConfiguration" abstract="true"
+ eSuperTypes="#//InvariantRuleConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="composedRules" lowerBound="2"
+ upperBound="-1" eType="#//InvariantRuleConfiguration"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AndRule" eSuperTypes="#//ComposedRuleConfiguration"/>
+ <eClassifiers xsi:type="ecore:EClass" name="OrRule" eSuperTypes="#//ComposedRuleConfiguration"/>
+</ecore:EPackage>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.ecorediag b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.ecorediag
new file mode 100644
index 00000000000..7da4b3c881c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.ecorediag
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_198uYFgsEeOZc_L6ctfnzA" type="EcoreTools" name="InvariantSemanticTypeConfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_U563UFgtEeOZc_L6ctfnzA" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VCu1EFgtEeOZc_L6ctfnzA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VCu1EVgtEeOZc_L6ctfnzA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_U59TkFgtEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_U6A98FgtEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_U6A98VgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_U6A98lgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_U6A981gtEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_U6CMEFgtEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_U6CMEVgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_U6CMElgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_U6CME1gtEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_U563UVgtEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12560536" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//SemanticTypeConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U563UlgtEeOZc_L6ctfnzA" x="260" y="60" width="243" height="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_YznswFgtEeOZc_L6ctfnzA" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y0SbIFgtEeOZc_L6ctfnzA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y0SbIVgtEeOZc_L6ctfnzA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_Yzo64FgtEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Yzph8FgtEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Yzph8VgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Yzph8lgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Yzph81gtEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_YzqJAFgtEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_YzqJAVgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_YzqJAlgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_YzqJA1gtEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_YzoT0FgtEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12560536" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//SemanticTypeAdviceConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YzoT0VgtEeOZc_L6ctfnzA" x="740" y="60" width="243" height="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_m4QsMFgtEeOZc_L6ctfnzA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_m4RTQFgtEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_m4RTQVgtEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_m4RTQlgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_m4RTQ1gtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_m4RTRFgtEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_m4ShYFgtEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_m4ShYVgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_m4ShYlgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_m4ShY1gtEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_m4QsMVgtEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="InvariantSemanticTypeConfiguration.ecore#//InvariantSemanticTypeConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m4QsMlgtEeOZc_L6ctfnzA" x="260" y="300" width="241" height="283"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_9PhpIFgtEeOZc_L6ctfnzA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_9Pw5sFgtEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_9PyH0FgtEeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_9PyH0VgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9PyH0lgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9PyH01gtEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_9PzV8FgtEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_9PzV8VgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9PzV8lgtEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9PzV81gtEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_9PhpIVgtEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="InvariantSemanticTypeConfiguration.ecore#//InvariantRuleConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9PhpIlgtEeOZc_L6ctfnzA" x="740" y="295" width="241" height="121"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_WRwtgGEAEeOnIp9uJgA5yw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_WR4CQGEAEeOnIp9uJgA5yw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_WR7FkGEAEeOnIp9uJgA5yw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_WR7FkWEAEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_WR7FkmEAEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_WR7Fk2EAEeOnIp9uJgA5yw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_WR-v8GEAEeOnIp9uJgA5yw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_WR-v8WEAEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_WR-v8mEAEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_WR-v82EAEeOnIp9uJgA5yw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_WRxUkGEAEeOnIp9uJgA5yw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="InvariantSemanticTypeConfiguration.ecore#//ComposedRuleConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WRxUkWEAEeOnIp9uJgA5yw" x="750" y="500" width="223" height="65"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_bwCUEGEAEeOnIp9uJgA5yw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_bwGlgGEAEeOnIp9uJgA5yw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_bwIasGEAEeOnIp9uJgA5yw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_bwIasWEAEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bwIasmEAEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bwIas2EAEeOnIp9uJgA5yw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_bwKP4GEAEeOnIp9uJgA5yw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_bwKP4WEAEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bwKP4mEAEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bwKP42EAEeOnIp9uJgA5yw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_bwCUEWEAEeOnIp9uJgA5yw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="InvariantSemanticTypeConfiguration.ecore#//AndRule"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bwCUEmEAEeOnIp9uJgA5yw" x="720" y="635"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_idxXYGEAEeOnIp9uJgA5yw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_id0asGEAEeOnIp9uJgA5yw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_id2P4GEAEeOnIp9uJgA5yw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_id2P4WEAEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_id2P4mEAEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_id2P42EAEeOnIp9uJgA5yw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_id4sIGEAEeOnIp9uJgA5yw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_id4sIWEAEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_id4sImEAEeOnIp9uJgA5yw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_id4sI2EAEeOnIp9uJgA5yw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_idxXYWEAEeOnIp9uJgA5yw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="InvariantSemanticTypeConfiguration.ecore#//OrRule"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_idxXYmEAEeOnIp9uJgA5yw" x="910" y="636"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_198uYVgsEeOZc_L6ctfnzA"/>
+ <element xmi:type="ecore:EPackage" href="InvariantSemanticTypeConfiguration.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_pnZL8FgtEeOZc_L6ctfnzA" type="3003" source="_m4QsMFgtEeOZc_L6ctfnzA" target="_U563UFgtEeOZc_L6ctfnzA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_pnZL8VgtEeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_pnZL8lgtEeOZc_L6ctfnzA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pnZL81gtEeOZc_L6ctfnzA" points="[4, -1, 1, 144]$[4, -120, 1, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pnf5oFgtEeOZc_L6ctfnzA" id="(0.4854771784232365,0.01652892561983471)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pnggsFgtEeOZc_L6ctfnzA" id="(0.49382716049382713,0.7967479674796748)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_AyD7wFguEeOZc_L6ctfnzA" type="3002" source="_m4QsMFgtEeOZc_L6ctfnzA" target="_9PhpIFgtEeOZc_L6ctfnzA">
+ <children xmi:type="notation:Node" xmi:id="_AyEi0FguEeOZc_L6ctfnzA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AyEi0VguEeOZc_L6ctfnzA" x="-37" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_AyFJ4FguEeOZc_L6ctfnzA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AyFJ4VguEeOZc_L6ctfnzA" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_AyD7wVguEeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_AyD7wlguEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="InvariantSemanticTypeConfiguration.ecore#//InvariantSemanticTypeConfiguration/invariantRuleConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AyD7w1guEeOZc_L6ctfnzA" points="[38, -156, -288, -17]$[279, -156, -47, -17]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AyKpcFguEeOZc_L6ctfnzA" id="(0.8423236514522822,0.734982332155477)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AyKpcVguEeOZc_L6ctfnzA" id="(0.1991701244813278,0.6115702479338843)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_knk8gGEAEeOnIp9uJgA5yw" type="3003" source="_WRwtgGEAEeOnIp9uJgA5yw" target="_9PhpIFgtEeOZc_L6ctfnzA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_knk8gWEAEeOnIp9uJgA5yw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_knk8gmEAEeOnIp9uJgA5yw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_knk8g2EAEeOnIp9uJgA5yw" points="[-9, -12, 116, 151]$[-85, -103, 40, 60]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_knuGcGEAEeOnIp9uJgA5yw" id="(0.5201793721973094,0.2)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lKVEQGEAEeOnIp9uJgA5yw" type="3003" source="_bwCUEGEAEeOnIp9uJgA5yw" target="_WRwtgGEAEeOnIp9uJgA5yw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lKVEQWEAEeOnIp9uJgA5yw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lKVEQmEAEeOnIp9uJgA5yw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lKVrUGEAEeOnIp9uJgA5yw" points="[11, -20, -79, 104]$[11, -60, -79, 64]$[80, -60, -10, 64]$[80, -92, -10, 32]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_l2N54GEAEeOnIp9uJgA5yw" type="3003" source="_idxXYGEAEeOnIp9uJgA5yw" target="_WRwtgGEAEeOnIp9uJgA5yw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_l2N54WEAEeOnIp9uJgA5yw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_l2N54mEAEeOnIp9uJgA5yw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l2N542EAEeOnIp9uJgA5yw" points="[-40, -20, 60, 105]$[-40, -61, 60, 64]$[-110, -61, -10, 64]$[-110, -93, -10, 32]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_m3-44GEAEeOnIp9uJgA5yw" type="3002" source="_WRwtgGEAEeOnIp9uJgA5yw" target="_9PhpIFgtEeOZc_L6ctfnzA">
+ <children xmi:type="notation:Node" xmi:id="_m4CjQGEAEeOnIp9uJgA5yw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_m4CjQWEAEeOnIp9uJgA5yw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_m4E_gGEAEeOnIp9uJgA5yw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_m4E_gWEAEeOnIp9uJgA5yw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_m3-44WEAEeOnIp9uJgA5yw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_m3-44mEAEeOnIp9uJgA5yw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="InvariantSemanticTypeConfiguration.ecore#//ComposedRuleConfiguration/composedRules"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_m3-442EAEeOnIp9uJgA5yw" points="[-32, 10, 2, 155]$[-193, 10, -159, 155]$[-193, -135, -159, 10]$[-42, -135, -8, 10]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m4NiYGEAEeOnIp9uJgA5yw" id="(0.14798206278026907,0.4)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m4NiYWEAEeOnIp9uJgA5yw" id="(0.03734439834024896,0.71900826446281)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.genmodel b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.genmodel
new file mode 100644
index 00000000000..6e1996e1a4d
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.genmodel
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2013 CEA LIST.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA; CEA LIST - Initial API and implementation"
+ modelDirectory="/org.eclipse.papyrus.infra.extendedtypes/src-gen" creationSubmenus="true"
+ editDirectory="/org.eclipse.papyrus.infra.extendedtypes.edit/src-gen" editorDirectory="/org.eclipse.papyrus.infra.extendedtypes.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.infra.extendedtypes" modelName="InvariantSemanticTypeConfiguration"
+ rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" testsDirectory="/org.eclipse.papyrus.infra.extendedtypes.tests/src-gen"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ usedGenPackages="../../org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel#//configuration ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ExtendedTypes.genmodel#//extendedtypes ../../org.eclipse.emf.facet.infra.query/model/query.genmodel#//query ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+ operationReflection="true" importOrganizing="true">
+ <foreignModel>InvariantSemanticTypeConfiguration.ecore</foreignModel>
+ <genPackages prefix="InvariantSemanticTypeConfiguration" basePackage="org.eclipse.papyrus.infra.extendedtypes"
+ resource="XML" disposableProviderFactory="true" childCreationExtenders="true"
+ ecorePackage="InvariantSemanticTypeConfiguration.ecore#/">
+ <genClasses ecoreClass="InvariantSemanticTypeConfiguration.ecore#//InvariantSemanticTypeConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference InvariantSemanticTypeConfiguration.ecore#//InvariantSemanticTypeConfiguration/invariantRuleConfiguration"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="InvariantSemanticTypeConfiguration.ecore#//InvariantRuleConfiguration"/>
+ <genClasses image="false" ecoreClass="InvariantSemanticTypeConfiguration.ecore#//ComposedRuleConfiguration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference InvariantSemanticTypeConfiguration.ecore#//ComposedRuleConfiguration/composedRules"/>
+ </genClasses>
+ <genClasses ecoreClass="InvariantSemanticTypeConfiguration.ecore#//AndRule"/>
+ <genClasses ecoreClass="InvariantSemanticTypeConfiguration.ecore#//OrRule"/>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/QueryBasedMatcherConfiguration.ecore b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/QueryBasedMatcherConfiguration.ecore
new file mode 100644
index 00000000000..3eaff0ec21b
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/QueryBasedMatcherConfiguration.ecore
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="querybasedmatcherconfiguration" nsURI="http://www.eclipse.org/papyrus/infra/extendedtypes/matcher/querybased/1.0"
+ nsPrefix="querybasedmatcherconfiguration">
+ <eClassifiers xsi:type="ecore:EClass" name="QueryBasedMatcherConfiguration" eSuperTypes="ExtendedTypes.ecore#//MatcherConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="queryConfiguration" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecore#//QueryConfiguration"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/QueryBasedMatcherConfiguration.ecorediag b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/QueryBasedMatcherConfiguration.ecorediag
new file mode 100644
index 00000000000..f044bba6659
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/model/QueryBasedMatcherConfiguration.ecorediag
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_lYQ_cFg1EeOZc_L6ctfnzA" type="EcoreTools" name="QueryBasedMatcherConfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_pubucFg1EeOZc_L6ctfnzA" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pysjYFg1EeOZc_L6ctfnzA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pysjYVg1EeOZc_L6ctfnzA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_pujqQFg1EeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_pujqQVg1EeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_pujqQlg1EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_pujqQ1g1EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_pujqRFg1EeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_pukRUFg1EeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_pukRUVg1EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_pukRUlg1EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_pukRU1g1EeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_pubucVg1EeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12560536" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//MatcherConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pubuclg1EeOZc_L6ctfnzA" x="200" y="60" width="283" height="103"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uWQOIFg1EeOZc_L6ctfnzA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_uWRcQFg1EeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_uWSDUFg1EeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_uWSDUVg1EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_uWSDUlg1EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_uWSDU1g1EeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uWSqYFg1EeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_uWSqYVg1EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_uWSqYlg1EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_uWSqY1g1EeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uWQOIVg1EeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="QueryBasedMatcherConfiguration.ecore#//QueryBasedMatcherConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uWQOIlg1EeOZc_L6ctfnzA" x="200" y="320" width="283" height="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_1Jp0kFg1EeOZc_L6ctfnzA" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1KapkFg1EeOZc_L6ctfnzA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1KapkVg1EeOZc_L6ctfnzA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_1JqboFg1EeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_1JrCsFg1EeOZc_L6ctfnzA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_1JrCsVg1EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1JrCslg1EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1JrCs1g1EeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_1JrCtFg1EeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_1JrCtVg1EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1JrCtlg1EeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1JrCt1g1EeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_1Jp0kVg1EeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12560536" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecore#//QueryConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1Jp0klg1EeOZc_L6ctfnzA" x="740" y="320" width="283" height="123"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_lYQ_cVg1EeOZc_L6ctfnzA"/>
+ <element xmi:type="ecore:EPackage" href="QueryBasedMatcherConfiguration.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_xD0noFg1EeOZc_L6ctfnzA" type="3003" source="_uWQOIFg1EeOZc_L6ctfnzA" target="_pubucFg1EeOZc_L6ctfnzA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_xD0noVg1EeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xD0nolg1EeOZc_L6ctfnzA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xD0no1g1EeOZc_L6ctfnzA" points="[0, -7, 0, 210]$[0, -166, 0, 51]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xD4SAFg1EeOZc_L6ctfnzA" id="(0.49823321554770317,0.06504065040650407)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="__GAI8Fg1EeOZc_L6ctfnzA" type="3002" source="_uWQOIFg1EeOZc_L6ctfnzA" target="_1Jp0kFg1EeOZc_L6ctfnzA">
+ <children xmi:type="notation:Node" xmi:id="__GAwAFg1EeOZc_L6ctfnzA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__GAwAVg1EeOZc_L6ctfnzA" x="-17" y="-13"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__GAwAlg1EeOZc_L6ctfnzA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__GAwA1g1EeOZc_L6ctfnzA" x="23" y="27"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__GAI8Vg1EeOZc_L6ctfnzA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__GAI8lg1EeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="QueryBasedMatcherConfiguration.ecore#//QueryBasedMatcherConfiguration/queryConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__GAI81g1EeOZc_L6ctfnzA" points="[53, 14, -295, -1]$[312, 14, -36, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__GEaYFg1EeOZc_L6ctfnzA" id="(0.8127208480565371,0.3902439024390244)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__GEaYVg1EeOZc_L6ctfnzA" id="(0.13074204946996468,0.5203252032520326)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/plugin.xml b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/plugin.xml
index fc82ce61a32..f7bde5ba19e 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/plugin.xml
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/plugin.xml
@@ -1,51 +1,155 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<!--
- <copyright>
- </copyright>
-
- $Id$
--->
-
-<plugin>
- <extension-point id="extendedTypesSetConfiguration" name="Configuration for registering Extended Element Types Sets" schema="schema/extendedTypesSetConfiguration.exsd"/>
- <extension-point id="extendedElementTypeActionProvider" name="Extended Element Type Action Provider" schema="schema/extendedElementTypeActionProvider.exsd"/>
-
- <extension point="org.eclipse.emf.ecore.generated_package">
- <package
- uri="http://www.eclipse.org/papyrus/diagram/types/extendedtypes/0.7"
- class="org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage"
- genModel="model/ExtendedTypes.genmodel"/>
- </extension>
-
- <extension point="org.eclipse.emf.ecore.extension_parser">
- <parser
- type="extendedtypes"
- class="org.eclipse.papyrus.infra.extendedtypes.util.ExtendedtypesResourceFactoryImpl"/>
- </extension>
- <extension
- point="org.eclipse.gmf.runtime.emf.type.core.elementTypes">
- <metamodel
- nsURI="http://www.eclipse.org/uml2/3.0.0/UML">
- <adviceBinding
- class="org.eclipse.papyrus.infra.extendedtypes.advices.ExtendedTypesOwnerAdvice"
- id="org.eclipse.papyrus.uml.advice.ExtendedTypesOwnerAdvice"
- inheritance="all"
- typeId="org.eclipse.papyrus.uml.Element">
- </adviceBinding>
- </metamodel>
- </extension>
- <extension
- point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings">
- <binding
- context="org.eclipse.papyrus.infra.services.edit.TypeContext">
- <elementType
- pattern="org\.eclipse\.papyrus\.uml\.([^d]|$|d([^i]|$)|di([^a]|$)|dia([^g]|$)|diag([^r]|$)|diagr([^a]|$)|diagra([^m]|$))">
- </elementType>
- <advice
- ref="org.eclipse.papyrus.uml.advice.ExtendedTypesOwnerAdvice">
- </advice>
- </binding>
- </extension>
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+ <extension-point id="extendedElementTypeSet" name="ExtendedElementTypeSet Configuration Model" schema="schema/extendedElementTypeSet.exsd"/>
+ <extension-point id="extendedElementTypeActionProvider" name="Extended Element Type Action Provider" schema="schema/extendedElementTypeActionProvider.exsd"/>
+ <extension-point id="extendedTypeConfiguration" name="extended type configuration" schema="schema/extendedTypeConfiguration.exsd"/>
+ <extension-point id="invariantRule" name="Invariant Rule Extension Point" schema="schema/invariantRule.exsd"/>
+ <extension-point id="elementMatcherConfiguration" name="Element Macher Configuration" schema="schema/elementMatcherConfiguration.exsd"/>
+
+<!--
+ <extension
+ point="org.eclipse.gmf.runtime.emf.type.core.elementTypes">
+ <metamodel
+ nsURI="http://www.eclipse.org/uml2/3.0.0/UML">
+ <adviceBinding
+ class="org.eclipse.papyrus.infra.extendedtypes.advices.ExtendedTypesOwnerAdvice"
+ id="org.eclipse.papyrus.uml.advice.ExtendedTypesOwnerAdvice"
+ inheritance="all"
+ typeId="org.eclipse.papyrus.uml.Element">
+ </adviceBinding>
+ </metamodel>
+ </extension>
+ -->
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated AspectSemantic -->
+ <package
+ uri="http://www.eclipse.org/papyrus/infra/extendedtypes/semantic/aspect/1.0"
+ class="org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage"
+ genModel="model/AspectSemantic.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated AspectSemantic -->
+ <parser
+ type="aspectsemantic"
+ class="org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.util.AspectSemanticResourceFactoryImpl"/>
+ </extension>
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated InvariantSemanticTypeConfiguration -->
+ <package
+ uri="http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/1.0"
+ class="org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage"
+ genModel="model/InvariantSemanticTypeConfiguration.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated InvariantSemanticTypeConfiguration -->
+ <parser
+ type="invariantsemantictypeconfiguration"
+ class="org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.util.InvariantSemanticTypeConfigurationResourceFactoryImpl"/>
+ </extension>
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated ExtendedTypes -->
+ <package
+ uri="http://www.eclipse.org/papyrus/infra/extendedtypes/1.0"
+ class="org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage"
+ genModel="model/ExtendedTypes.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated ExtendedTypes -->
+ <parser
+ type="extendedtypes"
+ class="org.eclipse.papyrus.infra.extendedtypes.util.ExtendedtypesResourceFactoryImpl"/>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.infra.extendedtypes.extendedTypeConfiguration">
+ <configuration
+ configurationClass="org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration"
+ description="Configuration for Semantic element Types that have invariants (always same father, always have a type, etc.)"
+ factoryClass="org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantElementTypeFactory"
+ name="Invariant Semantic Type Configuration">
+ </configuration>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.infra.extendedtypes.invariantRule">
+ <invariantRule
+ configurationClass="org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.AndRule"
+ editHelperAdvice="org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.AndRuleEditHelperAdvice">
+ </invariantRule>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.infra.extendedtypes.invariantRule">
+ <invariantRule
+ configurationClass="org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.OrRule"
+ editHelperAdvice="org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.OrRuleEditHelperAdvice">
+ </invariantRule>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.infra.extendedtypes.invariantRule">
+ <invariantRule
+ configurationClass="org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration"
+ configurationModelCreation="org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationModelCreation"
+ editHelperAdvice="org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerEditHelperAdvice"
+ semanticTypeDescriptor="org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationContainerDescriptor">
+ </invariantRule>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.infra.core.service">
+ <service
+ classname="org.eclipse.papyrus.infra.extendedtypes.ExtendedTypeRegistryService"
+ description="Service used to registrer extended element types in the registry"
+ priority="50"
+ startKind="startup">
+ </service>
+ </extension>
+
+ <extension
+ point="org.eclipse.gmf.runtime.emf.type.core.elementTypes">
+ <metamodel
+ nsURI="http://www.eclipse.org/uml2/4.0.0/UML">
+ <adviceBinding
+ class="org.eclipse.papyrus.infra.extendedtypes.advices.ExtendedTypesOwnerAdvice"
+ id="org.eclipse.papyrus.uml.advice.ExtendedTypesOwnerAdvice"
+ inheritance="all"
+ typeId="org.eclipse.papyrus.uml.Element">
+ </adviceBinding>
+ </metamodel>
+ </extension>
+ <extension
+ point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings">
+ <binding
+ context="org.eclipse.papyrus.infra.services.edit.TypeContext">
+ <elementType
+ pattern="org\.eclipse\.papyrus\.uml\.([^d]|$|d([^i]|$)|di([^a]|$)|dia([^g]|$)|diag([^r]|$)|diagr([^a]|$)|diagra([^m]|$))">
+ </elementType>
+ <advice
+ ref="org.eclipse.papyrus.uml.advice.ExtendedTypesOwnerAdvice">
+ </advice>
+ </binding>
+ </extension>
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated InvariantContainerConfiguration -->
+ <package
+ uri="http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/container/1.0"
+ class="org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage"
+ genModel="model/InvariantContainerConfiguration.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated InvariantContainerConfiguration -->
+ <parser
+ type="invariantcontainerconfiguration"
+ class="org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.util.InvariantContainerConfigurationResourceFactoryImpl"/>
+ </extension>
+</plugin>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/elementMatcherConfiguration.exsd b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/elementMatcherConfiguration.exsd
new file mode 100644
index 00000000000..323f4997683
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/elementMatcherConfiguration.exsd
@@ -0,0 +1,129 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.infra.extendedtypes" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.papyrus.infra.extendedtypes" id="extendedTypeMatcherConfiguration" name="Extended Type Macher Configuration"/>
+ </appInfo>
+ <documentation>
+ Extension point to define new kind of model-based configurable IElementMatcher and their factories
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="configuration"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="configuration">
+ <complexType>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="configurationClass" type="string" use="required">
+ <annotation>
+ <documentation>
+ class name of the configuration model implementation
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.extendedtypes.MatcherConfiguration"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="factoryClass" type="string" use="required">
+ <annotation>
+ <documentation>
+ class name of the factory used to create new element matchers based on the given configuration
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.extendedtypes.IElementMatcherFactory"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="configurationModelCreation" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.extendedtypes.IElementMatcherConfigurationModelCreation"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ 0.10.1
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiinfo"/>
+ </appInfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+
+</schema>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/extendedTypesSetConfiguration.exsd b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/extendedElementTypeSet.exsd
index ef2762d198a..4489e6359c7 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/extendedTypesSetConfiguration.exsd
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/extendedElementTypeSet.exsd
@@ -1,130 +1,130 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.papyrus.infra.extendedtypes" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.papyrus.infra.extendedtypes" id="extendedTypesSetConfiguration" name="extendedTypesSetConfiguration"/>
- </appInfo>
- <documentation>
- This extension point is used to registered new extended element types for creation of semantic elements with specific post/pre actions and validation.
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appInfo>
- <meta.element />
- </appInfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="configuration"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="configuration">
- <annotation>
- <documentation>
- define a new configuration for an extended element type set
- </documentation>
- </annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- Name of this model file, used in user interface
- </documentation>
- </annotation>
- </attribute>
- <attribute name="icon" type="string">
- <annotation>
- <documentation>
- Path to an icon, used in user interface
- </documentation>
- <appInfo>
- <meta.attribute kind="resource"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="description" type="string">
- <annotation>
- <documentation>
- Description of the configuration
- </documentation>
- </annotation>
- </attribute>
- <attribute name="path" type="string" use="required">
- <annotation>
- <documentation>
- Path to the model file in the bundle.
-
-Note: Do not forget to add the file in the binary build of the plugin!
- </documentation>
- <appInfo>
- <meta.attribute kind="resource"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- The unique identifier of this contribution. To ease debug, it is advised to put the same identifier as the extended type set configuration identifier.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 0.7.1
- </documentation>
- </annotation>
-
-
-
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2010 CEA LIST
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License
-v1.0 which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
-Contributors:
-CEA LIST - initial API and implementation
- </documentation>
- </annotation>
-
-</schema>
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.infra.extendedtypes" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.papyrus.infra.extendedtypes" id="extendedTypesSet" name="extendedTypesSet"/>
+ </appInfo>
+ <documentation>
+ This extension point is used to registered element type sets configuration models
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="extendedTypesSet"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="extendedTypesSet">
+ <annotation>
+ <documentation>
+ define a new configuration for an extended element type set
+ </documentation>
+ </annotation>
+ <complexType>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+ Name of this model file, used in user interface
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="icon" type="string">
+ <annotation>
+ <documentation>
+ Path to an icon, used in user interface
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="resource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="description" type="string">
+ <annotation>
+ <documentation>
+ Description of the configuration
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="path" type="string" use="required">
+ <annotation>
+ <documentation>
+ Path to the model file in the bundle.
+
+Note: Do not forget to add the file in the binary build of the plugin!
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="resource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ The unique identifier of this contribution. To ease debug, it is advised to put the same identifier as the extended type set configuration identifier.
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ 0.10.2
+ </documentation>
+ </annotation>
+
+
+
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2010-2013 CEA LIST
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License
+v1.0 which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+Contributors:
+CEA LIST - initial API and implementation
+ </documentation>
+ </annotation>
+
+</schema>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/extendedTypeConfiguration.exsd b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/extendedTypeConfiguration.exsd
new file mode 100644
index 00000000000..bd02f7fe3a8
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/extendedTypeConfiguration.exsd
@@ -0,0 +1,141 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.infra.extendedtypes" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.papyrus.infra.extendedtypes" id="extendedTypeConfiguration" name="extendedTypeConfiguration"/>
+ </appInfo>
+ <documentation>
+ This extension point is used to registered new kind of extended element types set configuration for creation of semantic/graphical elements
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="configuration"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="configuration">
+ <annotation>
+ <documentation>
+ define a new configuration for an extended element type set
+ </documentation>
+ </annotation>
+ <complexType>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+ Name of this model file, used in user interface
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="icon" type="string">
+ <annotation>
+ <documentation>
+ Path to an icon, used in user interface
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="resource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="description" type="string">
+ <annotation>
+ <documentation>
+ Description of the configuration
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="factoryClass" type="string" use="required">
+ <annotation>
+ <documentation>
+ factory class that creates new ElementTypes based on the configuration model
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.extendedtypes.IExtendedElementTypeFactory"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="configurationClass" type="string" use="required">
+ <annotation>
+ <documentation>
+ Configuration class of the element type.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="itemProvider" type="string">
+ <annotation>
+ <documentation>
+ optional item provider used to add creation menus in the standard emf editor
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ 0.10.2
+ </documentation>
+ </annotation>
+
+
+
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2010-2013 CEA LIST
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License
+v1.0 which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+Contributors:
+CEA LIST - initial API and implementation
+ </documentation>
+ </annotation>
+
+</schema>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/invariantRule.exsd b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/invariantRule.exsd
new file mode 100644
index 00000000000..3f64e048204
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/invariantRule.exsd
@@ -0,0 +1,142 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.infra.extendedtypes" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.papyrus.infra.extendedtypes" id="invariantRule" name="Invariant Rule Extension Point"/>
+ </appInfo>
+ <documentation>
+ Extension point to describe new invariant rules. These rules will be used by configurable element types at runtime
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="invariantRule"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="invariantRule">
+ <complexType>
+ <attribute name="configurationClass" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="elementMatcher" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IConfigurableElementMatcher"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="semanticTypeDescriptor" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IConfigurableContainerDescriptor"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="editHelperAdvice" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IConfigurableEditHelperAdvice"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="configurationModelCreation" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IConfigurationModelCreation"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ [Enter the first release in which this extension point appears.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiinfo"/>
+ </appInfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+
+</schema>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/semanticTypeFactory.exsd b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/semanticTypeFactory.exsd
new file mode 100644
index 00000000000..1c9fc0286c6
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/semanticTypeFactory.exsd
@@ -0,0 +1,152 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.infra.extendedtypes" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.papyrus.infra.extendedtypes" id="semanticTypeFactory" name="Semantic Type Factory"/>
+ </appInfo>
+ <documentation>
+ Extension point to describe new semantic type factories that will be configured by some EMF models. These factories will be usd to create new semantic ElementTypes (see GMF framework for more information about ElementTypes)
+
+
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="semanticTypeFactory"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="semanticTypeFactory">
+ <annotation>
+ <documentation>
+ Extension for new factories for semantic element types
+ </documentation>
+ </annotation>
+ <complexType>
+ <attribute name="name" type="string" use="required">
+ <annotation>
+ <documentation>
+ Name of this factory (used in UIs)
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="factoryClass" type="string" use="required">
+ <annotation>
+ <documentation>
+ Implementation class of this factory.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.extendedtypes.semantic.ISemanticTypeFactory"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="factoryMetamodel" type="string" use="required">
+ <annotation>
+ <documentation>
+ Ecore file of the metamodel used to configure this factory
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="resource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="rootEObject" type="string">
+ <annotation>
+ <documentation>
+ EClass of the main configuration element. This is used to identify the factory amongst others during element type creation.
+
+This EClass is expected to be defined in the factory metamodel.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.emf.ecore.EObject"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ 1.0.0 - Initial API and Contribution by CEA LIST
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiinfo"/>
+ </appInfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2013 CEA LIST
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License
+v1.0 which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+Contributors:
+CEA LIST - initial API and implementation
+ </documentation>
+ </annotation>
+
+</schema>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ActionConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ActionConfiguration.java
index df2cf89d490..ce336422b36 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ActionConfiguration.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ActionConfiguration.java
@@ -1,81 +1,62 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Action Configuration</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration#getLabel <em>Label</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration#getId <em>Id</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getActionConfiguration()
- * @model abstract="true"
- * @generated
- */
-public interface ActionConfiguration extends EObject {
- /**
- * Returns the value of the '<em><b>Label</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Label</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Label</em>' attribute.
- * @see #setLabel(String)
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getActionConfiguration_Label()
- * @model
- * @generated
- */
- String getLabel();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration#getLabel <em>Label</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Label</em>' attribute.
- * @see #getLabel()
- * @generated
- */
- void setLabel(String value);
-
- /**
- * Returns the value of the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Id</em>' attribute.
- * @see #setId(String)
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getActionConfiguration_Id()
- * @model required="true"
- * @generated
- */
- String getId();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration#getId <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Id</em>' attribute.
- * @see #getId()
- * @generated
- */
- void setId(String value);
-
-} // ActionConfiguration
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Action Configuration</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration#getPreValidationQueryConfiguration <em>Pre Validation Query Configuration
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getActionConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ActionConfiguration extends ConfigurationElement {
+
+ /**
+ * Returns the value of the ' <em><b>Pre Validation Query Configuration</b></em>' reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Validation Query Configuration</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Pre Validation Query Configuration</em>'
+ * reference.
+ * @see #setPreValidationQueryConfiguration(QueryConfiguration)
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getActionConfiguration_PreValidationQueryConfiguration()
+ * @model
+ * @generated
+ */
+ QueryConfiguration getPreValidationQueryConfiguration();
+
+ /**
+ * Sets the value of the ' {@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration#getPreValidationQueryConfiguration
+ * <em>Pre Validation Query Configuration</em>}' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the ' <em>Pre Validation Query Configuration</em>' reference.
+ * @see #getPreValidationQueryConfiguration()
+ * @generated
+ */
+ void setPreValidationQueryConfiguration(QueryConfiguration value);
+} // ActionConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ConfigurationElement.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ConfigurationElement.java
new file mode 100644
index 00000000000..69524d9a504
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ConfigurationElement.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Configuration Element</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getIdentifier <em>Identifier</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getIconEntry <em>Icon Entry</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getConfigurationElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ConfigurationElement extends EObject {
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getConfigurationElement_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getConfigurationElement_Description()
+ * @model
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Identifier</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Identifier</em>' attribute.
+ * @see #setIdentifier(String)
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getConfigurationElement_Identifier()
+ * @model required="true"
+ * @generated
+ */
+ String getIdentifier();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getIdentifier <em>Identifier</em>}' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Identifier</em>' attribute.
+ * @see #getIdentifier()
+ * @generated
+ */
+ void setIdentifier(String value);
+
+ /**
+ * Returns the value of the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Icon Entry</em>' containment reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Icon Entry</em>' containment reference.
+ * @see #setIconEntry(IconEntry)
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getConfigurationElement_IconEntry()
+ * @model containment="true"
+ * @generated
+ */
+ IconEntry getIconEntry();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getIconEntry <em>Icon Entry</em>}' containment
+ * reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Icon Entry</em>' containment reference.
+ * @see #getIconEntry()
+ * @generated
+ */
+ void setIconEntry(IconEntry value);
+} // ConfigurationElement
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ElementTypeAdviceConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ElementTypeAdviceConfiguration.java
new file mode 100644
index 00000000000..d1d32ecdcb5
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ElementTypeAdviceConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Element Type Advice Configuration</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getElementTypeAdviceConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ElementTypeAdviceConfiguration extends ConfigurationElement {
+} // ElementTypeAdviceConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ElementTypeConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ElementTypeConfiguration.java
new file mode 100644
index 00000000000..3fe60de8ef9
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ElementTypeConfiguration.java
@@ -0,0 +1,137 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Element Type Configuration</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getHint <em>Hint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getKindName <em>Kind Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getSpecializedTypesID <em>Specialized Types ID</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getMatcherConfiguration <em>Matcher Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getElementTypeConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ElementTypeConfiguration extends ConfigurationElement {
+
+ /**
+ * Returns the value of the '<em><b>Hint</b></em>' attribute.
+ * The default value is <code>"ExtendedElements"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hint</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Hint</em>' attribute.
+ * @see #setHint(String)
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getElementTypeConfiguration_Hint()
+ * @model default="ExtendedElements"
+ * @generated
+ */
+ String getHint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getHint <em>Hint</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Hint</em>' attribute.
+ * @see #getHint()
+ * @generated
+ */
+ void setHint(String value);
+
+ /**
+ * Returns the value of the '<em><b>Kind Name</b></em>' attribute. The
+ * default value is <code>"org.eclipse.gmf.runtime.emf.type.core.IHintedType"</code>. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Kind Name</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Kind Name</em>' attribute.
+ * @see #setKindName(String)
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getElementTypeConfiguration_KindName()
+ * @model default="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
+ * @generated
+ */
+ String getKindName();
+
+ /**
+ * Sets the value of the ' {@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getKindName
+ * <em>Kind Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Kind Name</em>' attribute.
+ * @see #getKindName()
+ * @generated
+ */
+ void setKindName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Specialized Types ID</b></em>' attribute
+ * list. The list contents are of type {@link java.lang.String}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Specialized Types ID</em>' attribute list isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Specialized Types ID</em>' attribute list.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getElementTypeConfiguration_SpecializedTypesID()
+ * @model required="true"
+ * @generated
+ */
+ EList<String> getSpecializedTypesID();
+
+ /**
+ * Returns the value of the '<em><b>Matcher Configuration</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Matcher Configuration</em>' containment reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Matcher Configuration</em>' containment reference.
+ * @see #setMatcherConfiguration(MatcherConfiguration)
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getElementTypeConfiguration_MatcherConfiguration()
+ * @model containment="true"
+ * @generated
+ */
+ MatcherConfiguration getMatcherConfiguration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getMatcherConfiguration
+ * <em>Matcher Configuration</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Matcher Configuration</em>' containment reference.
+ * @see #getMatcherConfiguration()
+ * @generated
+ */
+ void setMatcherConfiguration(MatcherConfiguration value);
+} // ElementTypeConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeConfiguration.java
deleted file mode 100644
index 8376a05bbe1..00000000000
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeConfiguration.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Extended Element Type Configuration</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getId <em>Id</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getIconEntry <em>Icon Entry</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getHint <em>Hint</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getKindName <em>Kind Name</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getSpecializedTypesID <em>Specialized Types ID</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getPreValidation <em>Pre Validation</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getPreAction <em>Pre Action</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getPostAction <em>Post Action</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getSpecializedDiagramTypeID <em>Specialized Diagram Type ID</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration()
- * @model
- * @generated
- */
-public interface ExtendedElementTypeConfiguration extends EObject {
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_Name()
- * @model required="true"
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
- /**
- * Returns the value of the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Id</em>' attribute.
- * @see #setId(String)
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_Id()
- * @model required="true"
- * @generated
- */
- String getId();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getId <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Id</em>' attribute.
- * @see #getId()
- * @generated
- */
- void setId(String value);
-
- /**
- * Returns the value of the '<em><b>Icon Entry</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Icon Entry</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Icon Entry</em>' containment reference.
- * @see #setIconEntry(IconEntry)
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_IconEntry()
- * @model containment="true"
- * @generated
- */
- IconEntry getIconEntry();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getIconEntry <em>Icon Entry</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Icon Entry</em>' containment reference.
- * @see #getIconEntry()
- * @generated
- */
- void setIconEntry(IconEntry value);
-
- /**
- * Returns the value of the '<em><b>Hint</b></em>' attribute.
- * The default value is <code>"ExtendedElements"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Hint</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Hint</em>' attribute.
- * @see #setHint(String)
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_Hint()
- * @model default="ExtendedElements"
- * @generated
- */
- String getHint();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getHint <em>Hint</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Hint</em>' attribute.
- * @see #getHint()
- * @generated
- */
- void setHint(String value);
-
- /**
- * Returns the value of the '<em><b>Kind Name</b></em>' attribute.
- * The default value is <code>"org.eclipse.gmf.runtime.emf.type.core.IHintedType"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Kind Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Kind Name</em>' attribute.
- * @see #setKindName(String)
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_KindName()
- * @model default="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
- * @generated
- */
- String getKindName();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getKindName <em>Kind Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Kind Name</em>' attribute.
- * @see #getKindName()
- * @generated
- */
- void setKindName(String value);
-
- /**
- * Returns the value of the '<em><b>Specialized Types ID</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Specialized Types ID</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Specialized Types ID</em>' attribute list.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_SpecializedTypesID()
- * @model required="true"
- * @generated
- */
- EList<String> getSpecializedTypesID();
-
- /**
- * Returns the value of the '<em><b>Pre Validation</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Pre Validation</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>Pre Validation</em>' reference list.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_PreValidation()
- * @model
- * @generated
- */
- EList<QueryConfiguration> getPreValidation();
-
- /**
- * Returns the value of the '<em><b>Pre Action</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.papyrus.infra.extendedtypes.PreActionConfiguration}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Pre Action</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>Pre Action</em>' containment reference list.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_PreAction()
- * @model containment="true"
- * @generated
- */
- EList<PreActionConfiguration> getPreAction();
-
- /**
- * Returns the value of the '<em><b>Post Action</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Post Action</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>Post Action</em>' containment reference list.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_PostAction()
- * @model containment="true"
- * @generated
- */
- EList<PostActionConfiguration> getPostAction();
-
- /**
- * Returns the value of the '<em><b>Specialized Diagram Type ID</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Specialized Diagram Type ID</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Specialized Diagram Type ID</em>' attribute.
- * @see #setSpecializedDiagramTypeID(String)
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_SpecializedDiagramTypeID()
- * @model
- * @generated
- */
- String getSpecializedDiagramTypeID();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getSpecializedDiagramTypeID <em>Specialized Diagram Type ID</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Specialized Diagram Type ID</em>' attribute.
- * @see #getSpecializedDiagramTypeID()
- * @generated
- */
- void setSpecializedDiagramTypeID(String value);
-
-} // ExtendedElementTypeConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSet.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSet.java
index 4eea7c49484..a8075697f79 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSet.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSet.java
@@ -1,72 +1,77 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Extended Element Type Set</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#getElementType <em>Element Type</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#getId <em>Id</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeSet()
- * @model
- * @generated
- */
-public interface ExtendedElementTypeSet extends EObject {
- /**
- * Returns the value of the '<em><b>Element Type</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Element Type</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>Element Type</em>' containment reference list.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeSet_ElementType()
- * @model containment="true" required="true"
- * @generated
- */
- EList<ExtendedElementTypeConfiguration> getElementType();
-
- /**
- * Returns the value of the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Id</em>' attribute.
- * @see #setId(String)
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeSet_Id()
- * @model required="true"
- * @generated
- */
- String getId();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#getId <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Id</em>' attribute.
- * @see #getId()
- * @generated
- */
- void setId(String value);
-
-} // ExtendedElementTypeSet
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Extended Element Type Set</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#getElementType <em>Element Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#isExtensible <em>Extensible</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeSet()
+ * @model
+ * @generated
+ */
+public interface ExtendedElementTypeSet extends ConfigurationElement {
+
+ /**
+ * Returns the value of the '<em><b>Element Type</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element Type</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>Element Type</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeSet_ElementType()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<ElementTypeConfiguration> getElementType();
+
+ /**
+ * Returns the value of the '<em><b>Extensible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extensible</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Extensible</em>' attribute.
+ * @see #setExtensible(boolean)
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeSet_Extensible()
+ * @model
+ * @generated
+ */
+ boolean isExtensible();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#isExtensible <em>Extensible</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Extensible</em>' attribute.
+ * @see #isExtensible()
+ * @generated
+ */
+ void setExtensible(boolean value);
+} // ExtendedElementTypeSet
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedtypesFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedtypesFactory.java
index f395b7b0c55..3850b629c4f 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedtypesFactory.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedtypesFactory.java
@@ -1,64 +1,63 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage
- * @generated
- */
-public interface ExtendedtypesFactory extends EFactory {
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ExtendedtypesFactory eINSTANCE = org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Extended Element Type Set</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Extended Element Type Set</em>'.
- * @generated
- */
- ExtendedElementTypeSet createExtendedElementTypeSet();
-
- /**
- * Returns a new object of class '<em>Extended Element Type Configuration</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Extended Element Type Configuration</em>'.
- * @generated
- */
- ExtendedElementTypeConfiguration createExtendedElementTypeConfiguration();
-
- /**
- * Returns a new object of class '<em>Icon Entry</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Icon Entry</em>'.
- * @generated
- */
- IconEntry createIconEntry();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- ExtendedtypesPackage getExtendedtypesPackage();
-
-} //ExtendedtypesFactory
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage
+ * @generated
+ */
+public interface ExtendedtypesFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ ExtendedtypesFactory eINSTANCE = org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Extended Element Type Set</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Extended Element Type Set</em>'.
+ * @generated
+ */
+ ExtendedElementTypeSet createExtendedElementTypeSet();
+
+ /**
+ * Returns a new object of class '<em>Icon Entry</em>'.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Icon Entry</em>'.
+ * @generated
+ */
+ IconEntry createIconEntry();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ExtendedtypesPackage getExtendedtypesPackage();
+} // ExtendedtypesFactory
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedtypesPackage.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedtypesPackage.java
index 6dba26a155e..ec02f83d68a 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedtypesPackage.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ExtendedtypesPackage.java
@@ -1,805 +1,1256 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesFactory
- * @model kind="package"
- * @generated
- */
-public interface ExtendedtypesPackage extends EPackage {
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "extendedtypes";
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://www.eclipse.org/papyrus/diagram/types/extendedtypes/0.7";
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "extendedtypes";
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ExtendedtypesPackage eINSTANCE = org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeSetImpl <em>Extended Element Type Set</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeSetImpl
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getExtendedElementTypeSet()
- * @generated
- */
- int EXTENDED_ELEMENT_TYPE_SET = 0;
-
- /**
- * The feature id for the '<em><b>Element Type</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE = 0;
-
- /**
- * The feature id for the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_SET__ID = 1;
-
- /**
- * The number of structural features of the '<em>Extended Element Type Set</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_SET_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl <em>Extended Element Type Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getExtendedElementTypeConfiguration()
- * @generated
- */
- int EXTENDED_ELEMENT_TYPE_CONFIGURATION = 1;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME = 0;
-
- /**
- * The feature id for the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID = 1;
-
- /**
- * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY = 2;
-
- /**
- * The feature id for the '<em><b>Hint</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT = 3;
-
- /**
- * The feature id for the '<em><b>Kind Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME = 4;
-
- /**
- * The feature id for the '<em><b>Specialized Types ID</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID = 5;
-
- /**
- * The feature id for the '<em><b>Pre Validation</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION = 6;
-
- /**
- * The feature id for the '<em><b>Pre Action</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION = 7;
-
- /**
- * The feature id for the '<em><b>Post Action</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION = 8;
-
- /**
- * The feature id for the '<em><b>Specialized Diagram Type ID</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID = 9;
-
- /**
- * The number of structural features of the '<em>Extended Element Type Configuration</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXTENDED_ELEMENT_TYPE_CONFIGURATION_FEATURE_COUNT = 10;
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.IconEntryImpl <em>Icon Entry</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.IconEntryImpl
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getIconEntry()
- * @generated
- */
- int ICON_ENTRY = 2;
-
- /**
- * The feature id for the '<em><b>Icon Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ICON_ENTRY__ICON_PATH = 0;
-
- /**
- * The feature id for the '<em><b>Bundle Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ICON_ENTRY__BUNDLE_ID = 1;
-
- /**
- * The number of structural features of the '<em>Icon Entry</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ICON_ENTRY_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ActionConfigurationImpl <em>Action Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ActionConfigurationImpl
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getActionConfiguration()
- * @generated
- */
- int ACTION_CONFIGURATION = 3;
-
- /**
- * The feature id for the '<em><b>Label</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTION_CONFIGURATION__LABEL = 0;
-
- /**
- * The feature id for the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTION_CONFIGURATION__ID = 1;
-
- /**
- * The number of structural features of the '<em>Action Configuration</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTION_CONFIGURATION_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.PreActionConfigurationImpl <em>Pre Action Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.PreActionConfigurationImpl
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getPreActionConfiguration()
- * @generated
- */
- int PRE_ACTION_CONFIGURATION = 4;
-
- /**
- * The feature id for the '<em><b>Label</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PRE_ACTION_CONFIGURATION__LABEL = ACTION_CONFIGURATION__LABEL;
-
- /**
- * The feature id for the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PRE_ACTION_CONFIGURATION__ID = ACTION_CONFIGURATION__ID;
-
- /**
- * The number of structural features of the '<em>Pre Action Configuration</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PRE_ACTION_CONFIGURATION_FEATURE_COUNT = ACTION_CONFIGURATION_FEATURE_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.PostActionConfigurationImpl <em>Post Action Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.PostActionConfigurationImpl
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getPostActionConfiguration()
- * @generated
- */
- int POST_ACTION_CONFIGURATION = 5;
-
- /**
- * The feature id for the '<em><b>Label</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int POST_ACTION_CONFIGURATION__LABEL = ACTION_CONFIGURATION__LABEL;
-
- /**
- * The feature id for the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int POST_ACTION_CONFIGURATION__ID = ACTION_CONFIGURATION__ID;
-
- /**
- * The number of structural features of the '<em>Post Action Configuration</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int POST_ACTION_CONFIGURATION_FEATURE_COUNT = ACTION_CONFIGURATION_FEATURE_COUNT + 0;
-
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet <em>Extended Element Type Set</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Extended Element Type Set</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet
- * @generated
- */
- EClass getExtendedElementTypeSet();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#getElementType <em>Element Type</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Element Type</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#getElementType()
- * @see #getExtendedElementTypeSet()
- * @generated
- */
- EReference getExtendedElementTypeSet_ElementType();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#getId <em>Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Id</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#getId()
- * @see #getExtendedElementTypeSet()
- * @generated
- */
- EAttribute getExtendedElementTypeSet_Id();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration <em>Extended Element Type Configuration</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Extended Element Type Configuration</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration
- * @generated
- */
- EClass getExtendedElementTypeConfiguration();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getName <em>Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Name</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getName()
- * @see #getExtendedElementTypeConfiguration()
- * @generated
- */
- EAttribute getExtendedElementTypeConfiguration_Name();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getId <em>Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Id</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getId()
- * @see #getExtendedElementTypeConfiguration()
- * @generated
- */
- EAttribute getExtendedElementTypeConfiguration_Id();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getIconEntry <em>Icon Entry</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Icon Entry</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getIconEntry()
- * @see #getExtendedElementTypeConfiguration()
- * @generated
- */
- EReference getExtendedElementTypeConfiguration_IconEntry();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getHint <em>Hint</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Hint</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getHint()
- * @see #getExtendedElementTypeConfiguration()
- * @generated
- */
- EAttribute getExtendedElementTypeConfiguration_Hint();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getKindName <em>Kind Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Kind Name</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getKindName()
- * @see #getExtendedElementTypeConfiguration()
- * @generated
- */
- EAttribute getExtendedElementTypeConfiguration_KindName();
-
- /**
- * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getSpecializedTypesID <em>Specialized Types ID</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute list '<em>Specialized Types ID</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getSpecializedTypesID()
- * @see #getExtendedElementTypeConfiguration()
- * @generated
- */
- EAttribute getExtendedElementTypeConfiguration_SpecializedTypesID();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getPreValidation <em>Pre Validation</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Pre Validation</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getPreValidation()
- * @see #getExtendedElementTypeConfiguration()
- * @generated
- */
- EReference getExtendedElementTypeConfiguration_PreValidation();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getPreAction <em>Pre Action</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Pre Action</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getPreAction()
- * @see #getExtendedElementTypeConfiguration()
- * @generated
- */
- EReference getExtendedElementTypeConfiguration_PreAction();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getPostAction <em>Post Action</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Post Action</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getPostAction()
- * @see #getExtendedElementTypeConfiguration()
- * @generated
- */
- EReference getExtendedElementTypeConfiguration_PostAction();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getSpecializedDiagramTypeID <em>Specialized Diagram Type ID</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Specialized Diagram Type ID</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration#getSpecializedDiagramTypeID()
- * @see #getExtendedElementTypeConfiguration()
- * @generated
- */
- EAttribute getExtendedElementTypeConfiguration_SpecializedDiagramTypeID();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry <em>Icon Entry</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Icon Entry</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.IconEntry
- * @generated
- */
- EClass getIconEntry();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry#getIconPath <em>Icon Path</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Icon Path</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.IconEntry#getIconPath()
- * @see #getIconEntry()
- * @generated
- */
- EAttribute getIconEntry_IconPath();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry#getBundleId <em>Bundle Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Bundle Id</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.IconEntry#getBundleId()
- * @see #getIconEntry()
- * @generated
- */
- EAttribute getIconEntry_BundleId();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration <em>Action Configuration</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Action Configuration</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration
- * @generated
- */
- EClass getActionConfiguration();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration#getLabel <em>Label</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Label</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration#getLabel()
- * @see #getActionConfiguration()
- * @generated
- */
- EAttribute getActionConfiguration_Label();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration#getId <em>Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Id</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration#getId()
- * @see #getActionConfiguration()
- * @generated
- */
- EAttribute getActionConfiguration_Id();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.PreActionConfiguration <em>Pre Action Configuration</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Pre Action Configuration</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.PreActionConfiguration
- * @generated
- */
- EClass getPreActionConfiguration();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration <em>Post Action Configuration</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Post Action Configuration</em>'.
- * @see org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration
- * @generated
- */
- EClass getPostActionConfiguration();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- ExtendedtypesFactory getExtendedtypesFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
- interface Literals {
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeSetImpl <em>Extended Element Type Set</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeSetImpl
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getExtendedElementTypeSet()
- * @generated
- */
- EClass EXTENDED_ELEMENT_TYPE_SET = eINSTANCE.getExtendedElementTypeSet();
-
- /**
- * The meta object literal for the '<em><b>Element Type</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE = eINSTANCE.getExtendedElementTypeSet_ElementType();
-
- /**
- * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute EXTENDED_ELEMENT_TYPE_SET__ID = eINSTANCE.getExtendedElementTypeSet_Id();
-
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl <em>Extended Element Type Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getExtendedElementTypeConfiguration()
- * @generated
- */
- EClass EXTENDED_ELEMENT_TYPE_CONFIGURATION = eINSTANCE.getExtendedElementTypeConfiguration();
-
- /**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME = eINSTANCE.getExtendedElementTypeConfiguration_Name();
-
- /**
- * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID = eINSTANCE.getExtendedElementTypeConfiguration_Id();
-
- /**
- * The meta object literal for the '<em><b>Icon Entry</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY = eINSTANCE.getExtendedElementTypeConfiguration_IconEntry();
-
- /**
- * The meta object literal for the '<em><b>Hint</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT = eINSTANCE.getExtendedElementTypeConfiguration_Hint();
-
- /**
- * The meta object literal for the '<em><b>Kind Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME = eINSTANCE.getExtendedElementTypeConfiguration_KindName();
-
- /**
- * The meta object literal for the '<em><b>Specialized Types ID</b></em>' attribute list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID = eINSTANCE.getExtendedElementTypeConfiguration_SpecializedTypesID();
-
- /**
- * The meta object literal for the '<em><b>Pre Validation</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION = eINSTANCE.getExtendedElementTypeConfiguration_PreValidation();
-
- /**
- * The meta object literal for the '<em><b>Pre Action</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION = eINSTANCE.getExtendedElementTypeConfiguration_PreAction();
-
- /**
- * The meta object literal for the '<em><b>Post Action</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION = eINSTANCE.getExtendedElementTypeConfiguration_PostAction();
-
- /**
- * The meta object literal for the '<em><b>Specialized Diagram Type ID</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID = eINSTANCE.getExtendedElementTypeConfiguration_SpecializedDiagramTypeID();
-
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.IconEntryImpl <em>Icon Entry</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.IconEntryImpl
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getIconEntry()
- * @generated
- */
- EClass ICON_ENTRY = eINSTANCE.getIconEntry();
-
- /**
- * The meta object literal for the '<em><b>Icon Path</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute ICON_ENTRY__ICON_PATH = eINSTANCE.getIconEntry_IconPath();
-
- /**
- * The meta object literal for the '<em><b>Bundle Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute ICON_ENTRY__BUNDLE_ID = eINSTANCE.getIconEntry_BundleId();
-
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ActionConfigurationImpl <em>Action Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ActionConfigurationImpl
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getActionConfiguration()
- * @generated
- */
- EClass ACTION_CONFIGURATION = eINSTANCE.getActionConfiguration();
-
- /**
- * The meta object literal for the '<em><b>Label</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute ACTION_CONFIGURATION__LABEL = eINSTANCE.getActionConfiguration_Label();
-
- /**
- * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute ACTION_CONFIGURATION__ID = eINSTANCE.getActionConfiguration_Id();
-
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.PreActionConfigurationImpl <em>Pre Action Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.PreActionConfigurationImpl
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getPreActionConfiguration()
- * @generated
- */
- EClass PRE_ACTION_CONFIGURATION = eINSTANCE.getPreActionConfiguration();
-
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.PostActionConfigurationImpl <em>Post Action Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.PostActionConfigurationImpl
- * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getPostActionConfiguration()
- * @generated
- */
- EClass POST_ACTION_CONFIGURATION = eINSTANCE.getPostActionConfiguration();
-
- }
-
-} //ExtendedtypesPackage
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ExtendedtypesPackage extends EPackage {
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "extendedtypes"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/infra/extendedtypes/1.0"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "extendedtypes"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ ExtendedtypesPackage eINSTANCE = org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ConfigurationElementImpl <em>Configuration Element</em>}'
+ * class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ConfigurationElementImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getConfigurationElement()
+ * @generated
+ */
+ int CONFIGURATION_ELEMENT = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_ELEMENT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_ELEMENT__DESCRIPTION = 1;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_ELEMENT__IDENTIFIER = 2;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_ELEMENT__ICON_ENTRY = 3;
+
+ /**
+ * The number of structural features of the '<em>Configuration Element</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_ELEMENT_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeSetImpl <em>Extended Element Type Set</em>}'
+ * class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeSetImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getExtendedElementTypeSet()
+ * @generated
+ */
+ int EXTENDED_ELEMENT_TYPE_SET = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_SET__NAME = CONFIGURATION_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_SET__DESCRIPTION = CONFIGURATION_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_SET__IDENTIFIER = CONFIGURATION_ELEMENT__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_SET__ICON_ENTRY = CONFIGURATION_ELEMENT__ICON_ENTRY;
+
+ /**
+ * The feature id for the '<em><b>Element Type</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE = CONFIGURATION_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Extensible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_SET__EXTENSIBLE = CONFIGURATION_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Extended Element Type Set</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_SET_FEATURE_COUNT = CONFIGURATION_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ElementTypeConfigurationImpl
+ * <em>Element Type Configuration</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ElementTypeConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getElementTypeConfiguration()
+ * @generated
+ */
+ int ELEMENT_TYPE_CONFIGURATION = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_CONFIGURATION__NAME = CONFIGURATION_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_CONFIGURATION__DESCRIPTION = CONFIGURATION_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_CONFIGURATION__IDENTIFIER = CONFIGURATION_ELEMENT__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY = CONFIGURATION_ELEMENT__ICON_ENTRY;
+
+ /**
+ * The feature id for the '<em><b>Hint</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_CONFIGURATION__HINT = CONFIGURATION_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Kind Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_CONFIGURATION__KIND_NAME = CONFIGURATION_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Specialized Types ID</b></em>' attribute list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID = CONFIGURATION_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Matcher Configuration</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION = CONFIGURATION_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Element Type Configuration</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_CONFIGURATION_FEATURE_COUNT = CONFIGURATION_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the ' {@link org.eclipse.papyrus.infra.extendedtypes.impl.IconEntryImpl
+ * <em>Icon Entry</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.IconEntryImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getIconEntry()
+ * @generated
+ */
+ int ICON_ENTRY = 2;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ICON_ENTRY__ICON_PATH = 0;
+
+ /**
+ * The feature id for the '<em><b>Bundle Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ICON_ENTRY__BUNDLE_ID = 1;
+
+ /**
+ * The number of structural features of the '<em>Icon Entry</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ICON_ENTRY_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ElementTypeAdviceConfigurationImpl
+ * <em>Element Type Advice Configuration</em>}' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ElementTypeAdviceConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getElementTypeAdviceConfiguration()
+ * @generated
+ */
+ int ELEMENT_TYPE_ADVICE_CONFIGURATION = 12;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_ADVICE_CONFIGURATION__NAME = CONFIGURATION_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_ADVICE_CONFIGURATION__DESCRIPTION = CONFIGURATION_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_ADVICE_CONFIGURATION__IDENTIFIER = CONFIGURATION_ELEMENT__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_ADVICE_CONFIGURATION__ICON_ENTRY = CONFIGURATION_ELEMENT__ICON_ENTRY;
+
+ /**
+ * The number of structural features of the '<em>Element Type Advice Configuration</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TYPE_ADVICE_CONFIGURATION_FEATURE_COUNT = CONFIGURATION_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ViewTypeAdviceConfigurationImpl
+ * <em>View Type Advice Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ViewTypeAdviceConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getViewTypeAdviceConfiguration()
+ * @generated
+ */
+ int VIEW_TYPE_ADVICE_CONFIGURATION = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_ADVICE_CONFIGURATION__NAME = ELEMENT_TYPE_ADVICE_CONFIGURATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_ADVICE_CONFIGURATION__DESCRIPTION = ELEMENT_TYPE_ADVICE_CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_ADVICE_CONFIGURATION__IDENTIFIER = ELEMENT_TYPE_ADVICE_CONFIGURATION__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_ADVICE_CONFIGURATION__ICON_ENTRY = ELEMENT_TYPE_ADVICE_CONFIGURATION__ICON_ENTRY;
+
+ /**
+ * The number of structural features of the '<em>View Type Advice Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_ADVICE_CONFIGURATION_FEATURE_COUNT = ELEMENT_TYPE_ADVICE_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.SemanticTypeAdviceConfigurationImpl
+ * <em>Semantic Type Advice Configuration</em>}' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.SemanticTypeAdviceConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getSemanticTypeAdviceConfiguration()
+ * @generated
+ */
+ int SEMANTIC_TYPE_ADVICE_CONFIGURATION = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_ADVICE_CONFIGURATION__NAME = ELEMENT_TYPE_ADVICE_CONFIGURATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_ADVICE_CONFIGURATION__DESCRIPTION = ELEMENT_TYPE_ADVICE_CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_ADVICE_CONFIGURATION__IDENTIFIER = ELEMENT_TYPE_ADVICE_CONFIGURATION__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_ADVICE_CONFIGURATION__ICON_ENTRY = ELEMENT_TYPE_ADVICE_CONFIGURATION__ICON_ENTRY;
+
+ /**
+ * The number of structural features of the '<em>Semantic Type Advice Configuration</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_ADVICE_CONFIGURATION_FEATURE_COUNT = ELEMENT_TYPE_ADVICE_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.MatcherConfigurationImpl <em>Matcher Configuration</em>}'
+ * class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.MatcherConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getMatcherConfiguration()
+ * @generated
+ */
+ int MATCHER_CONFIGURATION = 6;
+
+ /**
+ * The number of structural features of the '<em>Matcher Configuration</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MATCHER_CONFIGURATION_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ActionConfigurationImpl <em>Action Configuration</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ActionConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getActionConfiguration()
+ * @generated
+ */
+ int ACTION_CONFIGURATION = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTION_CONFIGURATION__NAME = CONFIGURATION_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTION_CONFIGURATION__DESCRIPTION = CONFIGURATION_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTION_CONFIGURATION__IDENTIFIER = CONFIGURATION_ELEMENT__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTION_CONFIGURATION__ICON_ENTRY = CONFIGURATION_ELEMENT__ICON_ENTRY;
+
+ /**
+ * The feature id for the ' <em><b>Pre Validation Query Configuration</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTION_CONFIGURATION__PRE_VALIDATION_QUERY_CONFIGURATION = CONFIGURATION_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Action Configuration</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTION_CONFIGURATION_FEATURE_COUNT = CONFIGURATION_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ViewActionConfigurationImpl <em>View Action Configuration</em>}
+ * ' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ViewActionConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getViewActionConfiguration()
+ * @generated
+ */
+ int VIEW_ACTION_CONFIGURATION = 8;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_ACTION_CONFIGURATION__NAME = ACTION_CONFIGURATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_ACTION_CONFIGURATION__DESCRIPTION = ACTION_CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_ACTION_CONFIGURATION__IDENTIFIER = ACTION_CONFIGURATION__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_ACTION_CONFIGURATION__ICON_ENTRY = ACTION_CONFIGURATION__ICON_ENTRY;
+
+ /**
+ * The feature id for the ' <em><b>Pre Validation Query Configuration</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_ACTION_CONFIGURATION__PRE_VALIDATION_QUERY_CONFIGURATION = ACTION_CONFIGURATION__PRE_VALIDATION_QUERY_CONFIGURATION;
+
+ /**
+ * The number of structural features of the '<em>View Action Configuration</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_ACTION_CONFIGURATION_FEATURE_COUNT = ACTION_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.SemanticActionConfigurationImpl
+ * <em>Semantic Action Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.SemanticActionConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getSemanticActionConfiguration()
+ * @generated
+ */
+ int SEMANTIC_ACTION_CONFIGURATION = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_ACTION_CONFIGURATION__NAME = ACTION_CONFIGURATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_ACTION_CONFIGURATION__DESCRIPTION = ACTION_CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_ACTION_CONFIGURATION__IDENTIFIER = ACTION_CONFIGURATION__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_ACTION_CONFIGURATION__ICON_ENTRY = ACTION_CONFIGURATION__ICON_ENTRY;
+
+ /**
+ * The feature id for the ' <em><b>Pre Validation Query Configuration</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_ACTION_CONFIGURATION__PRE_VALIDATION_QUERY_CONFIGURATION = ACTION_CONFIGURATION__PRE_VALIDATION_QUERY_CONFIGURATION;
+
+ /**
+ * The number of structural features of the '<em>Semantic Action Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_ACTION_CONFIGURATION_FEATURE_COUNT = ACTION_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.SemanticTypeConfigurationImpl
+ * <em>Semantic Type Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.SemanticTypeConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getSemanticTypeConfiguration()
+ * @generated
+ */
+ int SEMANTIC_TYPE_CONFIGURATION = 10;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_CONFIGURATION__NAME = ELEMENT_TYPE_CONFIGURATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_CONFIGURATION__DESCRIPTION = ELEMENT_TYPE_CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_CONFIGURATION__IDENTIFIER = ELEMENT_TYPE_CONFIGURATION__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_CONFIGURATION__ICON_ENTRY = ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY;
+
+ /**
+ * The feature id for the '<em><b>Hint</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_CONFIGURATION__HINT = ELEMENT_TYPE_CONFIGURATION__HINT;
+
+ /**
+ * The feature id for the '<em><b>Kind Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_CONFIGURATION__KIND_NAME = ELEMENT_TYPE_CONFIGURATION__KIND_NAME;
+
+ /**
+ * The feature id for the '<em><b>Specialized Types ID</b></em>' attribute list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID = ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID;
+
+ /**
+ * The feature id for the '<em><b>Matcher Configuration</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_CONFIGURATION__MATCHER_CONFIGURATION = ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION;
+
+ /**
+ * The number of structural features of the '<em>Semantic Type Configuration</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEMANTIC_TYPE_CONFIGURATION_FEATURE_COUNT = ELEMENT_TYPE_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.impl.ViewTypeConfigurationImpl <em>View Type Configuration</em>}'
+ * class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ViewTypeConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedtypesPackageImpl#getViewTypeConfiguration()
+ * @generated
+ */
+ int VIEW_TYPE_CONFIGURATION = 11;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_CONFIGURATION__NAME = ELEMENT_TYPE_CONFIGURATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_CONFIGURATION__DESCRIPTION = ELEMENT_TYPE_CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_CONFIGURATION__IDENTIFIER = ELEMENT_TYPE_CONFIGURATION__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_CONFIGURATION__ICON_ENTRY = ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY;
+
+ /**
+ * The feature id for the '<em><b>Hint</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_CONFIGURATION__HINT = ELEMENT_TYPE_CONFIGURATION__HINT;
+
+ /**
+ * The feature id for the '<em><b>Kind Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_CONFIGURATION__KIND_NAME = ELEMENT_TYPE_CONFIGURATION__KIND_NAME;
+
+ /**
+ * The feature id for the '<em><b>Specialized Types ID</b></em>' attribute list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID = ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID;
+
+ /**
+ * The feature id for the '<em><b>Matcher Configuration</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_CONFIGURATION__MATCHER_CONFIGURATION = ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION;
+
+ /**
+ * The feature id for the '<em><b>Specialized Diagram Type ID</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID = ELEMENT_TYPE_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>View Type Configuration</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW_TYPE_CONFIGURATION_FEATURE_COUNT = ELEMENT_TYPE_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet <em>Extended Element Type Set</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for class '<em>Extended Element Type Set</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet
+ * @generated
+ */
+ EClass getExtendedElementTypeSet();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#getElementType <em>Element Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Element Type</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#getElementType()
+ * @see #getExtendedElementTypeSet()
+ * @generated
+ */
+ EReference getExtendedElementTypeSet_ElementType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#isExtensible
+ * <em>Extensible</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Extensible</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet#isExtensible()
+ * @see #getExtendedElementTypeSet()
+ * @generated
+ */
+ EAttribute getExtendedElementTypeSet_Extensible();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration <em>Element Type Configuration</em>}
+ * '.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for class '<em>Element Type Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration
+ * @generated
+ */
+ EClass getElementTypeConfiguration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getHint <em>Hint</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Hint</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getHint()
+ * @see #getElementTypeConfiguration()
+ * @generated
+ */
+ EAttribute getElementTypeConfiguration_Hint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getKindName
+ * <em>Kind Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Kind Name</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getKindName()
+ * @see #getElementTypeConfiguration()
+ * @generated
+ */
+ EAttribute getElementTypeConfiguration_KindName();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getSpecializedTypesID
+ * <em>Specialized Types ID</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the attribute list '<em>Specialized Types ID</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getSpecializedTypesID()
+ * @see #getElementTypeConfiguration()
+ * @generated
+ */
+ EAttribute getElementTypeConfiguration_SpecializedTypesID();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getMatcherConfiguration <em>Matcher Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Matcher Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration#getMatcherConfiguration()
+ * @see #getElementTypeConfiguration()
+ * @generated
+ */
+ EReference getElementTypeConfiguration_MatcherConfiguration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry <em>Icon Entry</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Icon Entry</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.IconEntry
+ * @generated
+ */
+ EClass getIconEntry();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry#getIconPath <em>Icon Path</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Icon Path</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.IconEntry#getIconPath()
+ * @see #getIconEntry()
+ * @generated
+ */
+ EAttribute getIconEntry_IconPath();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry#getBundleId <em>Bundle Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Bundle Id</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.IconEntry#getBundleId()
+ * @see #getIconEntry()
+ * @generated
+ */
+ EAttribute getIconEntry_BundleId();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement <em>Configuration Element</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for class '<em>Configuration Element</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement
+ * @generated
+ */
+ EClass getConfigurationElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getName()
+ * @see #getConfigurationElement()
+ * @generated
+ */
+ EAttribute getConfigurationElement_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getDescription
+ * <em>Description</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getDescription()
+ * @see #getConfigurationElement()
+ * @generated
+ */
+ EAttribute getConfigurationElement_Description();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getIdentifier
+ * <em>Identifier</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Identifier</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getIdentifier()
+ * @see #getConfigurationElement()
+ * @generated
+ */
+ EAttribute getConfigurationElement_Identifier();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getIconEntry
+ * <em>Icon Entry</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Icon Entry</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement#getIconEntry()
+ * @see #getConfigurationElement()
+ * @generated
+ */
+ EReference getConfigurationElement_IconEntry();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.ViewTypeAdviceConfiguration
+ * <em>View Type Advice Configuration</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for class '<em>View Type Advice Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ViewTypeAdviceConfiguration
+ * @generated
+ */
+ EClass getViewTypeAdviceConfiguration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.SemanticTypeAdviceConfiguration
+ * <em>Semantic Type Advice Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Semantic Type Advice Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.SemanticTypeAdviceConfiguration
+ * @generated
+ */
+ EClass getSemanticTypeAdviceConfiguration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.MatcherConfiguration <em>Matcher Configuration</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for class '<em>Matcher Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.MatcherConfiguration
+ * @generated
+ */
+ EClass getMatcherConfiguration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration <em>Action Configuration</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for class '<em>Action Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration
+ * @generated
+ */
+ EClass getActionConfiguration();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration#getPreValidationQueryConfiguration
+ * <em>Pre Validation Query Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Pre Validation Query Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration#getPreValidationQueryConfiguration()
+ * @see #getActionConfiguration()
+ * @generated
+ */
+ EReference getActionConfiguration_PreValidationQueryConfiguration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.ViewActionConfiguration <em>View Action Configuration</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for class '<em>View Action Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ViewActionConfiguration
+ * @generated
+ */
+ EClass getViewActionConfiguration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.SemanticActionConfiguration
+ * <em>Semantic Action Configuration</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for class '<em>Semantic Action Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.SemanticActionConfiguration
+ * @generated
+ */
+ EClass getSemanticActionConfiguration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration
+ * <em>Semantic Type Configuration</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for class '<em>Semantic Type Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration
+ * @generated
+ */
+ EClass getSemanticTypeConfiguration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.ViewTypeConfiguration <em>View Type Configuration</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for class '<em>View Type Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ViewTypeConfiguration
+ * @generated
+ */
+ EClass getViewTypeConfiguration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.ViewTypeConfiguration#getSpecializedDiagramTypeID
+ * <em>Specialized Diagram Type ID</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Specialized Diagram Type ID</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ViewTypeConfiguration#getSpecializedDiagramTypeID()
+ * @see #getViewTypeConfiguration()
+ * @generated
+ */
+ EAttribute getViewTypeConfiguration_SpecializedDiagramTypeID();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeAdviceConfiguration
+ * <em>Element Type Advice Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Element Type Advice Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.ElementTypeAdviceConfiguration
+ * @generated
+ */
+ EClass getElementTypeAdviceConfiguration();
+
+ /**
+ * Returns the factory that creates the instances of the model. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ExtendedtypesFactory getExtendedtypesFactory();
+} // ExtendedtypesPackage
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/IconEntry.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/IconEntry.java
index 821a7f03939..d7effbea2e7 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/IconEntry.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/IconEntry.java
@@ -1,81 +1,89 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Icon Entry</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry#getIconPath <em>Icon Path</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry#getBundleId <em>Bundle Id</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getIconEntry()
- * @model
- * @generated
- */
-public interface IconEntry extends EObject {
- /**
- * Returns the value of the '<em><b>Icon Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Icon Path</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Icon Path</em>' attribute.
- * @see #setIconPath(String)
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getIconEntry_IconPath()
- * @model
- * @generated
- */
- String getIconPath();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry#getIconPath <em>Icon Path</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Icon Path</em>' attribute.
- * @see #getIconPath()
- * @generated
- */
- void setIconPath(String value);
-
- /**
- * Returns the value of the '<em><b>Bundle Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Bundle Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Bundle Id</em>' attribute.
- * @see #setBundleId(String)
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getIconEntry_BundleId()
- * @model
- * @generated
- */
- String getBundleId();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry#getBundleId <em>Bundle Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Bundle Id</em>' attribute.
- * @see #getBundleId()
- * @generated
- */
- void setBundleId(String value);
-
-} // IconEntry
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Icon Entry</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry#getIconPath <em>Icon Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry#getBundleId <em>Bundle Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getIconEntry()
+ * @model
+ * @generated
+ */
+public interface IconEntry extends EObject {
+
+ /**
+ * Returns the value of the '<em><b>Icon Path</b></em>' attribute. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Icon Path</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Icon Path</em>' attribute.
+ * @see #setIconPath(String)
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getIconEntry_IconPath()
+ * @model
+ * @generated
+ */
+ String getIconPath();
+
+ /**
+ * Sets the value of the ' {@link org.eclipse.papyrus.infra.extendedtypes.IconEntry#getIconPath
+ * <em>Icon Path</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Icon Path</em>' attribute.
+ * @see #getIconPath()
+ * @generated
+ */
+ void setIconPath(String value);
+
+ /**
+ * Returns the value of the '<em><b>Bundle Id</b></em>' attribute. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Bundle Id</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Bundle Id</em>' attribute.
+ * @see #setBundleId(String)
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getIconEntry_BundleId()
+ * @model
+ * @generated
+ */
+ String getBundleId();
+
+ /**
+ * Sets the value of the ' {@link org.eclipse.papyrus.infra.extendedtypes.IconEntry#getBundleId
+ * <em>Bundle Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Bundle Id</em>' attribute.
+ * @see #getBundleId()
+ * @generated
+ */
+ void setBundleId(String value);
+} // IconEntry
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/MatcherConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/MatcherConfiguration.java
new file mode 100644
index 00000000000..bfd718ff44b
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/MatcherConfiguration.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Matcher Configuration</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getMatcherConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface MatcherConfiguration extends EObject {
+} // MatcherConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/PostActionConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/PostActionConfiguration.java
deleted file mode 100644
index 176d3995b88..00000000000
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/PostActionConfiguration.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Post Action Configuration</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getPostActionConfiguration()
- * @model abstract="true"
- * @generated
- */
-public interface PostActionConfiguration extends ActionConfiguration {
-} // PostActionConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/PreActionConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/PreActionConfiguration.java
deleted file mode 100644
index 23ac073d44b..00000000000
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/PreActionConfiguration.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Pre Action Configuration</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getPreActionConfiguration()
- * @model abstract="true"
- * @generated
- */
-public interface PreActionConfiguration extends ActionConfiguration {
-} // PreActionConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/SemanticActionConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/SemanticActionConfiguration.java
new file mode 100644
index 00000000000..20263b7c1e0
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/SemanticActionConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Semantic Action Configuration</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getSemanticActionConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SemanticActionConfiguration extends ActionConfiguration {
+} // SemanticActionConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/SemanticTypeAdviceConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/SemanticTypeAdviceConfiguration.java
new file mode 100644
index 00000000000..90413766440
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/SemanticTypeAdviceConfiguration.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Semantic Type Advice Configuration</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Configuration dedicated to edit helper advices that will manage the new kind of element for its entire lifecycle (Creation, Update, Deletion)
+ *
+ * This should be used to define new model elements for a domain specific language
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getSemanticTypeAdviceConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SemanticTypeAdviceConfiguration extends ElementTypeAdviceConfiguration {
+} // SemanticTypeAdviceConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/SemanticTypeConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/SemanticTypeConfiguration.java
new file mode 100644
index 00000000000..cd46289448b
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/SemanticTypeConfiguration.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Semantic Type Configuration</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Configuration specific to element types registered to manipulate Domain Specific elements.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getSemanticTypeConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SemanticTypeConfiguration extends ElementTypeConfiguration {
+} // SemanticTypeConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ViewActionConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ViewActionConfiguration.java
new file mode 100644
index 00000000000..ac93ed542a7
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ViewActionConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>View Action Configuration</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getViewActionConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ViewActionConfiguration extends ActionConfiguration {
+} // ViewActionConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ViewTypeAdviceConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ViewTypeAdviceConfiguration.java
new file mode 100644
index 00000000000..69fd2cc6134
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ViewTypeAdviceConfiguration.java
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>View Type Advice Configuration</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Configuration for edit helper advices dedicated to the creation of new elements only.
+ *
+ * This kind of helpers should be used in the palette extensions, modeling assistants, model explorer, property views.
+ * Once the element has been created, it is managed by the edit helper and the advices of the specialized ElementType.
+ *
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getViewTypeAdviceConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ViewTypeAdviceConfiguration extends ElementTypeAdviceConfiguration {
+} // ViewTypeAdviceConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ViewTypeConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ViewTypeConfiguration.java
new file mode 100644
index 00000000000..74043cd25b9
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/ViewTypeConfiguration.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>View Type Configuration</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Configuration specific to element types registered to manipulate graphical elements in GMF diagrams
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.ViewTypeConfiguration#getSpecializedDiagramTypeID <em>Specialized Diagram Type ID</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getViewTypeConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ViewTypeConfiguration extends ElementTypeConfiguration {
+
+ /**
+ * Returns the value of the '<em><b>Specialized Diagram Type ID</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Specialized Diagram Type ID</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Specialized Diagram Type ID</em>' attribute.
+ * @see #setSpecializedDiagramTypeID(String)
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#getViewTypeConfiguration_SpecializedDiagramTypeID()
+ * @model
+ * @generated
+ */
+ String getSpecializedDiagramTypeID();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.ViewTypeConfiguration#getSpecializedDiagramTypeID
+ * <em>Specialized Diagram Type ID</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Specialized Diagram Type ID</em>' attribute.
+ * @see #getSpecializedDiagramTypeID()
+ * @generated
+ */
+ void setSpecializedDiagramTypeID(String value);
+} // ViewTypeConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticFactory.java
new file mode 100644
index 00000000000..57ae3924caf
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticFactory.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage
+ * @generated
+ */
+public interface AspectSemanticFactory extends EFactory {
+ /**
+ * The singleton instance of the factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ AspectSemanticFactory eINSTANCE = org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl.AspectSemanticFactoryImpl
+ .init();
+
+ /**
+ * Returns a new object of class '<em>Type Configuration</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Type Configuration</em>'.
+ * @generated
+ */
+ AspectSemanticTypeConfiguration createAspectSemanticTypeConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Type Advice Configuration</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Type Advice Configuration</em>'.
+ * @generated
+ */
+ AspectSemanticTypeAdviceConfiguration createAspectSemanticTypeAdviceConfiguration();
+
+ /**
+ * Returns the package supported by this factory. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ AspectSemanticPackage getAspectSemanticPackage();
+
+} // AspectSemanticFactory
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticPackage.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticPackage.java
new file mode 100644
index 00000000000..8090de01294
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticPackage.java
@@ -0,0 +1,313 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface AspectSemanticPackage extends EPackage {
+ /**
+ * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "aspectsemantic";
+
+ /**
+ * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/infra/extendedtypes/semantic/aspect/1.0";
+
+ /**
+ * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "aspectsemantic";
+
+ /**
+ * The singleton instance of the package. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ AspectSemanticPackage eINSTANCE = org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl.AspectSemanticPackageImpl
+ .init();
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl.AspectSemanticTypeConfigurationImpl
+ * <em>Type Configuration</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl.AspectSemanticTypeConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl.AspectSemanticPackageImpl#getAspectSemanticTypeConfiguration()
+ * @generated
+ */
+ int ASPECT_SEMANTIC_TYPE_CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_CONFIGURATION__NAME = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_CONFIGURATION__DESCRIPTION = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_CONFIGURATION__IDENTIFIER = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_CONFIGURATION__ICON_ENTRY = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__ICON_ENTRY;
+
+ /**
+ * The feature id for the '<em><b>Hint</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_CONFIGURATION__HINT = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__HINT;
+
+ /**
+ * The feature id for the '<em><b>Kind Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_CONFIGURATION__KIND_NAME = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__KIND_NAME;
+
+ /**
+ * The feature id for the '<em><b>Specialized Types ID</b></em>' attribute
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID;
+
+ /**
+ * The feature id for the '<em><b>Advice Configuration</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_CONFIGURATION__ADVICE_CONFIGURATION = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Type Configuration</em>'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_CONFIGURATION_FEATURE_COUNT = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION_FEATURE_COUNT + 1;
+
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl.AspectSemanticTypeAdviceConfigurationImpl
+ * <em>Type Advice Configuration</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl.AspectSemanticTypeAdviceConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl.AspectSemanticPackageImpl#getAspectSemanticTypeAdviceConfiguration()
+ * @generated
+ */
+ int ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__NAME = ExtendedtypesPackage.SEMANTIC_TYPE_ADVICE_CONFIGURATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__DESCRIPTION = ExtendedtypesPackage.SEMANTIC_TYPE_ADVICE_CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__IDENTIFIER = ExtendedtypesPackage.SEMANTIC_TYPE_ADVICE_CONFIGURATION__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__ICON_ENTRY = ExtendedtypesPackage.SEMANTIC_TYPE_ADVICE_CONFIGURATION__ICON_ENTRY;
+
+ /**
+ * The feature id for the '<em><b>Pre Action Configuration</b></em>'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__PRE_ACTION_CONFIGURATION = ExtendedtypesPackage.SEMANTIC_TYPE_ADVICE_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Post Action Configuration</b></em>'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__POST_ACTION_CONFIGURATION = ExtendedtypesPackage.SEMANTIC_TYPE_ADVICE_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '
+ * <em>Type Advice Configuration</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION_FEATURE_COUNT = ExtendedtypesPackage.SEMANTIC_TYPE_ADVICE_CONFIGURATION_FEATURE_COUNT + 2;
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration
+ * <em>Type Configuration</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for class '<em>Type Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration
+ * @generated
+ */
+ EClass getAspectSemanticTypeConfiguration();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration#getAdviceConfiguration
+ * <em>Advice Configuration</em>}'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the containment reference '
+ * <em>Advice Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration#getAdviceConfiguration()
+ * @see #getAspectSemanticTypeConfiguration()
+ * @generated
+ */
+ EReference getAspectSemanticTypeConfiguration_AdviceConfiguration();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration
+ * <em>Type Advice Configuration</em>}'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for class '<em>Type Advice Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration
+ * @generated
+ */
+ EClass getAspectSemanticTypeAdviceConfiguration();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration#getPreActionConfiguration
+ * <em>Pre Action Configuration</em>}'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '
+ * <em>Pre Action Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration#getPreActionConfiguration()
+ * @see #getAspectSemanticTypeAdviceConfiguration()
+ * @generated
+ */
+ EReference getAspectSemanticTypeAdviceConfiguration_PreActionConfiguration();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration#getPostActionConfiguration
+ * <em>Post Action Configuration</em>}'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '
+ * <em>Post Action Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration#getPostActionConfiguration()
+ * @see #getAspectSemanticTypeAdviceConfiguration()
+ * @generated
+ */
+ EReference getAspectSemanticTypeAdviceConfiguration_PostActionConfiguration();
+
+ /**
+ * Returns the factory that creates the instances of the model. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ AspectSemanticFactory getAspectSemanticFactory();
+
+} // AspectSemanticPackage
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticTypeAdviceConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticTypeAdviceConfiguration.java
new file mode 100644
index 00000000000..24977802845
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticTypeAdviceConfiguration.java
@@ -0,0 +1,82 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.infra.extendedtypes.SemanticActionConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.SemanticTypeAdviceConfiguration;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Type Advice Configuration</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration#getPreActionConfiguration
+ * <em>Pre Action Configuration</em>}</li>
+ * <li>
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration#getPostActionConfiguration
+ * <em>Post Action Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage#getAspectSemanticTypeAdviceConfiguration()
+ * @model
+ * @generated
+ */
+public interface AspectSemanticTypeAdviceConfiguration extends
+ SemanticTypeAdviceConfiguration {
+ /**
+ * Returns the value of the '<em><b>Pre Action Configuration</b></em>'
+ * containment reference list. The list contents are of type
+ * {@link org.eclipse.papyrus.infra.extendedtypes.SemanticActionConfiguration}
+ * . <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Action Configuration</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>Pre Action Configuration</em>' containment
+ * reference list.
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage#getAspectSemanticTypeAdviceConfiguration_PreActionConfiguration()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SemanticActionConfiguration> getPreActionConfiguration();
+
+ /**
+ * Returns the value of the '<em><b>Post Action Configuration</b></em>'
+ * containment reference list. The list contents are of type
+ * {@link org.eclipse.papyrus.infra.extendedtypes.SemanticActionConfiguration}
+ * . <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Action Configuration</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>Post Action Configuration</em>' containment
+ * reference list.
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage#getAspectSemanticTypeAdviceConfiguration_PostActionConfiguration()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SemanticActionConfiguration> getPostActionConfiguration();
+
+} // AspectSemanticTypeAdviceConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticTypeConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticTypeConfiguration.java
new file mode 100644
index 00000000000..5e94ca39a44
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/AspectSemanticTypeConfiguration.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic;
+
+import org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Type Configuration</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration#getAdviceConfiguration
+ * <em>Advice Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage#getAspectSemanticTypeConfiguration()
+ * @model
+ * @generated
+ */
+public interface AspectSemanticTypeConfiguration extends
+ SemanticTypeConfiguration {
+ /**
+ * Returns the value of the '<em><b>Advice Configuration</b></em>'
+ * containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Advice Configuration</em>' containment
+ * reference isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Advice Configuration</em>' containment
+ * reference.
+ * @see #setAdviceConfiguration(AspectSemanticTypeAdviceConfiguration)
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage#getAspectSemanticTypeConfiguration_AdviceConfiguration()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ AspectSemanticTypeAdviceConfiguration getAdviceConfiguration();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration#getAdviceConfiguration
+ * <em>Advice Configuration</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Advice Configuration</em>'
+ * containment reference.
+ * @see #getAdviceConfiguration()
+ * @generated
+ */
+ void setAdviceConfiguration(AspectSemanticTypeAdviceConfiguration value);
+
+} // AspectSemanticTypeConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticFactoryImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticFactoryImpl.java
new file mode 100644
index 00000000000..5a6d4ae0588
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticFactoryImpl.java
@@ -0,0 +1,120 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl;
+
+import org.eclipse.emf.ecore.EClass;
+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.extendedtypes.aspectsemantic.*;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class AspectSemanticFactoryImpl extends EFactoryImpl implements
+ AspectSemanticFactory {
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static AspectSemanticFactory init() {
+ try {
+ AspectSemanticFactory theAspectSemanticFactory = (AspectSemanticFactory) EPackage.Registry.INSTANCE
+ .getEFactory(AspectSemanticPackage.eNS_URI);
+ if (theAspectSemanticFactory != null) {
+ return theAspectSemanticFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new AspectSemanticFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_CONFIGURATION:
+ return createAspectSemanticTypeConfiguration();
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION:
+ return createAspectSemanticTypeAdviceConfiguration();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName()
+ + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticTypeConfiguration createAspectSemanticTypeConfiguration() {
+ AspectSemanticTypeConfigurationImpl aspectSemanticTypeConfiguration = new AspectSemanticTypeConfigurationImpl();
+ return aspectSemanticTypeConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticTypeAdviceConfiguration createAspectSemanticTypeAdviceConfiguration() {
+ AspectSemanticTypeAdviceConfigurationImpl aspectSemanticTypeAdviceConfiguration = new AspectSemanticTypeAdviceConfigurationImpl();
+ return aspectSemanticTypeAdviceConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticPackage getAspectSemanticPackage() {
+ return (AspectSemanticPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static AspectSemanticPackage getPackage() {
+ return AspectSemanticPackage.eINSTANCE;
+ }
+
+} // AspectSemanticFactoryImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticPackageImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticPackageImpl.java
new file mode 100644
index 00000000000..37b9642b9f2
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticPackageImpl.java
@@ -0,0 +1,283 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticFactory;
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage;
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class AspectSemanticPackageImpl extends EPackageImpl implements
+ AspectSemanticPackage {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass aspectSemanticTypeConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass aspectSemanticTypeAdviceConfigurationEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+ * package package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static factory
+ * method {@link #init init()}, which also performs initialization of the
+ * package, or returns the registered package, if one already exists. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private AspectSemanticPackageImpl() {
+ super(eNS_URI, AspectSemanticFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model,
+ * and for any others upon which it depends.
+ *
+ * <p>
+ * This method is used to initialize {@link AspectSemanticPackage#eINSTANCE}
+ * when that field is accessed. Clients should not invoke it directly.
+ * Instead, they should simply access that field to obtain the package. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static AspectSemanticPackage init() {
+ if (isInited)
+ return (AspectSemanticPackage) EPackage.Registry.INSTANCE
+ .getEPackage(AspectSemanticPackage.eNS_URI);
+
+ // Obtain or create and register package
+ AspectSemanticPackageImpl theAspectSemanticPackage = (AspectSemanticPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof AspectSemanticPackageImpl ? EPackage.Registry.INSTANCE
+ .get(eNS_URI) : new AspectSemanticPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ ExtendedtypesPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theAspectSemanticPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theAspectSemanticPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theAspectSemanticPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(AspectSemanticPackage.eNS_URI,
+ theAspectSemanticPackage);
+ return theAspectSemanticPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAspectSemanticTypeConfiguration() {
+ return aspectSemanticTypeConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAspectSemanticTypeConfiguration_AdviceConfiguration() {
+ return (EReference) aspectSemanticTypeConfigurationEClass
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAspectSemanticTypeAdviceConfiguration() {
+ return aspectSemanticTypeAdviceConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAspectSemanticTypeAdviceConfiguration_PreActionConfiguration() {
+ return (EReference) aspectSemanticTypeAdviceConfigurationEClass
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAspectSemanticTypeAdviceConfiguration_PostActionConfiguration() {
+ return (EReference) aspectSemanticTypeAdviceConfigurationEClass
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticFactory getAspectSemanticFactory() {
+ return (AspectSemanticFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is guarded to
+ * have no affect on any invocation but its first. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated)
+ return;
+ isCreated = true;
+
+ // Create classes and their features
+ aspectSemanticTypeConfigurationEClass = createEClass(ASPECT_SEMANTIC_TYPE_CONFIGURATION);
+ createEReference(aspectSemanticTypeConfigurationEClass,
+ ASPECT_SEMANTIC_TYPE_CONFIGURATION__ADVICE_CONFIGURATION);
+
+ aspectSemanticTypeAdviceConfigurationEClass = createEClass(ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION);
+ createEReference(aspectSemanticTypeAdviceConfigurationEClass,
+ ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__PRE_ACTION_CONFIGURATION);
+ createEReference(aspectSemanticTypeAdviceConfigurationEClass,
+ ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__POST_ACTION_CONFIGURATION);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized)
+ return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ ExtendedtypesPackage theExtendedtypesPackage = (ExtendedtypesPackage) EPackage.Registry.INSTANCE
+ .getEPackage(ExtendedtypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ aspectSemanticTypeConfigurationEClass.getESuperTypes().add(
+ theExtendedtypesPackage.getSemanticTypeConfiguration());
+ aspectSemanticTypeAdviceConfigurationEClass.getESuperTypes().add(
+ theExtendedtypesPackage.getSemanticTypeAdviceConfiguration());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(aspectSemanticTypeConfigurationEClass,
+ AspectSemanticTypeConfiguration.class,
+ "AspectSemanticTypeConfiguration", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(
+ getAspectSemanticTypeConfiguration_AdviceConfiguration(),
+ this.getAspectSemanticTypeAdviceConfiguration(), null,
+ "adviceConfiguration", null, 1, 1,
+ AspectSemanticTypeConfiguration.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(aspectSemanticTypeAdviceConfigurationEClass,
+ AspectSemanticTypeAdviceConfiguration.class,
+ "AspectSemanticTypeAdviceConfiguration", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(
+ getAspectSemanticTypeAdviceConfiguration_PreActionConfiguration(),
+ theExtendedtypesPackage.getSemanticActionConfiguration(), null,
+ "preActionConfiguration", null, 0, -1,
+ AspectSemanticTypeAdviceConfiguration.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(
+ getAspectSemanticTypeAdviceConfiguration_PostActionConfiguration(),
+ theExtendedtypesPackage.getSemanticActionConfiguration(), null,
+ "postActionConfiguration", null, 0, -1,
+ AspectSemanticTypeAdviceConfiguration.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // AspectSemanticPackageImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticTypeAdviceConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticTypeAdviceConfigurationImpl.java
new file mode 100644
index 00000000000..34e0c9ce1fd
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticTypeAdviceConfigurationImpl.java
@@ -0,0 +1,220 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl;
+
+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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.infra.extendedtypes.SemanticActionConfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage;
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.impl.SemanticTypeAdviceConfigurationImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Type Advice Configuration</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl.AspectSemanticTypeAdviceConfigurationImpl#getPreActionConfiguration
+ * <em>Pre Action Configuration</em>}</li>
+ * <li>
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl.AspectSemanticTypeAdviceConfigurationImpl#getPostActionConfiguration
+ * <em>Post Action Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AspectSemanticTypeAdviceConfigurationImpl extends
+ SemanticTypeAdviceConfigurationImpl implements
+ AspectSemanticTypeAdviceConfiguration {
+ /**
+ * The cached value of the '{@link #getPreActionConfiguration()
+ * <em>Pre Action Configuration</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPreActionConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected EList<SemanticActionConfiguration> preActionConfiguration;
+
+ /**
+ * The cached value of the '{@link #getPostActionConfiguration()
+ * <em>Post Action Configuration</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPostActionConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected EList<SemanticActionConfiguration> postActionConfiguration;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AspectSemanticTypeAdviceConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AspectSemanticPackage.eINSTANCE
+ .getAspectSemanticTypeAdviceConfiguration();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<SemanticActionConfiguration> getPreActionConfiguration() {
+ if (preActionConfiguration == null) {
+ preActionConfiguration = new EObjectContainmentEList<SemanticActionConfiguration>(
+ SemanticActionConfiguration.class,
+ this,
+ AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__PRE_ACTION_CONFIGURATION);
+ }
+ return preActionConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<SemanticActionConfiguration> getPostActionConfiguration() {
+ if (postActionConfiguration == null) {
+ postActionConfiguration = new EObjectContainmentEList<SemanticActionConfiguration>(
+ SemanticActionConfiguration.class,
+ this,
+ AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__POST_ACTION_CONFIGURATION);
+ }
+ return postActionConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__PRE_ACTION_CONFIGURATION:
+ return ((InternalEList<?>) getPreActionConfiguration())
+ .basicRemove(otherEnd, msgs);
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__POST_ACTION_CONFIGURATION:
+ return ((InternalEList<?>) getPostActionConfiguration())
+ .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 AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__PRE_ACTION_CONFIGURATION:
+ return getPreActionConfiguration();
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__POST_ACTION_CONFIGURATION:
+ return getPostActionConfiguration();
+ }
+ 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 AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__PRE_ACTION_CONFIGURATION:
+ getPreActionConfiguration().clear();
+ getPreActionConfiguration()
+ .addAll((Collection<? extends SemanticActionConfiguration>) newValue);
+ return;
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__POST_ACTION_CONFIGURATION:
+ getPostActionConfiguration().clear();
+ getPostActionConfiguration()
+ .addAll((Collection<? extends SemanticActionConfiguration>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__PRE_ACTION_CONFIGURATION:
+ getPreActionConfiguration().clear();
+ return;
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__POST_ACTION_CONFIGURATION:
+ getPostActionConfiguration().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__PRE_ACTION_CONFIGURATION:
+ return preActionConfiguration != null
+ && !preActionConfiguration.isEmpty();
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION__POST_ACTION_CONFIGURATION:
+ return postActionConfiguration != null
+ && !postActionConfiguration.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // AspectSemanticTypeAdviceConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticTypeConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticTypeConfigurationImpl.java
new file mode 100644
index 00000000000..245a46dd6c5
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/impl/AspectSemanticTypeConfigurationImpl.java
@@ -0,0 +1,217 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage;
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.impl.SemanticTypeConfigurationImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Type Configuration</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.impl.AspectSemanticTypeConfigurationImpl#getAdviceConfiguration
+ * <em>Advice Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AspectSemanticTypeConfigurationImpl extends
+ SemanticTypeConfigurationImpl implements
+ AspectSemanticTypeConfiguration {
+ /**
+ * The cached value of the '{@link #getAdviceConfiguration()
+ * <em>Advice Configuration</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAdviceConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected AspectSemanticTypeAdviceConfiguration adviceConfiguration;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AspectSemanticTypeConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AspectSemanticPackage.eINSTANCE
+ .getAspectSemanticTypeConfiguration();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticTypeAdviceConfiguration getAdviceConfiguration() {
+ return adviceConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetAdviceConfiguration(
+ AspectSemanticTypeAdviceConfiguration newAdviceConfiguration,
+ NotificationChain msgs) {
+ AspectSemanticTypeAdviceConfiguration oldAdviceConfiguration = adviceConfiguration;
+ adviceConfiguration = newAdviceConfiguration;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(
+ this,
+ Notification.SET,
+ AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_CONFIGURATION__ADVICE_CONFIGURATION,
+ oldAdviceConfiguration, newAdviceConfiguration);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setAdviceConfiguration(
+ AspectSemanticTypeAdviceConfiguration newAdviceConfiguration) {
+ if (newAdviceConfiguration != adviceConfiguration) {
+ NotificationChain msgs = null;
+ if (adviceConfiguration != null)
+ msgs = ((InternalEObject) adviceConfiguration)
+ .eInverseRemove(
+ this,
+ EOPPOSITE_FEATURE_BASE
+ - AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_CONFIGURATION__ADVICE_CONFIGURATION,
+ null, msgs);
+ if (newAdviceConfiguration != null)
+ msgs = ((InternalEObject) newAdviceConfiguration)
+ .eInverseAdd(
+ this,
+ EOPPOSITE_FEATURE_BASE
+ - AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_CONFIGURATION__ADVICE_CONFIGURATION,
+ null, msgs);
+ msgs = basicSetAdviceConfiguration(newAdviceConfiguration, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(
+ this,
+ Notification.SET,
+ AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_CONFIGURATION__ADVICE_CONFIGURATION,
+ newAdviceConfiguration, newAdviceConfiguration));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_CONFIGURATION__ADVICE_CONFIGURATION:
+ return basicSetAdviceConfiguration(null, 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 AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_CONFIGURATION__ADVICE_CONFIGURATION:
+ return getAdviceConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_CONFIGURATION__ADVICE_CONFIGURATION:
+ setAdviceConfiguration((AspectSemanticTypeAdviceConfiguration) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_CONFIGURATION__ADVICE_CONFIGURATION:
+ setAdviceConfiguration((AspectSemanticTypeAdviceConfiguration) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_CONFIGURATION__ADVICE_CONFIGURATION:
+ return adviceConfiguration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // AspectSemanticTypeConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticAdapterFactory.java
new file mode 100644
index 00000000000..a55b2db462e
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticAdapterFactory.java
@@ -0,0 +1,269 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement;
+import org.eclipse.papyrus.infra.extendedtypes.ElementTypeAdviceConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.SemanticTypeAdviceConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.*;
+
+/**
+ * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides
+ * an adapter <code>createXXX</code> method for each class of the model. <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage
+ * @generated
+ */
+public class AspectSemanticAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static AspectSemanticPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = AspectSemanticPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc --> This implementation returns <code>true</code> if
+ * the object is either the model's package or is an instance object of the
+ * model. <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AspectSemanticSwitch<Adapter> modelSwitch = new AspectSemanticSwitch<Adapter>() {
+ @Override
+ public Adapter caseAspectSemanticTypeConfiguration(
+ AspectSemanticTypeConfiguration object) {
+ return createAspectSemanticTypeConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseAspectSemanticTypeAdviceConfiguration(
+ AspectSemanticTypeAdviceConfiguration object) {
+ return createAspectSemanticTypeAdviceConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseConfigurationElement(ConfigurationElement object) {
+ return createConfigurationElementAdapter();
+ }
+
+ @Override
+ public Adapter caseElementTypeConfiguration(
+ ElementTypeConfiguration object) {
+ return createElementTypeConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseSemanticTypeConfiguration(
+ SemanticTypeConfiguration object) {
+ return createSemanticTypeConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseElementTypeAdviceConfiguration(
+ ElementTypeAdviceConfiguration object) {
+ return createElementTypeAdviceConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseSemanticTypeAdviceConfiguration(
+ SemanticTypeAdviceConfiguration object) {
+ return createSemanticTypeAdviceConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param target
+ * the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject) target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration
+ * <em>Type Configuration</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.extendedtypes.aspectsemantic.AspectSemanticTypeConfiguration
+ * @generated
+ */
+ public Adapter createAspectSemanticTypeConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration
+ * <em>Type Advice Configuration</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.extendedtypes.aspectsemantic.AspectSemanticTypeAdviceConfiguration
+ * @generated
+ */
+ public Adapter createAspectSemanticTypeAdviceConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement
+ * <em>Configuration Element</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.extendedtypes.ConfigurationElement
+ * @generated
+ */
+ public Adapter createConfigurationElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration
+ * <em>Element Type Configuration</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.extendedtypes.ElementTypeConfiguration
+ * @generated
+ */
+ public Adapter createElementTypeConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration
+ * <em>Semantic Type Configuration</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.extendedtypes.SemanticTypeConfiguration
+ * @generated
+ */
+ public Adapter createSemanticTypeConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeAdviceConfiguration
+ * <em>Element Type Advice Configuration</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.extendedtypes.ElementTypeAdviceConfiguration
+ * @generated
+ */
+ public Adapter createElementTypeAdviceConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.infra.extendedtypes.SemanticTypeAdviceConfiguration
+ * <em>Semantic Type Advice Configuration</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.extendedtypes.SemanticTypeAdviceConfiguration
+ * @generated
+ */
+ public Adapter createSemanticTypeAdviceConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case. <!-- begin-user-doc --> This
+ * default implementation returns null. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} // AspectSemanticAdapterFactory
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticResourceFactoryImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticResourceFactoryImpl.java
new file mode 100644
index 00000000000..c064d90e339
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticResourceFactoryImpl.java
@@ -0,0 +1,68 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.util;
+
+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.extendedtypes.aspectsemantic.util.AspectSemanticResourceImpl
+ * @generated
+ */
+public class AspectSemanticResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new AspectSemanticResourceImpl(uri);
+ result.getDefaultSaveOptions().put(
+ XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(
+ XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION,
+ Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(
+ XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(
+ XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(
+ XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} // AspectSemanticResourceFactoryImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticResourceImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticResourceImpl.java
new file mode 100644
index 00000000000..ced4ef6976d
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticResourceImpl.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.util.AspectSemanticResourceFactoryImpl
+ * @generated
+ */
+public class AspectSemanticResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param uri
+ * the URI of the new resource.
+ * @generated
+ */
+ public AspectSemanticResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // AspectSemanticResourceImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticSwitch.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticSwitch.java
new file mode 100644
index 00000000000..3faecef41a7
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticSwitch.java
@@ -0,0 +1,256 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement;
+import org.eclipse.papyrus.infra.extendedtypes.ElementTypeAdviceConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.SemanticTypeAdviceConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.*;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance
+ * hierarchy. It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object and proceeding up the
+ * inheritance hierarchy until a non-null result is returned, which is the
+ * result of the switch. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage
+ * @generated
+ */
+public class AspectSemanticSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static AspectSemanticPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticSwitch() {
+ if (modelPackage == null) {
+ modelPackage = AspectSemanticPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns
+ * a non null result; it yields that result. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code>
+ * call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_CONFIGURATION: {
+ AspectSemanticTypeConfiguration aspectSemanticTypeConfiguration = (AspectSemanticTypeConfiguration) theEObject;
+ T result = caseAspectSemanticTypeConfiguration(aspectSemanticTypeConfiguration);
+ if (result == null)
+ result = caseSemanticTypeConfiguration(aspectSemanticTypeConfiguration);
+ if (result == null)
+ result = caseElementTypeConfiguration(aspectSemanticTypeConfiguration);
+ if (result == null)
+ result = caseConfigurationElement(aspectSemanticTypeConfiguration);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AspectSemanticPackage.ASPECT_SEMANTIC_TYPE_ADVICE_CONFIGURATION: {
+ AspectSemanticTypeAdviceConfiguration aspectSemanticTypeAdviceConfiguration = (AspectSemanticTypeAdviceConfiguration) theEObject;
+ T result = caseAspectSemanticTypeAdviceConfiguration(aspectSemanticTypeAdviceConfiguration);
+ if (result == null)
+ result = caseSemanticTypeAdviceConfiguration(aspectSemanticTypeAdviceConfiguration);
+ if (result == null)
+ result = caseElementTypeAdviceConfiguration(aspectSemanticTypeAdviceConfiguration);
+ if (result == null)
+ result = caseConfigurationElement(aspectSemanticTypeAdviceConfiguration);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Type Configuration</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>Type Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAspectSemanticTypeConfiguration(
+ AspectSemanticTypeConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Type Advice Configuration</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>Type Advice Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAspectSemanticTypeAdviceConfiguration(
+ AspectSemanticTypeAdviceConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Configuration Element</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>Configuration Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfigurationElement(ConfigurationElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Element Type Configuration</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>Element Type Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementTypeConfiguration(ElementTypeConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Semantic Type Configuration</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>Semantic Type Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSemanticTypeConfiguration(SemanticTypeConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Element Type Advice Configuration</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>Element Type Advice Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementTypeAdviceConfiguration(
+ ElementTypeAdviceConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Semantic Type Advice Configuration</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>Semantic Type Advice Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSemanticTypeAdviceConfiguration(
+ SemanticTypeAdviceConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>EObject</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch, but this is
+ * the last case anyway. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // AspectSemanticSwitch
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticXMLProcessor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticXMLProcessor.java
new file mode 100644
index 00000000000..aa4f7f58625
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/aspectsemantic/util/AspectSemanticXMLProcessor.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.infra.extendedtypes.aspectsemantic.AspectSemanticPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AspectSemanticXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AspectSemanticXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ AspectSemanticPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the
+ * AspectSemanticResourceFactoryImpl factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION,
+ new AspectSemanticResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION,
+ new AspectSemanticResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // AspectSemanticXMLProcessor
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ActionConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ActionConfigurationImpl.java
index e3ccce2adbb..49817ab5a27 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ActionConfigurationImpl.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ActionConfigurationImpl.java
@@ -1,218 +1,168 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Action Configuration</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ActionConfigurationImpl#getLabel <em>Label</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ActionConfigurationImpl#getId <em>Id</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public abstract class ActionConfigurationImpl extends EObjectImpl implements ActionConfiguration {
- /**
- * The default value of the '{@link #getLabel() <em>Label</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLabel()
- * @generated
- * @ordered
- */
- protected static final String LABEL_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLabel()
- * @generated
- * @ordered
- */
- protected String label = LABEL_EDEFAULT;
-
- /**
- * The default value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected static final String ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected String id = ID_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ActionConfigurationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ExtendedtypesPackage.Literals.ACTION_CONFIGURATION;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getLabel() {
- return label;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLabel(String newLabel) {
- String oldLabel = label;
- label = newLabel;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ACTION_CONFIGURATION__LABEL, oldLabel, label));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getId() {
- return id;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setId(String newId) {
- String oldId = id;
- id = newId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ACTION_CONFIGURATION__ID, oldId, id));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case ExtendedtypesPackage.ACTION_CONFIGURATION__LABEL:
- return getLabel();
- case ExtendedtypesPackage.ACTION_CONFIGURATION__ID:
- return getId();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case ExtendedtypesPackage.ACTION_CONFIGURATION__LABEL:
- setLabel((String)newValue);
- return;
- case ExtendedtypesPackage.ACTION_CONFIGURATION__ID:
- setId((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ExtendedtypesPackage.ACTION_CONFIGURATION__LABEL:
- setLabel(LABEL_EDEFAULT);
- return;
- case ExtendedtypesPackage.ACTION_CONFIGURATION__ID:
- setId(ID_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ExtendedtypesPackage.ACTION_CONFIGURATION__LABEL:
- return LABEL_EDEFAULT == null ? label != null : !LABEL_EDEFAULT.equals(label);
- case ExtendedtypesPackage.ACTION_CONFIGURATION__ID:
- return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (label: ");
- result.append(label);
- result.append(", id: ");
- result.append(id);
- result.append(')');
- return result.toString();
- }
-
-} //ActionConfigurationImpl
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Action Configuration</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ActionConfigurationImpl#getPreValidationQueryConfiguration <em>Pre Validation Query
+ * Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ActionConfigurationImpl extends ConfigurationElementImpl implements ActionConfiguration {
+
+ /**
+ * The cached value of the '{@link #getPreValidationQueryConfiguration()
+ * <em>Pre Validation Query Configuration</em>}' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPreValidationQueryConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected QueryConfiguration preValidationQueryConfiguration;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ActionConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.eINSTANCE.getActionConfiguration();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QueryConfiguration getPreValidationQueryConfiguration() {
+ if(preValidationQueryConfiguration != null && preValidationQueryConfiguration.eIsProxy()) {
+ InternalEObject oldPreValidationQueryConfiguration = (InternalEObject)preValidationQueryConfiguration;
+ preValidationQueryConfiguration = (QueryConfiguration)eResolveProxy(oldPreValidationQueryConfiguration);
+ if(preValidationQueryConfiguration != oldPreValidationQueryConfiguration) {
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExtendedtypesPackage.ACTION_CONFIGURATION__PRE_VALIDATION_QUERY_CONFIGURATION, oldPreValidationQueryConfiguration, preValidationQueryConfiguration));
+ }
+ }
+ return preValidationQueryConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QueryConfiguration basicGetPreValidationQueryConfiguration() {
+ return preValidationQueryConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPreValidationQueryConfiguration(QueryConfiguration newPreValidationQueryConfiguration) {
+ QueryConfiguration oldPreValidationQueryConfiguration = preValidationQueryConfiguration;
+ preValidationQueryConfiguration = newPreValidationQueryConfiguration;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ACTION_CONFIGURATION__PRE_VALIDATION_QUERY_CONFIGURATION, oldPreValidationQueryConfiguration, preValidationQueryConfiguration));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch(featureID) {
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__PRE_VALIDATION_QUERY_CONFIGURATION:
+ if(resolve)
+ return getPreValidationQueryConfiguration();
+ return basicGetPreValidationQueryConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch(featureID) {
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__PRE_VALIDATION_QUERY_CONFIGURATION:
+ setPreValidationQueryConfiguration((QueryConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch(featureID) {
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__PRE_VALIDATION_QUERY_CONFIGURATION:
+ setPreValidationQueryConfiguration((QueryConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch(featureID) {
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__PRE_VALIDATION_QUERY_CONFIGURATION:
+ return preValidationQueryConfiguration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+} // ActionConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ConfigurationElementImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ConfigurationElementImpl.java
new file mode 100644
index 00000000000..23377c7243f
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ConfigurationElementImpl.java
@@ -0,0 +1,363 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+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.EObjectImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.IconEntry;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Configuration Element</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ConfigurationElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ConfigurationElementImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ConfigurationElementImpl#getIdentifier <em>Identifier</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ConfigurationElementImpl#getIconEntry <em>Icon Entry</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ConfigurationElementImpl extends EObjectImpl implements ConfigurationElement {
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIdentifier() <em>Identifier</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getIdentifier()
+ * @generated
+ * @ordered
+ */
+ protected static final String IDENTIFIER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIdentifier() <em>Identifier</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getIdentifier()
+ * @generated
+ * @ordered
+ */
+ protected String identifier = IDENTIFIER_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getIconEntry() <em>Icon Entry</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getIconEntry()
+ * @generated
+ * @ordered
+ */
+ protected IconEntry iconEntry;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ConfigurationElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.eINSTANCE.getConfigurationElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.CONFIGURATION_ELEMENT__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.CONFIGURATION_ELEMENT__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getIdentifier() {
+ return identifier;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIdentifier(String newIdentifier) {
+ String oldIdentifier = identifier;
+ identifier = newIdentifier;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.CONFIGURATION_ELEMENT__IDENTIFIER, oldIdentifier, identifier));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IconEntry getIconEntry() {
+ return iconEntry;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetIconEntry(IconEntry newIconEntry, NotificationChain msgs) {
+ IconEntry oldIconEntry = iconEntry;
+ iconEntry = newIconEntry;
+ if(eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.CONFIGURATION_ELEMENT__ICON_ENTRY, oldIconEntry, newIconEntry);
+ if(msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIconEntry(IconEntry newIconEntry) {
+ if(newIconEntry != iconEntry) {
+ NotificationChain msgs = null;
+ if(iconEntry != null)
+ msgs = ((InternalEObject)iconEntry).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ExtendedtypesPackage.CONFIGURATION_ELEMENT__ICON_ENTRY, null, msgs);
+ if(newIconEntry != null)
+ msgs = ((InternalEObject)newIconEntry).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ExtendedtypesPackage.CONFIGURATION_ELEMENT__ICON_ENTRY, null, msgs);
+ msgs = basicSetIconEntry(newIconEntry, msgs);
+ if(msgs != null)
+ msgs.dispatch();
+ } else if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.CONFIGURATION_ELEMENT__ICON_ENTRY, newIconEntry, newIconEntry));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch(featureID) {
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__ICON_ENTRY:
+ return basicSetIconEntry(null, 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 ExtendedtypesPackage.CONFIGURATION_ELEMENT__NAME:
+ return getName();
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__DESCRIPTION:
+ return getDescription();
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__IDENTIFIER:
+ return getIdentifier();
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__ICON_ENTRY:
+ return getIconEntry();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch(featureID) {
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__IDENTIFIER:
+ setIdentifier((String)newValue);
+ return;
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__ICON_ENTRY:
+ setIconEntry((IconEntry)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch(featureID) {
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__IDENTIFIER:
+ setIdentifier(IDENTIFIER_EDEFAULT);
+ return;
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__ICON_ENTRY:
+ setIconEntry((IconEntry)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch(featureID) {
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__IDENTIFIER:
+ return IDENTIFIER_EDEFAULT == null ? identifier != null : !IDENTIFIER_EDEFAULT.equals(identifier);
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT__ICON_ENTRY:
+ return iconEntry != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if(eIsProxy())
+ return super.toString();
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", description: "); //$NON-NLS-1$
+ result.append(description);
+ result.append(", identifier: "); //$NON-NLS-1$
+ result.append(identifier);
+ result.append(')');
+ return result.toString();
+ }
+} // ConfigurationElementImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ElementTypeAdviceConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ElementTypeAdviceConfigurationImpl.java
new file mode 100644
index 00000000000..e65faf1ac84
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ElementTypeAdviceConfigurationImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.extendedtypes.ElementTypeAdviceConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Element Type Advice Configuration</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ElementTypeAdviceConfigurationImpl extends ConfigurationElementImpl implements ElementTypeAdviceConfiguration {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ElementTypeAdviceConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.eINSTANCE.getElementTypeAdviceConfiguration();
+ }
+} // ElementTypeAdviceConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ElementTypeConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ElementTypeConfigurationImpl.java
new file mode 100644
index 00000000000..e00f99f1a03
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ElementTypeConfigurationImpl.java
@@ -0,0 +1,357 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.MatcherConfiguration;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Element Type Configuration</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ElementTypeConfigurationImpl#getHint <em>Hint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ElementTypeConfigurationImpl#getKindName <em>Kind Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ElementTypeConfigurationImpl#getSpecializedTypesID <em>Specialized Types ID</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ElementTypeConfigurationImpl#getMatcherConfiguration <em>Matcher Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ElementTypeConfigurationImpl extends ConfigurationElementImpl implements ElementTypeConfiguration {
+
+ /**
+ * The default value of the '{@link #getHint() <em>Hint</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHint()
+ * @generated
+ * @ordered
+ */
+ protected static final String HINT_EDEFAULT = "ExtendedElements"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getHint() <em>Hint</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHint()
+ * @generated
+ * @ordered
+ */
+ protected String hint = HINT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getKindName() <em>Kind Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getKindName()
+ * @generated
+ * @ordered
+ */
+ protected static final String KIND_NAME_EDEFAULT = "org.eclipse.gmf.runtime.emf.type.core.IHintedType"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getKindName() <em>Kind Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getKindName()
+ * @generated
+ * @ordered
+ */
+ protected String kindName = KIND_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSpecializedTypesID() <em>Specialized Types ID</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getSpecializedTypesID()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> specializedTypesID;
+
+ /**
+ * The cached value of the '{@link #getMatcherConfiguration() <em>Matcher Configuration</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getMatcherConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected MatcherConfiguration matcherConfiguration;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ElementTypeConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.eINSTANCE.getElementTypeConfiguration();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getHint() {
+ return hint;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setHint(String newHint) {
+ String oldHint = hint;
+ hint = newHint;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__HINT, oldHint, hint));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getKindName() {
+ return kindName;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setKindName(String newKindName) {
+ String oldKindName = kindName;
+ kindName = newKindName;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__KIND_NAME, oldKindName, kindName));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getSpecializedTypesID() {
+ if(specializedTypesID == null) {
+ specializedTypesID = new EDataTypeUniqueEList<String>(String.class, this, ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID);
+ }
+ return specializedTypesID;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public MatcherConfiguration getMatcherConfiguration() {
+ return matcherConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetMatcherConfiguration(MatcherConfiguration newMatcherConfiguration, NotificationChain msgs) {
+ MatcherConfiguration oldMatcherConfiguration = matcherConfiguration;
+ matcherConfiguration = newMatcherConfiguration;
+ if(eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION, oldMatcherConfiguration, newMatcherConfiguration);
+ if(msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setMatcherConfiguration(MatcherConfiguration newMatcherConfiguration) {
+ if(newMatcherConfiguration != matcherConfiguration) {
+ NotificationChain msgs = null;
+ if(matcherConfiguration != null)
+ msgs = ((InternalEObject)matcherConfiguration).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION, null, msgs);
+ if(newMatcherConfiguration != null)
+ msgs = ((InternalEObject)newMatcherConfiguration).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION, null, msgs);
+ msgs = basicSetMatcherConfiguration(newMatcherConfiguration, msgs);
+ if(msgs != null)
+ msgs.dispatch();
+ } else if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION, newMatcherConfiguration, newMatcherConfiguration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch(featureID) {
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION:
+ return basicSetMatcherConfiguration(null, 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 ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__HINT:
+ return getHint();
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
+ return getKindName();
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
+ return getSpecializedTypesID();
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION:
+ return getMatcherConfiguration();
+ }
+ 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 ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__HINT:
+ setHint((String)newValue);
+ return;
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
+ setKindName((String)newValue);
+ return;
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
+ getSpecializedTypesID().clear();
+ getSpecializedTypesID().addAll((Collection<? extends String>)newValue);
+ return;
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION:
+ setMatcherConfiguration((MatcherConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch(featureID) {
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__HINT:
+ setHint(HINT_EDEFAULT);
+ return;
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
+ setKindName(KIND_NAME_EDEFAULT);
+ return;
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
+ getSpecializedTypesID().clear();
+ return;
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION:
+ setMatcherConfiguration((MatcherConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch(featureID) {
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__HINT:
+ return HINT_EDEFAULT == null ? hint != null : !HINT_EDEFAULT.equals(hint);
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
+ return KIND_NAME_EDEFAULT == null ? kindName != null : !KIND_NAME_EDEFAULT.equals(kindName);
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
+ return specializedTypesID != null && !specializedTypesID.isEmpty();
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION:
+ return matcherConfiguration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if(eIsProxy())
+ return super.toString();
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (hint: "); //$NON-NLS-1$
+ result.append(hint);
+ result.append(", kindName: "); //$NON-NLS-1$
+ result.append(kindName);
+ result.append(", specializedTypesID: "); //$NON-NLS-1$
+ result.append(specializedTypesID);
+ result.append(')');
+ return result.toString();
+ }
+} // ElementTypeConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedElementTypeConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedElementTypeConfigurationImpl.java
deleted file mode 100644
index 22fce08b622..00000000000
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedElementTypeConfigurationImpl.java
+++ /dev/null
@@ -1,614 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes.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.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.EObjectResolvingEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
-import org.eclipse.papyrus.infra.extendedtypes.IconEntry;
-import org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.PreActionConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Extended Element Type Configuration</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getId <em>Id</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getIconEntry <em>Icon Entry</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getHint <em>Hint</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getKindName <em>Kind Name</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getSpecializedTypesID <em>Specialized Types ID</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getPreValidation <em>Pre Validation</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getPreAction <em>Pre Action</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getPostAction <em>Post Action</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getSpecializedDiagramTypeID <em>Specialized Diagram Type ID</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ExtendedElementTypeConfigurationImpl extends EObjectImpl implements ExtendedElementTypeConfiguration {
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
- * The default value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected static final String ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected String id = ID_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getIconEntry() <em>Icon Entry</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getIconEntry()
- * @generated
- * @ordered
- */
- protected IconEntry iconEntry;
-
- /**
- * The default value of the '{@link #getHint() <em>Hint</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getHint()
- * @generated
- * @ordered
- */
- protected static final String HINT_EDEFAULT = "ExtendedElements";
-
- /**
- * The cached value of the '{@link #getHint() <em>Hint</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getHint()
- * @generated
- * @ordered
- */
- protected String hint = HINT_EDEFAULT;
-
- /**
- * The default value of the '{@link #getKindName() <em>Kind Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getKindName()
- * @generated
- * @ordered
- */
- protected static final String KIND_NAME_EDEFAULT = "org.eclipse.gmf.runtime.emf.type.core.IHintedType";
-
- /**
- * The cached value of the '{@link #getKindName() <em>Kind Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getKindName()
- * @generated
- * @ordered
- */
- protected String kindName = KIND_NAME_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getSpecializedTypesID() <em>Specialized Types ID</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSpecializedTypesID()
- * @generated
- * @ordered
- */
- protected EList<String> specializedTypesID;
-
- /**
- * The cached value of the '{@link #getPreValidation() <em>Pre Validation</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getPreValidation()
- * @generated
- * @ordered
- */
- protected EList<QueryConfiguration> preValidation;
-
- /**
- * The cached value of the '{@link #getPreAction() <em>Pre Action</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getPreAction()
- * @generated
- * @ordered
- */
- protected EList<PreActionConfiguration> preAction;
-
- /**
- * The cached value of the '{@link #getPostAction() <em>Post Action</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getPostAction()
- * @generated
- * @ordered
- */
- protected EList<PostActionConfiguration> postAction;
-
- /**
- * The default value of the '{@link #getSpecializedDiagramTypeID() <em>Specialized Diagram Type ID</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSpecializedDiagramTypeID()
- * @generated
- * @ordered
- */
- protected static final String SPECIALIZED_DIAGRAM_TYPE_ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getSpecializedDiagramTypeID() <em>Specialized Diagram Type ID</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSpecializedDiagramTypeID()
- * @generated
- * @ordered
- */
- protected String specializedDiagramTypeID = SPECIALIZED_DIAGRAM_TYPE_ID_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ExtendedElementTypeConfigurationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_CONFIGURATION;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName() {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setName(String newName) {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME, oldName, name));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getId() {
- return id;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setId(String newId) {
- String oldId = id;
- id = newId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID, oldId, id));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public IconEntry getIconEntry() {
- return iconEntry;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetIconEntry(IconEntry newIconEntry, NotificationChain msgs) {
- IconEntry oldIconEntry = iconEntry;
- iconEntry = newIconEntry;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY, oldIconEntry, newIconEntry);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setIconEntry(IconEntry newIconEntry) {
- if (newIconEntry != iconEntry) {
- NotificationChain msgs = null;
- if (iconEntry != null)
- msgs = ((InternalEObject)iconEntry).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY, null, msgs);
- if (newIconEntry != null)
- msgs = ((InternalEObject)newIconEntry).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY, null, msgs);
- msgs = basicSetIconEntry(newIconEntry, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY, newIconEntry, newIconEntry));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getHint() {
- return hint;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setHint(String newHint) {
- String oldHint = hint;
- hint = newHint;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT, oldHint, hint));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getKindName() {
- return kindName;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setKindName(String newKindName) {
- String oldKindName = kindName;
- kindName = newKindName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME, oldKindName, kindName));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<String> getSpecializedTypesID() {
- if (specializedTypesID == null) {
- specializedTypesID = new EDataTypeUniqueEList<String>(String.class, this, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID);
- }
- return specializedTypesID;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<QueryConfiguration> getPreValidation() {
- if (preValidation == null) {
- preValidation = new EObjectResolvingEList<QueryConfiguration>(QueryConfiguration.class, this, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION);
- }
- return preValidation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<PreActionConfiguration> getPreAction() {
- if (preAction == null) {
- preAction = new EObjectContainmentEList<PreActionConfiguration>(PreActionConfiguration.class, this, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION);
- }
- return preAction;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<PostActionConfiguration> getPostAction() {
- if (postAction == null) {
- postAction = new EObjectContainmentEList<PostActionConfiguration>(PostActionConfiguration.class, this, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION);
- }
- return postAction;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getSpecializedDiagramTypeID() {
- return specializedDiagramTypeID;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setSpecializedDiagramTypeID(String newSpecializedDiagramTypeID) {
- String oldSpecializedDiagramTypeID = specializedDiagramTypeID;
- specializedDiagramTypeID = newSpecializedDiagramTypeID;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID, oldSpecializedDiagramTypeID, specializedDiagramTypeID));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY:
- return basicSetIconEntry(null, msgs);
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION:
- return ((InternalEList<?>)getPreAction()).basicRemove(otherEnd, msgs);
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION:
- return ((InternalEList<?>)getPostAction()).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 ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME:
- return getName();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID:
- return getId();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY:
- return getIconEntry();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT:
- return getHint();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
- return getKindName();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
- return getSpecializedTypesID();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION:
- return getPreValidation();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION:
- return getPreAction();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION:
- return getPostAction();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID:
- return getSpecializedDiagramTypeID();
- }
- 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 ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME:
- setName((String)newValue);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID:
- setId((String)newValue);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY:
- setIconEntry((IconEntry)newValue);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT:
- setHint((String)newValue);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
- setKindName((String)newValue);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
- getSpecializedTypesID().clear();
- getSpecializedTypesID().addAll((Collection<? extends String>)newValue);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION:
- getPreValidation().clear();
- getPreValidation().addAll((Collection<? extends QueryConfiguration>)newValue);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION:
- getPreAction().clear();
- getPreAction().addAll((Collection<? extends PreActionConfiguration>)newValue);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION:
- getPostAction().clear();
- getPostAction().addAll((Collection<? extends PostActionConfiguration>)newValue);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID:
- setSpecializedDiagramTypeID((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME:
- setName(NAME_EDEFAULT);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID:
- setId(ID_EDEFAULT);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY:
- setIconEntry((IconEntry)null);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT:
- setHint(HINT_EDEFAULT);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
- setKindName(KIND_NAME_EDEFAULT);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
- getSpecializedTypesID().clear();
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION:
- getPreValidation().clear();
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION:
- getPreAction().clear();
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION:
- getPostAction().clear();
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID:
- setSpecializedDiagramTypeID(SPECIALIZED_DIAGRAM_TYPE_ID_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID:
- return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY:
- return iconEntry != null;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT:
- return HINT_EDEFAULT == null ? hint != null : !HINT_EDEFAULT.equals(hint);
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
- return KIND_NAME_EDEFAULT == null ? kindName != null : !KIND_NAME_EDEFAULT.equals(kindName);
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
- return specializedTypesID != null && !specializedTypesID.isEmpty();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION:
- return preValidation != null && !preValidation.isEmpty();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION:
- return preAction != null && !preAction.isEmpty();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION:
- return postAction != null && !postAction.isEmpty();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID:
- return SPECIALIZED_DIAGRAM_TYPE_ID_EDEFAULT == null ? specializedDiagramTypeID != null : !SPECIALIZED_DIAGRAM_TYPE_ID_EDEFAULT.equals(specializedDiagramTypeID);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (name: ");
- result.append(name);
- result.append(", id: ");
- result.append(id);
- result.append(", hint: ");
- result.append(hint);
- result.append(", kindName: ");
- result.append(kindName);
- result.append(", specializedTypesID: ");
- result.append(specializedTypesID);
- result.append(", specializedDiagramTypeID: ");
- result.append(specializedDiagramTypeID);
- result.append(')');
- return result.toString();
- }
-
-} //ExtendedElementTypeConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedElementTypeSetImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedElementTypeSetImpl.java
index 5f547c52d23..37fa2d10111 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedElementTypeSetImpl.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedElementTypeSetImpl.java
@@ -1,221 +1,233 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes.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.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Extended Element Type Set</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeSetImpl#getElementType <em>Element Type</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeSetImpl#getId <em>Id</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ExtendedElementTypeSetImpl extends EObjectImpl implements ExtendedElementTypeSet {
- /**
- * The cached value of the '{@link #getElementType() <em>Element Type</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getElementType()
- * @generated
- * @ordered
- */
- protected EList<ExtendedElementTypeConfiguration> elementType;
-
- /**
- * The default value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected static final String ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected String id = ID_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ExtendedElementTypeSetImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_SET;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<ExtendedElementTypeConfiguration> getElementType() {
- if (elementType == null) {
- elementType = new EObjectContainmentEList<ExtendedElementTypeConfiguration>(ExtendedElementTypeConfiguration.class, this, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE);
- }
- return elementType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getId() {
- return id;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setId(String newId) {
- String oldId = id;
- id = newId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ID, oldId, id));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
- return ((InternalEList<?>)getElementType()).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 ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
- return getElementType();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ID:
- return getId();
- }
- 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 ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
- getElementType().clear();
- getElementType().addAll((Collection<? extends ExtendedElementTypeConfiguration>)newValue);
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ID:
- setId((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
- getElementType().clear();
- return;
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ID:
- setId(ID_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
- return elementType != null && !elementType.isEmpty();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ID:
- return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (id: ");
- result.append(id);
- result.append(')');
- return result.toString();
- }
-
-} //ExtendedElementTypeSetImpl
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.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.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Extended Element Type Set</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeSetImpl#getElementType <em>Element Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ExtendedElementTypeSetImpl#isExtensible <em>Extensible</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExtendedElementTypeSetImpl extends ConfigurationElementImpl implements ExtendedElementTypeSet {
+
+ /**
+ * The cached value of the '{@link #getElementType() <em>Element Type</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getElementType()
+ * @generated
+ * @ordered
+ */
+ protected EList<ElementTypeConfiguration> elementType;
+
+ /**
+ * The default value of the '{@link #isExtensible() <em>Extensible</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isExtensible()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXTENSIBLE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isExtensible() <em>Extensible</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isExtensible()
+ * @generated
+ * @ordered
+ */
+ protected boolean extensible = EXTENSIBLE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExtendedElementTypeSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.eINSTANCE.getExtendedElementTypeSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementTypeConfiguration> getElementType() {
+ if(elementType == null) {
+ elementType = new EObjectContainmentEList<ElementTypeConfiguration>(ElementTypeConfiguration.class, this, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE);
+ }
+ return elementType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isExtensible() {
+ return extensible;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExtensible(boolean newExtensible) {
+ boolean oldExtensible = extensible;
+ extensible = newExtensible;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__EXTENSIBLE, oldExtensible, extensible));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch(featureID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
+ return ((InternalEList<?>)getElementType()).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 ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
+ return getElementType();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__EXTENSIBLE:
+ return isExtensible();
+ }
+ 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 ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
+ getElementType().clear();
+ getElementType().addAll((Collection<? extends ElementTypeConfiguration>)newValue);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__EXTENSIBLE:
+ setExtensible((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch(featureID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
+ getElementType().clear();
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__EXTENSIBLE:
+ setExtensible(EXTENSIBLE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch(featureID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
+ return elementType != null && !elementType.isEmpty();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__EXTENSIBLE:
+ return extensible != EXTENSIBLE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if(eIsProxy())
+ return super.toString();
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (extensible: "); //$NON-NLS-1$
+ result.append(extensible);
+ result.append(')');
+ return result.toString();
+ }
+} // ExtendedElementTypeSetImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedtypesFactoryImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedtypesFactoryImpl.java
index afa82b60f45..f969353b725 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedtypesFactoryImpl.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedtypesFactoryImpl.java
@@ -1,122 +1,119 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes.impl;
-
-import org.eclipse.emf.ecore.EClass;
-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.extendedtypes.ExtendedElementTypeConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesFactory;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
-import org.eclipse.papyrus.infra.extendedtypes.IconEntry;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ExtendedtypesFactoryImpl extends EFactoryImpl implements ExtendedtypesFactory {
- /**
- * Creates the default factory implementation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static ExtendedtypesFactory init() {
- try {
- ExtendedtypesFactory theExtendedtypesFactory = (ExtendedtypesFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/diagram/types/extendedtypes/0.7");
- if (theExtendedtypesFactory != null) {
- return theExtendedtypesFactory;
- }
- }
- catch (Exception exception) {
- EcorePlugin.INSTANCE.log(exception);
- }
- return new ExtendedtypesFactoryImpl();
- }
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ExtendedtypesFactoryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET: return createExtendedElementTypeSet();
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION: return createExtendedElementTypeConfiguration();
- case ExtendedtypesPackage.ICON_ENTRY: return createIconEntry();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ExtendedElementTypeSet createExtendedElementTypeSet() {
- ExtendedElementTypeSetImpl extendedElementTypeSet = new ExtendedElementTypeSetImpl();
- return extendedElementTypeSet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ExtendedElementTypeConfiguration createExtendedElementTypeConfiguration() {
- ExtendedElementTypeConfigurationImpl extendedElementTypeConfiguration = new ExtendedElementTypeConfigurationImpl();
- return extendedElementTypeConfiguration;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public IconEntry createIconEntry() {
- IconEntryImpl iconEntry = new IconEntryImpl();
- return iconEntry;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ExtendedtypesPackage getExtendedtypesPackage() {
- return (ExtendedtypesPackage)getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @deprecated
- * @generated
- */
- @Deprecated
- public static ExtendedtypesPackage getPackage() {
- return ExtendedtypesPackage.eINSTANCE;
- }
-
-} //ExtendedtypesFactoryImpl
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+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.extendedtypes.*;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class ExtendedtypesFactoryImpl extends EFactoryImpl implements ExtendedtypesFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static ExtendedtypesFactory init() {
+ try {
+ ExtendedtypesFactory theExtendedtypesFactory = (ExtendedtypesFactory)EPackage.Registry.INSTANCE.getEFactory(ExtendedtypesPackage.eNS_URI);
+ if(theExtendedtypesFactory != null) {
+ return theExtendedtypesFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ExtendedtypesFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedtypesFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch(eClass.getClassifierID()) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET:
+ return createExtendedElementTypeSet();
+ case ExtendedtypesPackage.ICON_ENTRY:
+ return createIconEntry();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedElementTypeSet createExtendedElementTypeSet() {
+ ExtendedElementTypeSetImpl extendedElementTypeSet = new ExtendedElementTypeSetImpl();
+ return extendedElementTypeSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IconEntry createIconEntry() {
+ IconEntryImpl iconEntry = new IconEntryImpl();
+ return iconEntry;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedtypesPackage getExtendedtypesPackage() {
+ return (ExtendedtypesPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ExtendedtypesPackage getPackage() {
+ return ExtendedtypesPackage.eINSTANCE;
+ }
+} // ExtendedtypesFactoryImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedtypesPackageImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedtypesPackageImpl.java
index fdbc63cc5f1..16a109f171a 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedtypesPackageImpl.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ExtendedtypesPackageImpl.java
@@ -1,459 +1,567 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesFactory;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
-import org.eclipse.papyrus.infra.extendedtypes.IconEntry;
-import org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.PreActionConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ExtendedtypesPackageImpl extends EPackageImpl implements ExtendedtypesPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass extendedElementTypeSetEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass extendedElementTypeConfigurationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass iconEntryEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass actionConfigurationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass preActionConfigurationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass postActionConfigurationEClass = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>Note: the correct way to create the package is via the static
- * factory method {@link #init init()}, which also performs
- * initialization of the package, or returns the registered package,
- * if one already exists.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#eNS_URI
- * @see #init()
- * @generated
- */
- private ExtendedtypesPackageImpl() {
- super(eNS_URI, ExtendedtypesFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
- *
- * <p>This method is used to initialize {@link ExtendedtypesPackage#eINSTANCE} when that field is accessed.
- * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static ExtendedtypesPackage init() {
- if (isInited) return (ExtendedtypesPackage)EPackage.Registry.INSTANCE.getEPackage(ExtendedtypesPackage.eNS_URI);
-
- // Obtain or create and register package
- ExtendedtypesPackageImpl theExtendedtypesPackage = (ExtendedtypesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ExtendedtypesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ExtendedtypesPackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- ConfigurationPackage.eINSTANCE.eClass();
-
- // Create package meta-data objects
- theExtendedtypesPackage.createPackageContents();
-
- // Initialize created meta-data
- theExtendedtypesPackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- theExtendedtypesPackage.freeze();
-
-
- // Update the registry and return the package
- EPackage.Registry.INSTANCE.put(ExtendedtypesPackage.eNS_URI, theExtendedtypesPackage);
- return theExtendedtypesPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getExtendedElementTypeSet() {
- return extendedElementTypeSetEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getExtendedElementTypeSet_ElementType() {
- return (EReference)extendedElementTypeSetEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getExtendedElementTypeSet_Id() {
- return (EAttribute)extendedElementTypeSetEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getExtendedElementTypeConfiguration() {
- return extendedElementTypeConfigurationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getExtendedElementTypeConfiguration_Name() {
- return (EAttribute)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getExtendedElementTypeConfiguration_Id() {
- return (EAttribute)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getExtendedElementTypeConfiguration_IconEntry() {
- return (EReference)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getExtendedElementTypeConfiguration_Hint() {
- return (EAttribute)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getExtendedElementTypeConfiguration_KindName() {
- return (EAttribute)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getExtendedElementTypeConfiguration_SpecializedTypesID() {
- return (EAttribute)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getExtendedElementTypeConfiguration_PreValidation() {
- return (EReference)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getExtendedElementTypeConfiguration_PreAction() {
- return (EReference)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getExtendedElementTypeConfiguration_PostAction() {
- return (EReference)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(8);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getExtendedElementTypeConfiguration_SpecializedDiagramTypeID() {
- return (EAttribute)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(9);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getIconEntry() {
- return iconEntryEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getIconEntry_IconPath() {
- return (EAttribute)iconEntryEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getIconEntry_BundleId() {
- return (EAttribute)iconEntryEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getActionConfiguration() {
- return actionConfigurationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getActionConfiguration_Label() {
- return (EAttribute)actionConfigurationEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getActionConfiguration_Id() {
- return (EAttribute)actionConfigurationEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPreActionConfiguration() {
- return preActionConfigurationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPostActionConfiguration() {
- return postActionConfigurationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ExtendedtypesFactory getExtendedtypesFactory() {
- return (ExtendedtypesFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents() {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- extendedElementTypeSetEClass = createEClass(EXTENDED_ELEMENT_TYPE_SET);
- createEReference(extendedElementTypeSetEClass, EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE);
- createEAttribute(extendedElementTypeSetEClass, EXTENDED_ELEMENT_TYPE_SET__ID);
-
- extendedElementTypeConfigurationEClass = createEClass(EXTENDED_ELEMENT_TYPE_CONFIGURATION);
- createEAttribute(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME);
- createEAttribute(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID);
- createEReference(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY);
- createEAttribute(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT);
- createEAttribute(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME);
- createEAttribute(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID);
- createEReference(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION);
- createEReference(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION);
- createEReference(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION);
- createEAttribute(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID);
-
- iconEntryEClass = createEClass(ICON_ENTRY);
- createEAttribute(iconEntryEClass, ICON_ENTRY__ICON_PATH);
- createEAttribute(iconEntryEClass, ICON_ENTRY__BUNDLE_ID);
-
- actionConfigurationEClass = createEClass(ACTION_CONFIGURATION);
- createEAttribute(actionConfigurationEClass, ACTION_CONFIGURATION__LABEL);
- createEAttribute(actionConfigurationEClass, ACTION_CONFIGURATION__ID);
-
- preActionConfigurationEClass = createEClass(PRE_ACTION_CONFIGURATION);
-
- postActionConfigurationEClass = createEClass(POST_ACTION_CONFIGURATION);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Obtain other dependent packages
- ConfigurationPackage theConfigurationPackage = (ConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(ConfigurationPackage.eNS_URI);
-
- // Create type parameters
-
- // Set bounds for type parameters
-
- // Add supertypes to classes
- preActionConfigurationEClass.getESuperTypes().add(this.getActionConfiguration());
- postActionConfigurationEClass.getESuperTypes().add(this.getActionConfiguration());
-
- // Initialize classes and features; add operations and parameters
- initEClass(extendedElementTypeSetEClass, ExtendedElementTypeSet.class, "ExtendedElementTypeSet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getExtendedElementTypeSet_ElementType(), this.getExtendedElementTypeConfiguration(), null, "elementType", null, 1, -1, ExtendedElementTypeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getExtendedElementTypeSet_Id(), ecorePackage.getEString(), "id", null, 1, 1, ExtendedElementTypeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(extendedElementTypeConfigurationEClass, ExtendedElementTypeConfiguration.class, "ExtendedElementTypeConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getExtendedElementTypeConfiguration_Name(), ecorePackage.getEString(), "name", null, 1, 1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getExtendedElementTypeConfiguration_Id(), ecorePackage.getEString(), "id", null, 1, 1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getExtendedElementTypeConfiguration_IconEntry(), this.getIconEntry(), null, "iconEntry", null, 0, 1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getExtendedElementTypeConfiguration_Hint(), ecorePackage.getEString(), "hint", "ExtendedElements", 0, 1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getExtendedElementTypeConfiguration_KindName(), ecorePackage.getEString(), "kindName", "org.eclipse.gmf.runtime.emf.type.core.IHintedType", 0, 1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getExtendedElementTypeConfiguration_SpecializedTypesID(), ecorePackage.getEString(), "specializedTypesID", null, 1, -1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getExtendedElementTypeConfiguration_PreValidation(), theConfigurationPackage.getQueryConfiguration(), null, "preValidation", null, 0, -1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getExtendedElementTypeConfiguration_PreAction(), this.getPreActionConfiguration(), null, "preAction", null, 0, -1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getExtendedElementTypeConfiguration_PostAction(), this.getPostActionConfiguration(), null, "postAction", null, 0, -1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getExtendedElementTypeConfiguration_SpecializedDiagramTypeID(), ecorePackage.getEString(), "specializedDiagramTypeID", null, 0, 1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(iconEntryEClass, IconEntry.class, "IconEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getIconEntry_IconPath(), ecorePackage.getEString(), "iconPath", null, 0, 1, IconEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getIconEntry_BundleId(), ecorePackage.getEString(), "bundleId", null, 0, 1, IconEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(actionConfigurationEClass, ActionConfiguration.class, "ActionConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getActionConfiguration_Label(), ecorePackage.getEString(), "label", null, 0, 1, ActionConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getActionConfiguration_Id(), ecorePackage.getEString(), "id", null, 1, 1, ActionConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(preActionConfigurationEClass, PreActionConfiguration.class, "PreActionConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(postActionConfigurationEClass, PostActionConfiguration.class, "PostActionConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
- // Create resource
- createResource(eNS_URI);
- }
-
-} //ExtendedtypesPackageImpl
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+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.extendedtypes.ActionConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement;
+import org.eclipse.papyrus.infra.extendedtypes.ElementTypeAdviceConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesFactory;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.IconEntry;
+import org.eclipse.papyrus.infra.extendedtypes.MatcherConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.SemanticActionConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.SemanticTypeAdviceConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ViewActionConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ViewTypeAdviceConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ViewTypeConfiguration;
+
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class ExtendedtypesPackageImpl extends EPackageImpl implements ExtendedtypesPackage {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass extendedElementTypeSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass elementTypeConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass iconEntryEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass configurationElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass viewTypeAdviceConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass semanticTypeAdviceConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass matcherConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass actionConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass viewActionConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass semanticActionConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass semanticTypeConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass viewTypeConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass elementTypeAdviceConfigurationEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+ * package
+ * package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the
+ * package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ExtendedtypesPackageImpl() {
+ super(eNS_URI, ExtendedtypesFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>
+ * This method is used to initialize {@link ExtendedtypesPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly.
+ * Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ExtendedtypesPackage init() {
+ if(isInited)
+ return (ExtendedtypesPackage)EPackage.Registry.INSTANCE.getEPackage(ExtendedtypesPackage.eNS_URI);
+ // Obtain or create and register package
+ ExtendedtypesPackageImpl theExtendedtypesPackage = (ExtendedtypesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ExtendedtypesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ExtendedtypesPackageImpl());
+ isInited = true;
+ // Initialize simple dependencies
+ ConfigurationPackage.eINSTANCE.eClass();
+ // Create package meta-data objects
+ theExtendedtypesPackage.createPackageContents();
+ // Initialize created meta-data
+ theExtendedtypesPackage.initializePackageContents();
+ // Mark meta-data to indicate it can't be changed
+ theExtendedtypesPackage.freeze();
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ExtendedtypesPackage.eNS_URI, theExtendedtypesPackage);
+ return theExtendedtypesPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getExtendedElementTypeSet() {
+ return extendedElementTypeSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getExtendedElementTypeSet_ElementType() {
+ return (EReference)extendedElementTypeSetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getExtendedElementTypeSet_Extensible() {
+ return (EAttribute)extendedElementTypeSetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getElementTypeConfiguration() {
+ return elementTypeConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getElementTypeConfiguration_Hint() {
+ return (EAttribute)elementTypeConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getElementTypeConfiguration_KindName() {
+ return (EAttribute)elementTypeConfigurationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getElementTypeConfiguration_SpecializedTypesID() {
+ return (EAttribute)elementTypeConfigurationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getElementTypeConfiguration_MatcherConfiguration() {
+ return (EReference)elementTypeConfigurationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getIconEntry() {
+ return iconEntryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getIconEntry_IconPath() {
+ return (EAttribute)iconEntryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getIconEntry_BundleId() {
+ return (EAttribute)iconEntryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getConfigurationElement() {
+ return configurationElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getConfigurationElement_Name() {
+ return (EAttribute)configurationElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getConfigurationElement_Description() {
+ return (EAttribute)configurationElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getConfigurationElement_Identifier() {
+ return (EAttribute)configurationElementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getConfigurationElement_IconEntry() {
+ return (EReference)configurationElementEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getViewTypeAdviceConfiguration() {
+ return viewTypeAdviceConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSemanticTypeAdviceConfiguration() {
+ return semanticTypeAdviceConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getMatcherConfiguration() {
+ return matcherConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getActionConfiguration() {
+ return actionConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getActionConfiguration_PreValidationQueryConfiguration() {
+ return (EReference)actionConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getViewActionConfiguration() {
+ return viewActionConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSemanticActionConfiguration() {
+ return semanticActionConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSemanticTypeConfiguration() {
+ return semanticTypeConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getViewTypeConfiguration() {
+ return viewTypeConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getViewTypeConfiguration_SpecializedDiagramTypeID() {
+ return (EAttribute)viewTypeConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getElementTypeAdviceConfiguration() {
+ return elementTypeAdviceConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedtypesFactory getExtendedtypesFactory() {
+ return (ExtendedtypesFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if(isCreated)
+ return;
+ isCreated = true;
+ // Create classes and their features
+ extendedElementTypeSetEClass = createEClass(EXTENDED_ELEMENT_TYPE_SET);
+ createEReference(extendedElementTypeSetEClass, EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE);
+ createEAttribute(extendedElementTypeSetEClass, EXTENDED_ELEMENT_TYPE_SET__EXTENSIBLE);
+ elementTypeConfigurationEClass = createEClass(ELEMENT_TYPE_CONFIGURATION);
+ createEAttribute(elementTypeConfigurationEClass, ELEMENT_TYPE_CONFIGURATION__HINT);
+ createEAttribute(elementTypeConfigurationEClass, ELEMENT_TYPE_CONFIGURATION__KIND_NAME);
+ createEAttribute(elementTypeConfigurationEClass, ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID);
+ createEReference(elementTypeConfigurationEClass, ELEMENT_TYPE_CONFIGURATION__MATCHER_CONFIGURATION);
+ iconEntryEClass = createEClass(ICON_ENTRY);
+ createEAttribute(iconEntryEClass, ICON_ENTRY__ICON_PATH);
+ createEAttribute(iconEntryEClass, ICON_ENTRY__BUNDLE_ID);
+ configurationElementEClass = createEClass(CONFIGURATION_ELEMENT);
+ createEAttribute(configurationElementEClass, CONFIGURATION_ELEMENT__NAME);
+ createEAttribute(configurationElementEClass, CONFIGURATION_ELEMENT__DESCRIPTION);
+ createEAttribute(configurationElementEClass, CONFIGURATION_ELEMENT__IDENTIFIER);
+ createEReference(configurationElementEClass, CONFIGURATION_ELEMENT__ICON_ENTRY);
+ viewTypeAdviceConfigurationEClass = createEClass(VIEW_TYPE_ADVICE_CONFIGURATION);
+ semanticTypeAdviceConfigurationEClass = createEClass(SEMANTIC_TYPE_ADVICE_CONFIGURATION);
+ matcherConfigurationEClass = createEClass(MATCHER_CONFIGURATION);
+ actionConfigurationEClass = createEClass(ACTION_CONFIGURATION);
+ createEReference(actionConfigurationEClass, ACTION_CONFIGURATION__PRE_VALIDATION_QUERY_CONFIGURATION);
+ viewActionConfigurationEClass = createEClass(VIEW_ACTION_CONFIGURATION);
+ semanticActionConfigurationEClass = createEClass(SEMANTIC_ACTION_CONFIGURATION);
+ semanticTypeConfigurationEClass = createEClass(SEMANTIC_TYPE_CONFIGURATION);
+ viewTypeConfigurationEClass = createEClass(VIEW_TYPE_CONFIGURATION);
+ createEAttribute(viewTypeConfigurationEClass, VIEW_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID);
+ elementTypeAdviceConfigurationEClass = createEClass(ELEMENT_TYPE_ADVICE_CONFIGURATION);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if(isInitialized)
+ return;
+ isInitialized = true;
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+ // Obtain other dependent packages
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ ConfigurationPackage theConfigurationPackage = (ConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(ConfigurationPackage.eNS_URI);
+ // Create type parameters
+ // Set bounds for type parameters
+ // Add supertypes to classes
+ extendedElementTypeSetEClass.getESuperTypes().add(this.getConfigurationElement());
+ elementTypeConfigurationEClass.getESuperTypes().add(this.getConfigurationElement());
+ viewTypeAdviceConfigurationEClass.getESuperTypes().add(this.getElementTypeAdviceConfiguration());
+ semanticTypeAdviceConfigurationEClass.getESuperTypes().add(this.getElementTypeAdviceConfiguration());
+ actionConfigurationEClass.getESuperTypes().add(this.getConfigurationElement());
+ viewActionConfigurationEClass.getESuperTypes().add(this.getActionConfiguration());
+ semanticActionConfigurationEClass.getESuperTypes().add(this.getActionConfiguration());
+ semanticTypeConfigurationEClass.getESuperTypes().add(this.getElementTypeConfiguration());
+ viewTypeConfigurationEClass.getESuperTypes().add(this.getElementTypeConfiguration());
+ elementTypeAdviceConfigurationEClass.getESuperTypes().add(this.getConfigurationElement());
+ // Initialize classes and features; add operations and parameters
+ initEClass(extendedElementTypeSetEClass, ExtendedElementTypeSet.class, "ExtendedElementTypeSet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getExtendedElementTypeSet_ElementType(), this.getElementTypeConfiguration(), null, "elementType", null, 1, -1, ExtendedElementTypeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getExtendedElementTypeSet_Extensible(), theEcorePackage.getEBoolean(), "extensible", null, 0, 1, ExtendedElementTypeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEClass(elementTypeConfigurationEClass, ElementTypeConfiguration.class, "ElementTypeConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getElementTypeConfiguration_Hint(), ecorePackage.getEString(), "hint", "ExtendedElements", 0, 1, ElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+ initEAttribute(getElementTypeConfiguration_KindName(), ecorePackage.getEString(), "kindName", "org.eclipse.gmf.runtime.emf.type.core.IHintedType", 0, 1, ElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+ initEAttribute(getElementTypeConfiguration_SpecializedTypesID(), ecorePackage.getEString(), "specializedTypesID", null, 1, -1, ElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getElementTypeConfiguration_MatcherConfiguration(), this.getMatcherConfiguration(), null, "matcherConfiguration", null, 0, 1, ElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEClass(iconEntryEClass, IconEntry.class, "IconEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getIconEntry_IconPath(), ecorePackage.getEString(), "iconPath", null, 0, 1, IconEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getIconEntry_BundleId(), ecorePackage.getEString(), "bundleId", null, 0, 1, IconEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEClass(configurationElementEClass, ConfigurationElement.class, "ConfigurationElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getConfigurationElement_Name(), theEcorePackage.getEString(), "name", null, 1, 1, ConfigurationElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getConfigurationElement_Description(), theEcorePackage.getEString(), "description", null, 0, 1, ConfigurationElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getConfigurationElement_Identifier(), theEcorePackage.getEString(), "identifier", null, 1, 1, ConfigurationElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getConfigurationElement_IconEntry(), this.getIconEntry(), null, "iconEntry", null, 0, 1, ConfigurationElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEClass(viewTypeAdviceConfigurationEClass, ViewTypeAdviceConfiguration.class, "ViewTypeAdviceConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEClass(semanticTypeAdviceConfigurationEClass, SemanticTypeAdviceConfiguration.class, "SemanticTypeAdviceConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEClass(matcherConfigurationEClass, MatcherConfiguration.class, "MatcherConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEClass(actionConfigurationEClass, ActionConfiguration.class, "ActionConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getActionConfiguration_PreValidationQueryConfiguration(), theConfigurationPackage.getQueryConfiguration(), null, "preValidationQueryConfiguration", null, 0, 1, ActionConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEClass(viewActionConfigurationEClass, ViewActionConfiguration.class, "ViewActionConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEClass(semanticActionConfigurationEClass, SemanticActionConfiguration.class, "SemanticActionConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEClass(semanticTypeConfigurationEClass, SemanticTypeConfiguration.class, "SemanticTypeConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEClass(viewTypeConfigurationEClass, ViewTypeConfiguration.class, "ViewTypeConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getViewTypeConfiguration_SpecializedDiagramTypeID(), ecorePackage.getEString(), "specializedDiagramTypeID", null, 0, 1, ViewTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEClass(elementTypeAdviceConfigurationEClass, ElementTypeAdviceConfiguration.class, "ElementTypeAdviceConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ // Create resource
+ createResource(eNS_URI);
+ }
+} // ExtendedtypesPackageImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/IconEntryImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/IconEntryImpl.java
index c060449d21e..ce712a71da7 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/IconEntryImpl.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/IconEntryImpl.java
@@ -1,218 +1,225 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
-import org.eclipse.papyrus.infra.extendedtypes.IconEntry;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Icon Entry</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.IconEntryImpl#getIconPath <em>Icon Path</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.IconEntryImpl#getBundleId <em>Bundle Id</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class IconEntryImpl extends EObjectImpl implements IconEntry {
- /**
- * The default value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getIconPath()
- * @generated
- * @ordered
- */
- protected static final String ICON_PATH_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getIconPath()
- * @generated
- * @ordered
- */
- protected String iconPath = ICON_PATH_EDEFAULT;
-
- /**
- * The default value of the '{@link #getBundleId() <em>Bundle Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getBundleId()
- * @generated
- * @ordered
- */
- protected static final String BUNDLE_ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getBundleId() <em>Bundle Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getBundleId()
- * @generated
- * @ordered
- */
- protected String bundleId = BUNDLE_ID_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected IconEntryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ExtendedtypesPackage.Literals.ICON_ENTRY;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getIconPath() {
- return iconPath;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setIconPath(String newIconPath) {
- String oldIconPath = iconPath;
- iconPath = newIconPath;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ICON_ENTRY__ICON_PATH, oldIconPath, iconPath));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getBundleId() {
- return bundleId;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setBundleId(String newBundleId) {
- String oldBundleId = bundleId;
- bundleId = newBundleId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID, oldBundleId, bundleId));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case ExtendedtypesPackage.ICON_ENTRY__ICON_PATH:
- return getIconPath();
- case ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID:
- return getBundleId();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case ExtendedtypesPackage.ICON_ENTRY__ICON_PATH:
- setIconPath((String)newValue);
- return;
- case ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID:
- setBundleId((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ExtendedtypesPackage.ICON_ENTRY__ICON_PATH:
- setIconPath(ICON_PATH_EDEFAULT);
- return;
- case ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID:
- setBundleId(BUNDLE_ID_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ExtendedtypesPackage.ICON_ENTRY__ICON_PATH:
- return ICON_PATH_EDEFAULT == null ? iconPath != null : !ICON_PATH_EDEFAULT.equals(iconPath);
- case ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID:
- return BUNDLE_ID_EDEFAULT == null ? bundleId != null : !BUNDLE_ID_EDEFAULT.equals(bundleId);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (iconPath: ");
- result.append(iconPath);
- result.append(", bundleId: ");
- result.append(bundleId);
- result.append(')');
- return result.toString();
- }
-
-} //IconEntryImpl
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.IconEntry;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Icon Entry</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.IconEntryImpl#getIconPath <em>Icon Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.IconEntryImpl#getBundleId <em>Bundle Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IconEntryImpl extends EObjectImpl implements IconEntry {
+
+ /**
+ * The default value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String ICON_PATH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected String iconPath = ICON_PATH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBundleId() <em>Bundle Id</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBundleId()
+ * @generated
+ * @ordered
+ */
+ protected static final String BUNDLE_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBundleId() <em>Bundle Id</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBundleId()
+ * @generated
+ * @ordered
+ */
+ protected String bundleId = BUNDLE_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IconEntryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.eINSTANCE.getIconEntry();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getIconPath() {
+ return iconPath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIconPath(String newIconPath) {
+ String oldIconPath = iconPath;
+ iconPath = newIconPath;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ICON_ENTRY__ICON_PATH, oldIconPath, iconPath));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getBundleId() {
+ return bundleId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBundleId(String newBundleId) {
+ String oldBundleId = bundleId;
+ bundleId = newBundleId;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID, oldBundleId, bundleId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch(featureID) {
+ case ExtendedtypesPackage.ICON_ENTRY__ICON_PATH:
+ return getIconPath();
+ case ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID:
+ return getBundleId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch(featureID) {
+ case ExtendedtypesPackage.ICON_ENTRY__ICON_PATH:
+ setIconPath((String)newValue);
+ return;
+ case ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID:
+ setBundleId((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch(featureID) {
+ case ExtendedtypesPackage.ICON_ENTRY__ICON_PATH:
+ setIconPath(ICON_PATH_EDEFAULT);
+ return;
+ case ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID:
+ setBundleId(BUNDLE_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch(featureID) {
+ case ExtendedtypesPackage.ICON_ENTRY__ICON_PATH:
+ return ICON_PATH_EDEFAULT == null ? iconPath != null : !ICON_PATH_EDEFAULT.equals(iconPath);
+ case ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID:
+ return BUNDLE_ID_EDEFAULT == null ? bundleId != null : !BUNDLE_ID_EDEFAULT.equals(bundleId);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if(eIsProxy())
+ return super.toString();
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (iconPath: "); //$NON-NLS-1$
+ result.append(iconPath);
+ result.append(", bundleId: "); //$NON-NLS-1$
+ result.append(bundleId);
+ result.append(')');
+ return result.toString();
+ }
+} // IconEntryImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/MatcherConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/MatcherConfigurationImpl.java
new file mode 100644
index 00000000000..8be5d36d924
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/MatcherConfigurationImpl.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.MatcherConfiguration;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Matcher Configuration</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class MatcherConfigurationImpl extends EObjectImpl implements MatcherConfiguration {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MatcherConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.eINSTANCE.getMatcherConfiguration();
+ }
+} // MatcherConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/PostActionConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/PostActionConfigurationImpl.java
deleted file mode 100644
index 2a2e4bf2547..00000000000
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/PostActionConfigurationImpl.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
-import org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Post Action Configuration</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public abstract class PostActionConfigurationImpl extends ActionConfigurationImpl implements PostActionConfiguration {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PostActionConfigurationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ExtendedtypesPackage.Literals.POST_ACTION_CONFIGURATION;
- }
-
-} //PostActionConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/PreActionConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/PreActionConfigurationImpl.java
deleted file mode 100644
index f75fe87c05a..00000000000
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/PreActionConfigurationImpl.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
-import org.eclipse.papyrus.infra.extendedtypes.PreActionConfiguration;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Pre Action Configuration</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public abstract class PreActionConfigurationImpl extends ActionConfigurationImpl implements PreActionConfiguration {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PreActionConfigurationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ExtendedtypesPackage.Literals.PRE_ACTION_CONFIGURATION;
- }
-
-} //PreActionConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/SemanticActionConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/SemanticActionConfigurationImpl.java
new file mode 100644
index 00000000000..43ac0e1c854
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/SemanticActionConfigurationImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.SemanticActionConfiguration;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Semantic Action Configuration</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class SemanticActionConfigurationImpl extends ActionConfigurationImpl implements SemanticActionConfiguration {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SemanticActionConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.eINSTANCE.getSemanticActionConfiguration();
+ }
+} // SemanticActionConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/SemanticTypeAdviceConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/SemanticTypeAdviceConfigurationImpl.java
new file mode 100644
index 00000000000..fd381f1fa24
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/SemanticTypeAdviceConfigurationImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.SemanticTypeAdviceConfiguration;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Semantic Type Advice Configuration</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class SemanticTypeAdviceConfigurationImpl extends ElementTypeAdviceConfigurationImpl implements SemanticTypeAdviceConfiguration {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SemanticTypeAdviceConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.eINSTANCE.getSemanticTypeAdviceConfiguration();
+ }
+} // SemanticTypeAdviceConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/SemanticTypeConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/SemanticTypeConfigurationImpl.java
new file mode 100644
index 00000000000..70f5a9a7956
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/SemanticTypeConfigurationImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Semantic Type Configuration</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class SemanticTypeConfigurationImpl extends ElementTypeConfigurationImpl implements SemanticTypeConfiguration {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SemanticTypeConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.eINSTANCE.getSemanticTypeConfiguration();
+ }
+} // SemanticTypeConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ViewActionConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ViewActionConfigurationImpl.java
new file mode 100644
index 00000000000..fd6c6718a95
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ViewActionConfigurationImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.ViewActionConfiguration;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>View Action Configuration</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ViewActionConfigurationImpl extends ActionConfigurationImpl implements ViewActionConfiguration {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ViewActionConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.eINSTANCE.getViewActionConfiguration();
+ }
+} // ViewActionConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ViewTypeAdviceConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ViewTypeAdviceConfigurationImpl.java
new file mode 100644
index 00000000000..c8a16d6c9eb
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ViewTypeAdviceConfigurationImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.ViewTypeAdviceConfiguration;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>View Type Advice Configuration</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ViewTypeAdviceConfigurationImpl extends ElementTypeAdviceConfigurationImpl implements ViewTypeAdviceConfiguration {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ViewTypeAdviceConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.eINSTANCE.getViewTypeAdviceConfiguration();
+ }
+} // ViewTypeAdviceConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ViewTypeConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ViewTypeConfigurationImpl.java
new file mode 100644
index 00000000000..3d1a2709f33
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/impl/ViewTypeConfigurationImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.infra.extendedtypes.ViewTypeConfiguration;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>View Type Configuration</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.impl.ViewTypeConfigurationImpl#getSpecializedDiagramTypeID <em>Specialized Diagram Type ID</em>}
+ * </li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ViewTypeConfigurationImpl extends ElementTypeConfigurationImpl implements ViewTypeConfiguration {
+
+ /**
+ * The default value of the '{@link #getSpecializedDiagramTypeID() <em>Specialized Diagram Type ID</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getSpecializedDiagramTypeID()
+ * @generated
+ * @ordered
+ */
+ protected static final String SPECIALIZED_DIAGRAM_TYPE_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSpecializedDiagramTypeID() <em>Specialized Diagram Type ID</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getSpecializedDiagramTypeID()
+ * @generated
+ * @ordered
+ */
+ protected String specializedDiagramTypeID = SPECIALIZED_DIAGRAM_TYPE_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ViewTypeConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.eINSTANCE.getViewTypeConfiguration();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getSpecializedDiagramTypeID() {
+ return specializedDiagramTypeID;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSpecializedDiagramTypeID(String newSpecializedDiagramTypeID) {
+ String oldSpecializedDiagramTypeID = specializedDiagramTypeID;
+ specializedDiagramTypeID = newSpecializedDiagramTypeID;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.VIEW_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID, oldSpecializedDiagramTypeID, specializedDiagramTypeID));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch(featureID) {
+ case ExtendedtypesPackage.VIEW_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID:
+ return getSpecializedDiagramTypeID();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch(featureID) {
+ case ExtendedtypesPackage.VIEW_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID:
+ setSpecializedDiagramTypeID((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch(featureID) {
+ case ExtendedtypesPackage.VIEW_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID:
+ setSpecializedDiagramTypeID(SPECIALIZED_DIAGRAM_TYPE_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch(featureID) {
+ case ExtendedtypesPackage.VIEW_TYPE_CONFIGURATION__SPECIALIZED_DIAGRAM_TYPE_ID:
+ return SPECIALIZED_DIAGRAM_TYPE_ID_EDEFAULT == null ? specializedDiagramTypeID != null : !SPECIALIZED_DIAGRAM_TYPE_ID_EDEFAULT.equals(specializedDiagramTypeID);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if(eIsProxy())
+ return super.toString();
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (specializedDiagramTypeID: "); //$NON-NLS-1$
+ result.append(specializedDiagramTypeID);
+ result.append(')');
+ return result.toString();
+ }
+} // ViewTypeConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/HierarchyPermission.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/HierarchyPermission.java
new file mode 100644
index 00000000000..1d13fa23447
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/HierarchyPermission.java
@@ -0,0 +1,114 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hierarchy Permission</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission#getChildType <em>Child Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission#isIsPermitted <em>Is Permitted</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission#isIsStrict <em>Is Strict</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage#getHierarchyPermission()
+ * @model
+ * @generated
+ */
+public interface HierarchyPermission extends EObject {
+ /**
+ * Returns the value of the '<em><b>Child Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Child Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Child Type</em>' attribute.
+ * @see #setChildType(String)
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage#getHierarchyPermission_ChildType()
+ * @model
+ * @generated
+ */
+ String getChildType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission#getChildType <em>Child Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Child Type</em>' attribute.
+ * @see #getChildType()
+ * @generated
+ */
+ void setChildType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Permitted</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Permitted</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Permitted</em>' attribute.
+ * @see #setIsPermitted(boolean)
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage#getHierarchyPermission_IsPermitted()
+ * @model
+ * @generated
+ */
+ boolean isIsPermitted();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission#isIsPermitted <em>Is Permitted</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Permitted</em>' attribute.
+ * @see #isIsPermitted()
+ * @generated
+ */
+ void setIsPermitted(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Strict</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Strict</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Strict</em>' attribute.
+ * @see #setIsStrict(boolean)
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage#getHierarchyPermission_IsStrict()
+ * @model
+ * @generated
+ */
+ boolean isIsStrict();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission#isIsStrict <em>Is Strict</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Strict</em>' attribute.
+ * @see #isIsStrict()
+ * @generated
+ */
+ void setIsStrict(boolean value);
+
+} // HierarchyPermission
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfiguration.java
new file mode 100644
index 00000000000..595b6c9b35d
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfiguration.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Invariant Container Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration#getPermissions <em>Permissions</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage#getInvariantContainerConfiguration()
+ * @model
+ * @generated
+ */
+public interface InvariantContainerConfiguration extends InvariantRuleConfiguration {
+ /**
+ * Returns the value of the '<em><b>Permissions</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Permissions</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>Permissions</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage#getInvariantContainerConfiguration_Permissions()
+ * @model containment="true"
+ * @generated
+ */
+ EList<HierarchyPermission> getPermissions();
+
+} // InvariantContainerConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationFactory.java
new file mode 100644
index 00000000000..178da820141
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationFactory.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage
+ * @generated
+ */
+public interface InvariantContainerConfigurationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ InvariantContainerConfigurationFactory eINSTANCE = org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.InvariantContainerConfigurationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Invariant Container Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Invariant Container Configuration</em>'.
+ * @generated
+ */
+ InvariantContainerConfiguration createInvariantContainerConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Hierarchy Permission</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hierarchy Permission</em>'.
+ * @generated
+ */
+ HierarchyPermission createHierarchyPermission();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ InvariantContainerConfigurationPackage getInvariantContainerConfigurationPackage();
+
+} //InvariantContainerConfigurationFactory
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationPackage.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationPackage.java
new file mode 100644
index 00000000000..5433a3e21a9
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationPackage.java
@@ -0,0 +1,305 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface InvariantContainerConfigurationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "invariantcontainerconfiguration";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/container/1.0";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "invariantcontainerconfiguration";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ InvariantContainerConfigurationPackage eINSTANCE = org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.InvariantContainerConfigurationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.InvariantContainerConfigurationImpl <em>Invariant Container Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.InvariantContainerConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.InvariantContainerConfigurationPackageImpl#getInvariantContainerConfiguration()
+ * @generated
+ */
+ int INVARIANT_CONTAINER_CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Permissions</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_CONTAINER_CONFIGURATION__PERMISSIONS = InvariantSemanticTypeConfigurationPackage.INVARIANT_RULE_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Invariant Container Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_CONTAINER_CONFIGURATION_FEATURE_COUNT = InvariantSemanticTypeConfigurationPackage.INVARIANT_RULE_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Invariant Container Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_CONTAINER_CONFIGURATION_OPERATION_COUNT = InvariantSemanticTypeConfigurationPackage.INVARIANT_RULE_CONFIGURATION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.HierarchyPermissionImpl <em>Hierarchy Permission</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.HierarchyPermissionImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.InvariantContainerConfigurationPackageImpl#getHierarchyPermission()
+ * @generated
+ */
+ int HIERARCHY_PERMISSION = 1;
+
+ /**
+ * The feature id for the '<em><b>Child Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HIERARCHY_PERMISSION__CHILD_TYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Is Permitted</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HIERARCHY_PERMISSION__IS_PERMITTED = 1;
+
+ /**
+ * The feature id for the '<em><b>Is Strict</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HIERARCHY_PERMISSION__IS_STRICT = 2;
+
+ /**
+ * The number of structural features of the '<em>Hierarchy Permission</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HIERARCHY_PERMISSION_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Hierarchy Permission</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HIERARCHY_PERMISSION_OPERATION_COUNT = 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration <em>Invariant Container Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Invariant Container Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration
+ * @generated
+ */
+ EClass getInvariantContainerConfiguration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration#getPermissions <em>Permissions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Permissions</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration#getPermissions()
+ * @see #getInvariantContainerConfiguration()
+ * @generated
+ */
+ EReference getInvariantContainerConfiguration_Permissions();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission <em>Hierarchy Permission</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hierarchy Permission</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission
+ * @generated
+ */
+ EClass getHierarchyPermission();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission#getChildType <em>Child Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Child Type</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission#getChildType()
+ * @see #getHierarchyPermission()
+ * @generated
+ */
+ EAttribute getHierarchyPermission_ChildType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission#isIsPermitted <em>Is Permitted</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Permitted</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission#isIsPermitted()
+ * @see #getHierarchyPermission()
+ * @generated
+ */
+ EAttribute getHierarchyPermission_IsPermitted();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission#isIsStrict <em>Is Strict</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Strict</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission#isIsStrict()
+ * @see #getHierarchyPermission()
+ * @generated
+ */
+ EAttribute getHierarchyPermission_IsStrict();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ InvariantContainerConfigurationFactory getInvariantContainerConfigurationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.InvariantContainerConfigurationImpl <em>Invariant Container Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.InvariantContainerConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.InvariantContainerConfigurationPackageImpl#getInvariantContainerConfiguration()
+ * @generated
+ */
+ EClass INVARIANT_CONTAINER_CONFIGURATION = eINSTANCE.getInvariantContainerConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Permissions</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INVARIANT_CONTAINER_CONFIGURATION__PERMISSIONS = eINSTANCE.getInvariantContainerConfiguration_Permissions();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.HierarchyPermissionImpl <em>Hierarchy Permission</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.HierarchyPermissionImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.InvariantContainerConfigurationPackageImpl#getHierarchyPermission()
+ * @generated
+ */
+ EClass HIERARCHY_PERMISSION = eINSTANCE.getHierarchyPermission();
+
+ /**
+ * The meta object literal for the '<em><b>Child Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HIERARCHY_PERMISSION__CHILD_TYPE = eINSTANCE.getHierarchyPermission_ChildType();
+
+ /**
+ * The meta object literal for the '<em><b>Is Permitted</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HIERARCHY_PERMISSION__IS_PERMITTED = eINSTANCE.getHierarchyPermission_IsPermitted();
+
+ /**
+ * The meta object literal for the '<em><b>Is Strict</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HIERARCHY_PERMISSION__IS_STRICT = eINSTANCE.getHierarchyPermission_IsStrict();
+
+ }
+
+} //InvariantContainerConfigurationPackage
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/HierarchyPermissionImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/HierarchyPermissionImpl.java
new file mode 100644
index 00000000000..5df75360afc
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/HierarchyPermissionImpl.java
@@ -0,0 +1,281 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission;
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hierarchy Permission</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.HierarchyPermissionImpl#getChildType <em>Child Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.HierarchyPermissionImpl#isIsPermitted <em>Is Permitted</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.HierarchyPermissionImpl#isIsStrict <em>Is Strict</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HierarchyPermissionImpl extends MinimalEObjectImpl.Container implements HierarchyPermission {
+ /**
+ * The default value of the '{@link #getChildType() <em>Child Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getChildType()
+ * @generated
+ * @ordered
+ */
+ protected static final String CHILD_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getChildType() <em>Child Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getChildType()
+ * @generated
+ * @ordered
+ */
+ protected String childType = CHILD_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsPermitted() <em>Is Permitted</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsPermitted()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_PERMITTED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsPermitted() <em>Is Permitted</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsPermitted()
+ * @generated
+ * @ordered
+ */
+ protected boolean isPermitted = IS_PERMITTED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsStrict() <em>Is Strict</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsStrict()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_STRICT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsStrict() <em>Is Strict</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsStrict()
+ * @generated
+ * @ordered
+ */
+ protected boolean isStrict = IS_STRICT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HierarchyPermissionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return InvariantContainerConfigurationPackage.Literals.HIERARCHY_PERMISSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getChildType() {
+ return childType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setChildType(String newChildType) {
+ String oldChildType = childType;
+ childType = newChildType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__CHILD_TYPE, oldChildType, childType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsPermitted() {
+ return isPermitted;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsPermitted(boolean newIsPermitted) {
+ boolean oldIsPermitted = isPermitted;
+ isPermitted = newIsPermitted;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__IS_PERMITTED, oldIsPermitted, isPermitted));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsStrict() {
+ return isStrict;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsStrict(boolean newIsStrict) {
+ boolean oldIsStrict = isStrict;
+ isStrict = newIsStrict;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__IS_STRICT, oldIsStrict, isStrict));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__CHILD_TYPE:
+ return getChildType();
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__IS_PERMITTED:
+ return isIsPermitted();
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__IS_STRICT:
+ return isIsStrict();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__CHILD_TYPE:
+ setChildType((String)newValue);
+ return;
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__IS_PERMITTED:
+ setIsPermitted((Boolean)newValue);
+ return;
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__IS_STRICT:
+ setIsStrict((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__CHILD_TYPE:
+ setChildType(CHILD_TYPE_EDEFAULT);
+ return;
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__IS_PERMITTED:
+ setIsPermitted(IS_PERMITTED_EDEFAULT);
+ return;
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__IS_STRICT:
+ setIsStrict(IS_STRICT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__CHILD_TYPE:
+ return CHILD_TYPE_EDEFAULT == null ? childType != null : !CHILD_TYPE_EDEFAULT.equals(childType);
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__IS_PERMITTED:
+ return isPermitted != IS_PERMITTED_EDEFAULT;
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION__IS_STRICT:
+ return isStrict != IS_STRICT_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (childType: ");
+ result.append(childType);
+ result.append(", isPermitted: ");
+ result.append(isPermitted);
+ result.append(", isStrict: ");
+ result.append(isStrict);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HierarchyPermissionImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/InvariantContainerConfigurationFactoryImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/InvariantContainerConfigurationFactoryImpl.java
new file mode 100644
index 00000000000..37c573f0264
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/InvariantContainerConfigurationFactoryImpl.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+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.extendedtypes.invariantcontainerconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantContainerConfigurationFactoryImpl extends EFactoryImpl implements InvariantContainerConfigurationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static InvariantContainerConfigurationFactory init() {
+ try {
+ InvariantContainerConfigurationFactory theInvariantContainerConfigurationFactory = (InvariantContainerConfigurationFactory)EPackage.Registry.INSTANCE.getEFactory(InvariantContainerConfigurationPackage.eNS_URI);
+ if (theInvariantContainerConfigurationFactory != null) {
+ return theInvariantContainerConfigurationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new InvariantContainerConfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantContainerConfigurationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case InvariantContainerConfigurationPackage.INVARIANT_CONTAINER_CONFIGURATION: return createInvariantContainerConfiguration();
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION: return createHierarchyPermission();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantContainerConfiguration createInvariantContainerConfiguration() {
+ InvariantContainerConfigurationImpl invariantContainerConfiguration = new InvariantContainerConfigurationImpl();
+ return invariantContainerConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HierarchyPermission createHierarchyPermission() {
+ HierarchyPermissionImpl hierarchyPermission = new HierarchyPermissionImpl();
+ return hierarchyPermission;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantContainerConfigurationPackage getInvariantContainerConfigurationPackage() {
+ return (InvariantContainerConfigurationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static InvariantContainerConfigurationPackage getPackage() {
+ return InvariantContainerConfigurationPackage.eINSTANCE;
+ }
+
+} //InvariantContainerConfigurationFactoryImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/InvariantContainerConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/InvariantContainerConfigurationImpl.java
new file mode 100644
index 00000000000..f0122b91805
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/InvariantContainerConfigurationImpl.java
@@ -0,0 +1,162 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl;
+
+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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission;
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantRuleConfigurationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Invariant Container Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl.InvariantContainerConfigurationImpl#getPermissions <em>Permissions</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InvariantContainerConfigurationImpl extends InvariantRuleConfigurationImpl implements InvariantContainerConfiguration {
+ /**
+ * The cached value of the '{@link #getPermissions() <em>Permissions</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPermissions()
+ * @generated
+ * @ordered
+ */
+ protected EList<HierarchyPermission> permissions;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantContainerConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return InvariantContainerConfigurationPackage.Literals.INVARIANT_CONTAINER_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HierarchyPermission> getPermissions() {
+ if (permissions == null) {
+ permissions = new EObjectContainmentEList<HierarchyPermission>(HierarchyPermission.class, this, InvariantContainerConfigurationPackage.INVARIANT_CONTAINER_CONFIGURATION__PERMISSIONS);
+ }
+ return permissions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case InvariantContainerConfigurationPackage.INVARIANT_CONTAINER_CONFIGURATION__PERMISSIONS:
+ return ((InternalEList<?>)getPermissions()).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 InvariantContainerConfigurationPackage.INVARIANT_CONTAINER_CONFIGURATION__PERMISSIONS:
+ return getPermissions();
+ }
+ 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 InvariantContainerConfigurationPackage.INVARIANT_CONTAINER_CONFIGURATION__PERMISSIONS:
+ getPermissions().clear();
+ getPermissions().addAll((Collection<? extends HierarchyPermission>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case InvariantContainerConfigurationPackage.INVARIANT_CONTAINER_CONFIGURATION__PERMISSIONS:
+ getPermissions().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case InvariantContainerConfigurationPackage.INVARIANT_CONTAINER_CONFIGURATION__PERMISSIONS:
+ return permissions != null && !permissions.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //InvariantContainerConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/InvariantContainerConfigurationPackageImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/InvariantContainerConfigurationPackageImpl.java
new file mode 100644
index 00000000000..b3b1563ee8c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/impl/InvariantContainerConfigurationPackageImpl.java
@@ -0,0 +1,253 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+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.extendedtypes.invariantcontainerconfiguration.HierarchyPermission;
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationFactory;
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantContainerConfigurationPackageImpl extends EPackageImpl implements InvariantContainerConfigurationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass invariantContainerConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hierarchyPermissionEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private InvariantContainerConfigurationPackageImpl() {
+ super(eNS_URI, InvariantContainerConfigurationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link InvariantContainerConfigurationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static InvariantContainerConfigurationPackage init() {
+ if (isInited) return (InvariantContainerConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(InvariantContainerConfigurationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ InvariantContainerConfigurationPackageImpl theInvariantContainerConfigurationPackage = (InvariantContainerConfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof InvariantContainerConfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new InvariantContainerConfigurationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ InvariantSemanticTypeConfigurationPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theInvariantContainerConfigurationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theInvariantContainerConfigurationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theInvariantContainerConfigurationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(InvariantContainerConfigurationPackage.eNS_URI, theInvariantContainerConfigurationPackage);
+ return theInvariantContainerConfigurationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInvariantContainerConfiguration() {
+ return invariantContainerConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInvariantContainerConfiguration_Permissions() {
+ return (EReference)invariantContainerConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHierarchyPermission() {
+ return hierarchyPermissionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHierarchyPermission_ChildType() {
+ return (EAttribute)hierarchyPermissionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHierarchyPermission_IsPermitted() {
+ return (EAttribute)hierarchyPermissionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHierarchyPermission_IsStrict() {
+ return (EAttribute)hierarchyPermissionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantContainerConfigurationFactory getInvariantContainerConfigurationFactory() {
+ return (InvariantContainerConfigurationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ invariantContainerConfigurationEClass = createEClass(INVARIANT_CONTAINER_CONFIGURATION);
+ createEReference(invariantContainerConfigurationEClass, INVARIANT_CONTAINER_CONFIGURATION__PERMISSIONS);
+
+ hierarchyPermissionEClass = createEClass(HIERARCHY_PERMISSION);
+ createEAttribute(hierarchyPermissionEClass, HIERARCHY_PERMISSION__CHILD_TYPE);
+ createEAttribute(hierarchyPermissionEClass, HIERARCHY_PERMISSION__IS_PERMITTED);
+ createEAttribute(hierarchyPermissionEClass, HIERARCHY_PERMISSION__IS_STRICT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ InvariantSemanticTypeConfigurationPackage theInvariantSemanticTypeConfigurationPackage = (InvariantSemanticTypeConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(InvariantSemanticTypeConfigurationPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ invariantContainerConfigurationEClass.getESuperTypes().add(theInvariantSemanticTypeConfigurationPackage.getInvariantRuleConfiguration());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(invariantContainerConfigurationEClass, InvariantContainerConfiguration.class, "InvariantContainerConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getInvariantContainerConfiguration_Permissions(), this.getHierarchyPermission(), null, "permissions", null, 0, -1, InvariantContainerConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(hierarchyPermissionEClass, HierarchyPermission.class, "HierarchyPermission", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHierarchyPermission_ChildType(), theEcorePackage.getEString(), "childType", null, 0, 1, HierarchyPermission.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHierarchyPermission_IsPermitted(), theEcorePackage.getEBoolean(), "isPermitted", null, 0, 1, HierarchyPermission.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getHierarchyPermission_IsStrict(), theEcorePackage.getEBoolean(), "isStrict", null, 0, 1, HierarchyPermission.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //InvariantContainerConfigurationPackageImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationAdapterFactory.java
new file mode 100644
index 00000000000..84bb89c1c72
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationAdapterFactory.java
@@ -0,0 +1,168 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.*;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage
+ * @generated
+ */
+public class InvariantContainerConfigurationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static InvariantContainerConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantContainerConfigurationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = InvariantContainerConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantContainerConfigurationSwitch<Adapter> modelSwitch =
+ new InvariantContainerConfigurationSwitch<Adapter>() {
+ @Override
+ public Adapter caseInvariantContainerConfiguration(InvariantContainerConfiguration object) {
+ return createInvariantContainerConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseHierarchyPermission(HierarchyPermission object) {
+ return createHierarchyPermissionAdapter();
+ }
+ @Override
+ public Adapter caseInvariantRuleConfiguration(InvariantRuleConfiguration object) {
+ return createInvariantRuleConfigurationAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration <em>Invariant Container Configuration</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.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfiguration
+ * @generated
+ */
+ public Adapter createInvariantContainerConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.HierarchyPermission <em>Hierarchy Permission</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.extendedtypes.invariantcontainerconfiguration.HierarchyPermission
+ * @generated
+ */
+ public Adapter createHierarchyPermissionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration <em>Invariant Rule Configuration</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.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration
+ * @generated
+ */
+ public Adapter createInvariantRuleConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //InvariantContainerConfigurationAdapterFactory
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationResourceFactoryImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationResourceFactoryImpl.java
new file mode 100644
index 00000000000..a9fbd4a3c4c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.util;
+
+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.extendedtypes.invariantcontainerconfiguration.util.InvariantContainerConfigurationResourceImpl
+ * @generated
+ */
+public class InvariantContainerConfigurationResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantContainerConfigurationResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new InvariantContainerConfigurationResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //InvariantContainerConfigurationResourceFactoryImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationResourceImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationResourceImpl.java
new file mode 100644
index 00000000000..46c332df4a3
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationResourceImpl.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.util.InvariantContainerConfigurationResourceFactoryImpl
+ * @generated
+ */
+public class InvariantContainerConfigurationResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public InvariantContainerConfigurationResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //InvariantContainerConfigurationResourceImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationSwitch.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationSwitch.java
index a91ade640c1..906617e130d 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationSwitch.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationSwitch.java
@@ -1,169 +1,159 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.util;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.util.Switch;
-import org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage
- * @generated
- */
-public class ApplyStereotypeActionConfigurationSwitch<T> extends Switch<T> {
- /**
- * The cached model package
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static ApplyStereotypeActionConfigurationPackage modelPackage;
-
- /**
- * Creates an instance of the switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ApplyStereotypeActionConfigurationSwitch() {
- if (modelPackage == null) {
- modelPackage = ApplyStereotypeActionConfigurationPackage.eINSTANCE;
- }
- }
-
- /**
- * Checks whether this is a switch for the given package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @parameter ePackage the package in question.
- * @return whether this is a switch for the given package.
- * @generated
- */
- @Override
- protected boolean isSwitchFor(EPackage ePackage) {
- return ePackage == modelPackage;
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- @Override
- protected T doSwitch(int classifierID, EObject theEObject) {
- switch (classifierID) {
- case ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION: {
- ApplyStereotypeActionConfiguration applyStereotypeActionConfiguration = (ApplyStereotypeActionConfiguration)theEObject;
- T result = caseApplyStereotypeActionConfiguration(applyStereotypeActionConfiguration);
- if (result == null) result = casePostActionConfiguration(applyStereotypeActionConfiguration);
- if (result == null) result = caseActionConfiguration(applyStereotypeActionConfiguration);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY: {
- StereotypeToApply stereotypeToApply = (StereotypeToApply)theEObject;
- T result = caseStereotypeToApply(stereotypeToApply);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- default: return defaultCase(theEObject);
- }
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Apply Stereotype Action Configuration</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>Apply Stereotype Action Configuration</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseApplyStereotypeActionConfiguration(ApplyStereotypeActionConfiguration object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Stereotype To Apply</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>Stereotype To Apply</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseStereotypeToApply(StereotypeToApply object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Action Configuration</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>Action Configuration</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseActionConfiguration(ActionConfiguration object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Post Action Configuration</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>Post Action Configuration</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T casePostActionConfiguration(PostActionConfiguration object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch, but this is the last case anyway.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject)
- * @generated
- */
- @Override
- public T defaultCase(EObject object) {
- return null;
- }
-
-} //ApplyStereotypeActionConfigurationSwitch
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.*;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage
+ * @generated
+ */
+public class InvariantContainerConfigurationSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static InvariantContainerConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantContainerConfigurationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = InvariantContainerConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case InvariantContainerConfigurationPackage.INVARIANT_CONTAINER_CONFIGURATION: {
+ InvariantContainerConfiguration invariantContainerConfiguration = (InvariantContainerConfiguration)theEObject;
+ T result = caseInvariantContainerConfiguration(invariantContainerConfiguration);
+ if (result == null) result = caseInvariantRuleConfiguration(invariantContainerConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case InvariantContainerConfigurationPackage.HIERARCHY_PERMISSION: {
+ HierarchyPermission hierarchyPermission = (HierarchyPermission)theEObject;
+ T result = caseHierarchyPermission(hierarchyPermission);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Invariant Container Configuration</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>Invariant Container Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInvariantContainerConfiguration(InvariantContainerConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hierarchy Permission</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>Hierarchy Permission</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHierarchyPermission(HierarchyPermission object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Invariant Rule Configuration</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>Invariant Rule Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInvariantRuleConfiguration(InvariantRuleConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //InvariantContainerConfigurationSwitch
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationXMLProcessor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationXMLProcessor.java
new file mode 100644
index 00000000000..f3b639653b8
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/util/InvariantContainerConfigurationXMLProcessor.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.InvariantContainerConfigurationPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantContainerConfigurationXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantContainerConfigurationXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ InvariantContainerConfigurationPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the InvariantContainerConfigurationResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new InvariantContainerConfigurationResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new InvariantContainerConfigurationResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //InvariantContainerConfigurationXMLProcessor
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRule.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRule.java
new file mode 100644
index 00000000000..06d1e075728
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRule.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>And Rule</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage#getAndRule()
+ * @model
+ * @generated
+ */
+public interface AndRule extends ComposedRuleConfiguration {
+} // AndRule
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/ComposedRuleConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/ComposedRuleConfiguration.java
new file mode 100644
index 00000000000..2c7cda4cccc
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/ComposedRuleConfiguration.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Composed Rule Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.ComposedRuleConfiguration#getComposedRules <em>Composed Rules</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage#getComposedRuleConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ComposedRuleConfiguration extends InvariantRuleConfiguration {
+ /**
+ * Returns the value of the '<em><b>Composed Rules</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Composed Rules</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>Composed Rules</em>' reference list.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage#getComposedRuleConfiguration_ComposedRules()
+ * @model lower="2"
+ * @generated
+ */
+ EList<InvariantRuleConfiguration> getComposedRules();
+
+} // ComposedRuleConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantRuleConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantRuleConfiguration.java
new file mode 100644
index 00000000000..fcc65ae8d8f
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantRuleConfiguration.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Invariant Rule Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage#getInvariantRuleConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface InvariantRuleConfiguration extends EObject {
+} // InvariantRuleConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeConfiguration.java
new file mode 100644
index 00000000000..996f243cbad
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeConfiguration.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Invariant Semantic Type Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration#getInvariantRuleConfiguration <em>Invariant Rule Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage#getInvariantSemanticTypeConfiguration()
+ * @model
+ * @generated
+ */
+public interface InvariantSemanticTypeConfiguration extends SemanticTypeConfiguration {
+ /**
+ * Returns the value of the '<em><b>Invariant Rule Configuration</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Invariant Rule Configuration</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Invariant Rule Configuration</em>' containment reference.
+ * @see #setInvariantRuleConfiguration(InvariantRuleConfiguration)
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage#getInvariantSemanticTypeConfiguration_InvariantRuleConfiguration()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ InvariantRuleConfiguration getInvariantRuleConfiguration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration#getInvariantRuleConfiguration <em>Invariant Rule Configuration</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Invariant Rule Configuration</em>' containment reference.
+ * @see #getInvariantRuleConfiguration()
+ * @generated
+ */
+ void setInvariantRuleConfiguration(InvariantRuleConfiguration value);
+
+} // InvariantSemanticTypeConfiguration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeConfigurationFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeConfigurationFactory.java
new file mode 100644
index 00000000000..fb6ec1c327d
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeConfigurationFactory.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage
+ * @generated
+ */
+public interface InvariantSemanticTypeConfigurationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ InvariantSemanticTypeConfigurationFactory eINSTANCE = org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Invariant Semantic Type Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Invariant Semantic Type Configuration</em>'.
+ * @generated
+ */
+ InvariantSemanticTypeConfiguration createInvariantSemanticTypeConfiguration();
+
+ /**
+ * Returns a new object of class '<em>And Rule</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>And Rule</em>'.
+ * @generated
+ */
+ AndRule createAndRule();
+
+ /**
+ * Returns a new object of class '<em>Or Rule</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Or Rule</em>'.
+ * @generated
+ */
+ OrRule createOrRule();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ InvariantSemanticTypeConfigurationPackage getInvariantSemanticTypeConfigurationPackage();
+
+} //InvariantSemanticTypeConfigurationFactory
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeConfigurationPackage.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeConfigurationPackage.java
new file mode 100644
index 00000000000..83412feb380
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeConfigurationPackage.java
@@ -0,0 +1,464 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface InvariantSemanticTypeConfigurationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "invariantsemantictypeconfiguration";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/1.0";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "invariantsemantictypeconfiguration";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ InvariantSemanticTypeConfigurationPackage eINSTANCE = org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationImpl <em>Invariant Semantic Type Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationPackageImpl#getInvariantSemanticTypeConfiguration()
+ * @generated
+ */
+ int INVARIANT_SEMANTIC_TYPE_CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_SEMANTIC_TYPE_CONFIGURATION__NAME = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_SEMANTIC_TYPE_CONFIGURATION__DESCRIPTION = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_SEMANTIC_TYPE_CONFIGURATION__IDENTIFIER = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_SEMANTIC_TYPE_CONFIGURATION__ICON_ENTRY = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__ICON_ENTRY;
+
+ /**
+ * The feature id for the '<em><b>Hint</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_SEMANTIC_TYPE_CONFIGURATION__HINT = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__HINT;
+
+ /**
+ * The feature id for the '<em><b>Kind Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_SEMANTIC_TYPE_CONFIGURATION__KIND_NAME = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__KIND_NAME;
+
+ /**
+ * The feature id for the '<em><b>Specialized Types ID</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_SEMANTIC_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID;
+
+ /**
+ * The feature id for the '<em><b>Invariant Rule Configuration</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Invariant Semantic Type Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_SEMANTIC_TYPE_CONFIGURATION_FEATURE_COUNT = ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantRuleConfigurationImpl <em>Invariant Rule Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantRuleConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationPackageImpl#getInvariantRuleConfiguration()
+ * @generated
+ */
+ int INVARIANT_RULE_CONFIGURATION = 1;
+
+ /**
+ * The number of structural features of the '<em>Invariant Rule Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_RULE_CONFIGURATION_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Invariant Rule Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_RULE_CONFIGURATION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.ComposedRuleConfigurationImpl <em>Composed Rule Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.ComposedRuleConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationPackageImpl#getComposedRuleConfiguration()
+ * @generated
+ */
+ int COMPOSED_RULE_CONFIGURATION = 2;
+
+ /**
+ * The feature id for the '<em><b>Composed Rules</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSED_RULE_CONFIGURATION__COMPOSED_RULES = INVARIANT_RULE_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Composed Rule Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSED_RULE_CONFIGURATION_FEATURE_COUNT = INVARIANT_RULE_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Composed Rule Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSED_RULE_CONFIGURATION_OPERATION_COUNT = INVARIANT_RULE_CONFIGURATION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.AndRuleImpl <em>And Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.AndRuleImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationPackageImpl#getAndRule()
+ * @generated
+ */
+ int AND_RULE = 3;
+
+ /**
+ * The feature id for the '<em><b>Composed Rules</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AND_RULE__COMPOSED_RULES = COMPOSED_RULE_CONFIGURATION__COMPOSED_RULES;
+
+ /**
+ * The number of structural features of the '<em>And Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AND_RULE_FEATURE_COUNT = COMPOSED_RULE_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>And Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AND_RULE_OPERATION_COUNT = COMPOSED_RULE_CONFIGURATION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.OrRuleImpl <em>Or Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.OrRuleImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationPackageImpl#getOrRule()
+ * @generated
+ */
+ int OR_RULE = 4;
+
+ /**
+ * The feature id for the '<em><b>Composed Rules</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OR_RULE__COMPOSED_RULES = COMPOSED_RULE_CONFIGURATION__COMPOSED_RULES;
+
+ /**
+ * The number of structural features of the '<em>Or Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OR_RULE_FEATURE_COUNT = COMPOSED_RULE_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Or Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OR_RULE_OPERATION_COUNT = COMPOSED_RULE_CONFIGURATION_OPERATION_COUNT + 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration <em>Invariant Semantic Type Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Invariant Semantic Type Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration
+ * @generated
+ */
+ EClass getInvariantSemanticTypeConfiguration();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration#getInvariantRuleConfiguration <em>Invariant Rule Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Invariant Rule Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration#getInvariantRuleConfiguration()
+ * @see #getInvariantSemanticTypeConfiguration()
+ * @generated
+ */
+ EReference getInvariantSemanticTypeConfiguration_InvariantRuleConfiguration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration <em>Invariant Rule Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Invariant Rule Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration
+ * @generated
+ */
+ EClass getInvariantRuleConfiguration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.ComposedRuleConfiguration <em>Composed Rule Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Composed Rule Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.ComposedRuleConfiguration
+ * @generated
+ */
+ EClass getComposedRuleConfiguration();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.ComposedRuleConfiguration#getComposedRules <em>Composed Rules</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Composed Rules</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.ComposedRuleConfiguration#getComposedRules()
+ * @see #getComposedRuleConfiguration()
+ * @generated
+ */
+ EReference getComposedRuleConfiguration_ComposedRules();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.AndRule <em>And Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>And Rule</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.AndRule
+ * @generated
+ */
+ EClass getAndRule();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.OrRule <em>Or Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Or Rule</em>'.
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.OrRule
+ * @generated
+ */
+ EClass getOrRule();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ InvariantSemanticTypeConfigurationFactory getInvariantSemanticTypeConfigurationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationImpl <em>Invariant Semantic Type Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationPackageImpl#getInvariantSemanticTypeConfiguration()
+ * @generated
+ */
+ EClass INVARIANT_SEMANTIC_TYPE_CONFIGURATION = eINSTANCE.getInvariantSemanticTypeConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Invariant Rule Configuration</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION = eINSTANCE.getInvariantSemanticTypeConfiguration_InvariantRuleConfiguration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantRuleConfigurationImpl <em>Invariant Rule Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantRuleConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationPackageImpl#getInvariantRuleConfiguration()
+ * @generated
+ */
+ EClass INVARIANT_RULE_CONFIGURATION = eINSTANCE.getInvariantRuleConfiguration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.ComposedRuleConfigurationImpl <em>Composed Rule Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.ComposedRuleConfigurationImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationPackageImpl#getComposedRuleConfiguration()
+ * @generated
+ */
+ EClass COMPOSED_RULE_CONFIGURATION = eINSTANCE.getComposedRuleConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Composed Rules</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPOSED_RULE_CONFIGURATION__COMPOSED_RULES = eINSTANCE.getComposedRuleConfiguration_ComposedRules();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.AndRuleImpl <em>And Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.AndRuleImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationPackageImpl#getAndRule()
+ * @generated
+ */
+ EClass AND_RULE = eINSTANCE.getAndRule();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.OrRuleImpl <em>Or Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.OrRuleImpl
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationPackageImpl#getOrRule()
+ * @generated
+ */
+ EClass OR_RULE = eINSTANCE.getOrRule();
+
+ }
+
+} //InvariantSemanticTypeConfigurationPackage
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRule.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRule.java
new file mode 100644
index 00000000000..68b84ccacf8
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRule.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Or Rule</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage#getOrRule()
+ * @model
+ * @generated
+ */
+public interface OrRule extends ComposedRuleConfiguration {
+} // OrRule
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/AndRuleImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/AndRuleImpl.java
new file mode 100644
index 00000000000..fc96b51c8f0
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/AndRuleImpl.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.AndRule;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>And Rule</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class AndRuleImpl extends ComposedRuleConfigurationImpl implements AndRule {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AndRuleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return InvariantSemanticTypeConfigurationPackage.Literals.AND_RULE;
+ }
+
+} //AndRuleImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/ComposedRuleConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/ComposedRuleConfigurationImpl.java
new file mode 100644
index 00000000000..de4301c4939
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/ComposedRuleConfigurationImpl.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.ComposedRuleConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Composed Rule Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.ComposedRuleConfigurationImpl#getComposedRules <em>Composed Rules</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ComposedRuleConfigurationImpl extends InvariantRuleConfigurationImpl implements ComposedRuleConfiguration {
+ /**
+ * The cached value of the '{@link #getComposedRules() <em>Composed Rules</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComposedRules()
+ * @generated
+ * @ordered
+ */
+ protected EList<InvariantRuleConfiguration> composedRules;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedRuleConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return InvariantSemanticTypeConfigurationPackage.Literals.COMPOSED_RULE_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<InvariantRuleConfiguration> getComposedRules() {
+ if (composedRules == null) {
+ composedRules = new EObjectResolvingEList<InvariantRuleConfiguration>(InvariantRuleConfiguration.class, this, InvariantSemanticTypeConfigurationPackage.COMPOSED_RULE_CONFIGURATION__COMPOSED_RULES);
+ }
+ return composedRules;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case InvariantSemanticTypeConfigurationPackage.COMPOSED_RULE_CONFIGURATION__COMPOSED_RULES:
+ return getComposedRules();
+ }
+ 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 InvariantSemanticTypeConfigurationPackage.COMPOSED_RULE_CONFIGURATION__COMPOSED_RULES:
+ getComposedRules().clear();
+ getComposedRules().addAll((Collection<? extends InvariantRuleConfiguration>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case InvariantSemanticTypeConfigurationPackage.COMPOSED_RULE_CONFIGURATION__COMPOSED_RULES:
+ getComposedRules().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case InvariantSemanticTypeConfigurationPackage.COMPOSED_RULE_CONFIGURATION__COMPOSED_RULES:
+ return composedRules != null && !composedRules.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ComposedRuleConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantRuleConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantRuleConfigurationImpl.java
new file mode 100644
index 00000000000..a903ba9ceb6
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantRuleConfigurationImpl.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Invariant Rule Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class InvariantRuleConfigurationImpl extends MinimalEObjectImpl.Container implements InvariantRuleConfiguration {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantRuleConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return InvariantSemanticTypeConfigurationPackage.Literals.INVARIANT_RULE_CONFIGURATION;
+ }
+
+} //InvariantRuleConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantSemanticTypeConfigurationFactoryImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantSemanticTypeConfigurationFactoryImpl.java
new file mode 100644
index 00000000000..acb1d71845e
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantSemanticTypeConfigurationFactoryImpl.java
@@ -0,0 +1,127 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+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.extendedtypes.invariantsemantictypeconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantSemanticTypeConfigurationFactoryImpl extends EFactoryImpl implements InvariantSemanticTypeConfigurationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static InvariantSemanticTypeConfigurationFactory init() {
+ try {
+ InvariantSemanticTypeConfigurationFactory theInvariantSemanticTypeConfigurationFactory = (InvariantSemanticTypeConfigurationFactory)EPackage.Registry.INSTANCE.getEFactory(InvariantSemanticTypeConfigurationPackage.eNS_URI);
+ if (theInvariantSemanticTypeConfigurationFactory != null) {
+ return theInvariantSemanticTypeConfigurationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new InvariantSemanticTypeConfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case InvariantSemanticTypeConfigurationPackage.INVARIANT_SEMANTIC_TYPE_CONFIGURATION: return createInvariantSemanticTypeConfiguration();
+ case InvariantSemanticTypeConfigurationPackage.AND_RULE: return createAndRule();
+ case InvariantSemanticTypeConfigurationPackage.OR_RULE: return createOrRule();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfiguration createInvariantSemanticTypeConfiguration() {
+ InvariantSemanticTypeConfigurationImpl invariantSemanticTypeConfiguration = new InvariantSemanticTypeConfigurationImpl();
+ return invariantSemanticTypeConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AndRule createAndRule() {
+ AndRuleImpl andRule = new AndRuleImpl();
+ return andRule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OrRule createOrRule() {
+ OrRuleImpl orRule = new OrRuleImpl();
+ return orRule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationPackage getInvariantSemanticTypeConfigurationPackage() {
+ return (InvariantSemanticTypeConfigurationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static InvariantSemanticTypeConfigurationPackage getPackage() {
+ return InvariantSemanticTypeConfigurationPackage.eINSTANCE;
+ }
+
+} //InvariantSemanticTypeConfigurationFactoryImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantSemanticTypeConfigurationImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantSemanticTypeConfigurationImpl.java
new file mode 100644
index 00000000000..a0ad1d2d228
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantSemanticTypeConfigurationImpl.java
@@ -0,0 +1,187 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.impl.SemanticTypeConfigurationImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Invariant Semantic Type Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantSemanticTypeConfigurationImpl#getInvariantRuleConfiguration <em>Invariant Rule Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InvariantSemanticTypeConfigurationImpl extends SemanticTypeConfigurationImpl implements InvariantSemanticTypeConfiguration {
+ /**
+ * The cached value of the '{@link #getInvariantRuleConfiguration() <em>Invariant Rule Configuration</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInvariantRuleConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected InvariantRuleConfiguration invariantRuleConfiguration;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantSemanticTypeConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return InvariantSemanticTypeConfigurationPackage.Literals.INVARIANT_SEMANTIC_TYPE_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantRuleConfiguration getInvariantRuleConfiguration() {
+ return invariantRuleConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInvariantRuleConfiguration(InvariantRuleConfiguration newInvariantRuleConfiguration, NotificationChain msgs) {
+ InvariantRuleConfiguration oldInvariantRuleConfiguration = invariantRuleConfiguration;
+ invariantRuleConfiguration = newInvariantRuleConfiguration;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InvariantSemanticTypeConfigurationPackage.INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION, oldInvariantRuleConfiguration, newInvariantRuleConfiguration);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInvariantRuleConfiguration(InvariantRuleConfiguration newInvariantRuleConfiguration) {
+ if (newInvariantRuleConfiguration != invariantRuleConfiguration) {
+ NotificationChain msgs = null;
+ if (invariantRuleConfiguration != null)
+ msgs = ((InternalEObject)invariantRuleConfiguration).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InvariantSemanticTypeConfigurationPackage.INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION, null, msgs);
+ if (newInvariantRuleConfiguration != null)
+ msgs = ((InternalEObject)newInvariantRuleConfiguration).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InvariantSemanticTypeConfigurationPackage.INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION, null, msgs);
+ msgs = basicSetInvariantRuleConfiguration(newInvariantRuleConfiguration, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, InvariantSemanticTypeConfigurationPackage.INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION, newInvariantRuleConfiguration, newInvariantRuleConfiguration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case InvariantSemanticTypeConfigurationPackage.INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION:
+ return basicSetInvariantRuleConfiguration(null, 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 InvariantSemanticTypeConfigurationPackage.INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION:
+ return getInvariantRuleConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case InvariantSemanticTypeConfigurationPackage.INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION:
+ setInvariantRuleConfiguration((InvariantRuleConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case InvariantSemanticTypeConfigurationPackage.INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION:
+ setInvariantRuleConfiguration((InvariantRuleConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case InvariantSemanticTypeConfigurationPackage.INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION:
+ return invariantRuleConfiguration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //InvariantSemanticTypeConfigurationImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantSemanticTypeConfigurationPackageImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantSemanticTypeConfigurationPackageImpl.java
new file mode 100644
index 00000000000..6b962508862
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/InvariantSemanticTypeConfigurationPackageImpl.java
@@ -0,0 +1,294 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.AndRule;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.ComposedRuleConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationFactory;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.OrRule;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantSemanticTypeConfigurationPackageImpl extends EPackageImpl implements InvariantSemanticTypeConfigurationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass invariantSemanticTypeConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass invariantRuleConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass composedRuleConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass andRuleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass orRuleEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private InvariantSemanticTypeConfigurationPackageImpl() {
+ super(eNS_URI, InvariantSemanticTypeConfigurationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link InvariantSemanticTypeConfigurationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static InvariantSemanticTypeConfigurationPackage init() {
+ if (isInited) return (InvariantSemanticTypeConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(InvariantSemanticTypeConfigurationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ InvariantSemanticTypeConfigurationPackageImpl theInvariantSemanticTypeConfigurationPackage = (InvariantSemanticTypeConfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof InvariantSemanticTypeConfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new InvariantSemanticTypeConfigurationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ ExtendedtypesPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theInvariantSemanticTypeConfigurationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theInvariantSemanticTypeConfigurationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theInvariantSemanticTypeConfigurationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(InvariantSemanticTypeConfigurationPackage.eNS_URI, theInvariantSemanticTypeConfigurationPackage);
+ return theInvariantSemanticTypeConfigurationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInvariantSemanticTypeConfiguration() {
+ return invariantSemanticTypeConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInvariantSemanticTypeConfiguration_InvariantRuleConfiguration() {
+ return (EReference)invariantSemanticTypeConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInvariantRuleConfiguration() {
+ return invariantRuleConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getComposedRuleConfiguration() {
+ return composedRuleConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComposedRuleConfiguration_ComposedRules() {
+ return (EReference)composedRuleConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAndRule() {
+ return andRuleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOrRule() {
+ return orRuleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationFactory getInvariantSemanticTypeConfigurationFactory() {
+ return (InvariantSemanticTypeConfigurationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ invariantSemanticTypeConfigurationEClass = createEClass(INVARIANT_SEMANTIC_TYPE_CONFIGURATION);
+ createEReference(invariantSemanticTypeConfigurationEClass, INVARIANT_SEMANTIC_TYPE_CONFIGURATION__INVARIANT_RULE_CONFIGURATION);
+
+ invariantRuleConfigurationEClass = createEClass(INVARIANT_RULE_CONFIGURATION);
+
+ composedRuleConfigurationEClass = createEClass(COMPOSED_RULE_CONFIGURATION);
+ createEReference(composedRuleConfigurationEClass, COMPOSED_RULE_CONFIGURATION__COMPOSED_RULES);
+
+ andRuleEClass = createEClass(AND_RULE);
+
+ orRuleEClass = createEClass(OR_RULE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ ExtendedtypesPackage theExtendedtypesPackage = (ExtendedtypesPackage)EPackage.Registry.INSTANCE.getEPackage(ExtendedtypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ invariantSemanticTypeConfigurationEClass.getESuperTypes().add(theExtendedtypesPackage.getSemanticTypeConfiguration());
+ composedRuleConfigurationEClass.getESuperTypes().add(this.getInvariantRuleConfiguration());
+ andRuleEClass.getESuperTypes().add(this.getComposedRuleConfiguration());
+ orRuleEClass.getESuperTypes().add(this.getComposedRuleConfiguration());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(invariantSemanticTypeConfigurationEClass, InvariantSemanticTypeConfiguration.class, "InvariantSemanticTypeConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getInvariantSemanticTypeConfiguration_InvariantRuleConfiguration(), this.getInvariantRuleConfiguration(), null, "invariantRuleConfiguration", null, 1, 1, InvariantSemanticTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(invariantRuleConfigurationEClass, InvariantRuleConfiguration.class, "InvariantRuleConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(composedRuleConfigurationEClass, ComposedRuleConfiguration.class, "ComposedRuleConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getComposedRuleConfiguration_ComposedRules(), this.getInvariantRuleConfiguration(), null, "composedRules", null, 2, -1, ComposedRuleConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(andRuleEClass, AndRule.class, "AndRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(orRuleEClass, OrRule.class, "OrRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //InvariantSemanticTypeConfigurationPackageImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/OrRuleImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/OrRuleImpl.java
new file mode 100644
index 00000000000..70be112867d
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/impl/OrRuleImpl.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.OrRule;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Or Rule</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class OrRuleImpl extends ComposedRuleConfigurationImpl implements OrRule {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OrRuleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return InvariantSemanticTypeConfigurationPackage.Literals.OR_RULE;
+ }
+
+} //OrRuleImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationAdapterFactory.java
new file mode 100644
index 00000000000..51f9cf1bba8
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationAdapterFactory.java
@@ -0,0 +1,260 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement;
+import org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage
+ * @generated
+ */
+public class InvariantSemanticTypeConfigurationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static InvariantSemanticTypeConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = InvariantSemanticTypeConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantSemanticTypeConfigurationSwitch<Adapter> modelSwitch =
+ new InvariantSemanticTypeConfigurationSwitch<Adapter>() {
+ @Override
+ public Adapter caseInvariantSemanticTypeConfiguration(InvariantSemanticTypeConfiguration object) {
+ return createInvariantSemanticTypeConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseInvariantRuleConfiguration(InvariantRuleConfiguration object) {
+ return createInvariantRuleConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseComposedRuleConfiguration(ComposedRuleConfiguration object) {
+ return createComposedRuleConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseAndRule(AndRule object) {
+ return createAndRuleAdapter();
+ }
+ @Override
+ public Adapter caseOrRule(OrRule object) {
+ return createOrRuleAdapter();
+ }
+ @Override
+ public Adapter caseConfigurationElement(ConfigurationElement object) {
+ return createConfigurationElementAdapter();
+ }
+ @Override
+ public Adapter caseElementTypeConfiguration(ElementTypeConfiguration object) {
+ return createElementTypeConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseSemanticTypeConfiguration(SemanticTypeConfiguration object) {
+ return createSemanticTypeConfigurationAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration <em>Invariant Semantic Type Configuration</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.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfiguration
+ * @generated
+ */
+ public Adapter createInvariantSemanticTypeConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration <em>Invariant Rule Configuration</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.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration
+ * @generated
+ */
+ public Adapter createInvariantRuleConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.ComposedRuleConfiguration <em>Composed Rule Configuration</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.extendedtypes.invariantsemantictypeconfiguration.ComposedRuleConfiguration
+ * @generated
+ */
+ public Adapter createComposedRuleConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.AndRule <em>And Rule</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.extendedtypes.invariantsemantictypeconfiguration.AndRule
+ * @generated
+ */
+ public Adapter createAndRuleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.OrRule <em>Or Rule</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.extendedtypes.invariantsemantictypeconfiguration.OrRule
+ * @generated
+ */
+ public Adapter createOrRuleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement <em>Configuration Element</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.extendedtypes.ConfigurationElement
+ * @generated
+ */
+ public Adapter createConfigurationElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration <em>Element Type Configuration</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.extendedtypes.ElementTypeConfiguration
+ * @generated
+ */
+ public Adapter createElementTypeConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration <em>Semantic Type Configuration</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.extendedtypes.SemanticTypeConfiguration
+ * @generated
+ */
+ public Adapter createSemanticTypeConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //InvariantSemanticTypeConfigurationAdapterFactory
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceFactoryImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationResourceFactoryImpl.java
index 3cb6577f05c..7bb75b7016d 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceFactoryImpl.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationResourceFactoryImpl.java
@@ -1,53 +1,62 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.util;
-
-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.uml.tools.extendedtypes.applystereotypeactionconfiguration.util.ApplyStereotypeActionConfigurationResourceImpl
- * @generated
- */
-public class ApplyStereotypeActionConfigurationResourceFactoryImpl extends ResourceFactoryImpl {
- /**
- * Creates an instance of the resource factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ApplyStereotypeActionConfigurationResourceFactoryImpl() {
- super();
- }
-
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Resource createResource(URI uri) {
- XMLResource result = new ApplyStereotypeActionConfigurationResourceImpl(uri);
- result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
- result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
-
- result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
-
- result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
- result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
-
- result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
- return result;
- }
-
-} //ApplyStereotypeActionConfigurationResourceFactoryImpl
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.util;
+
+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.extendedtypes.invariantsemantictypeconfiguration.util.InvariantSemanticTypeConfigurationResourceImpl
+ * @generated
+ */
+public class InvariantSemanticTypeConfigurationResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new InvariantSemanticTypeConfigurationResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //InvariantSemanticTypeConfigurationResourceFactoryImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationResourceImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationResourceImpl.java
new file mode 100644
index 00000000000..241bee3a58f
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationResourceImpl.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.util.InvariantSemanticTypeConfigurationResourceFactoryImpl
+ * @generated
+ */
+public class InvariantSemanticTypeConfigurationResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //InvariantSemanticTypeConfigurationResourceImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationSwitch.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationSwitch.java
new file mode 100644
index 00000000000..37420a55b0b
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationSwitch.java
@@ -0,0 +1,261 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement;
+import org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage
+ * @generated
+ */
+public class InvariantSemanticTypeConfigurationSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static InvariantSemanticTypeConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = InvariantSemanticTypeConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case InvariantSemanticTypeConfigurationPackage.INVARIANT_SEMANTIC_TYPE_CONFIGURATION: {
+ InvariantSemanticTypeConfiguration invariantSemanticTypeConfiguration = (InvariantSemanticTypeConfiguration)theEObject;
+ T result = caseInvariantSemanticTypeConfiguration(invariantSemanticTypeConfiguration);
+ if (result == null) result = caseSemanticTypeConfiguration(invariantSemanticTypeConfiguration);
+ if (result == null) result = caseElementTypeConfiguration(invariantSemanticTypeConfiguration);
+ if (result == null) result = caseConfigurationElement(invariantSemanticTypeConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case InvariantSemanticTypeConfigurationPackage.INVARIANT_RULE_CONFIGURATION: {
+ InvariantRuleConfiguration invariantRuleConfiguration = (InvariantRuleConfiguration)theEObject;
+ T result = caseInvariantRuleConfiguration(invariantRuleConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case InvariantSemanticTypeConfigurationPackage.COMPOSED_RULE_CONFIGURATION: {
+ ComposedRuleConfiguration composedRuleConfiguration = (ComposedRuleConfiguration)theEObject;
+ T result = caseComposedRuleConfiguration(composedRuleConfiguration);
+ if (result == null) result = caseInvariantRuleConfiguration(composedRuleConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case InvariantSemanticTypeConfigurationPackage.AND_RULE: {
+ AndRule andRule = (AndRule)theEObject;
+ T result = caseAndRule(andRule);
+ if (result == null) result = caseComposedRuleConfiguration(andRule);
+ if (result == null) result = caseInvariantRuleConfiguration(andRule);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case InvariantSemanticTypeConfigurationPackage.OR_RULE: {
+ OrRule orRule = (OrRule)theEObject;
+ T result = caseOrRule(orRule);
+ if (result == null) result = caseComposedRuleConfiguration(orRule);
+ if (result == null) result = caseInvariantRuleConfiguration(orRule);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Invariant Semantic Type Configuration</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>Invariant Semantic Type Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInvariantSemanticTypeConfiguration(InvariantSemanticTypeConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Invariant Rule Configuration</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>Invariant Rule Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInvariantRuleConfiguration(InvariantRuleConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Composed Rule Configuration</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>Composed Rule Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseComposedRuleConfiguration(ComposedRuleConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>And Rule</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>And Rule</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAndRule(AndRule object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Or Rule</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>Or Rule</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOrRule(OrRule object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Configuration Element</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>Configuration Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfigurationElement(ConfigurationElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element Type Configuration</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>Element Type Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementTypeConfiguration(ElementTypeConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Semantic Type Configuration</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>Semantic Type Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSemanticTypeConfiguration(SemanticTypeConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //InvariantSemanticTypeConfigurationSwitch
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationXMLProcessor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationXMLProcessor.java
new file mode 100644
index 00000000000..29c85ba6520
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/util/InvariantSemanticTypeConfigurationXMLProcessor.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantSemanticTypeConfigurationXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantSemanticTypeConfigurationXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ InvariantSemanticTypeConfigurationPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the InvariantSemanticTypeConfigurationResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new InvariantSemanticTypeConfigurationResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new InvariantSemanticTypeConfigurationResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //InvariantSemanticTypeConfigurationXMLProcessor
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesAdapterFactory.java
index bc9ac57f2ee..dae39a45162 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesAdapterFactory.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesAdapterFactory.java
@@ -1,217 +1,387 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
-import org.eclipse.papyrus.infra.extendedtypes.IconEntry;
-import org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.PreActionConfiguration;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage
- * @generated
- */
-public class ExtendedtypesAdapterFactory extends AdapterFactoryImpl {
- /**
- * The cached model package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static ExtendedtypesPackage modelPackage;
-
- /**
- * Creates an instance of the adapter factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ExtendedtypesAdapterFactory() {
- if (modelPackage == null) {
- modelPackage = ExtendedtypesPackage.eINSTANCE;
- }
- }
-
- /**
- * Returns whether this factory is applicable for the type of the object.
- * <!-- begin-user-doc -->
- * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
- * <!-- end-user-doc -->
- * @return whether this factory is applicable for the type of the object.
- * @generated
- */
- @Override
- public boolean isFactoryForType(Object object) {
- if (object == modelPackage) {
- return true;
- }
- if (object instanceof EObject) {
- return ((EObject)object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch that delegates to the <code>createXXX</code> methods.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ExtendedtypesSwitch<Adapter> modelSwitch =
- new ExtendedtypesSwitch<Adapter>() {
- @Override
- public Adapter caseExtendedElementTypeSet(ExtendedElementTypeSet object) {
- return createExtendedElementTypeSetAdapter();
- }
- @Override
- public Adapter caseExtendedElementTypeConfiguration(ExtendedElementTypeConfiguration object) {
- return createExtendedElementTypeConfigurationAdapter();
- }
- @Override
- public Adapter caseIconEntry(IconEntry object) {
- return createIconEntryAdapter();
- }
- @Override
- public Adapter caseActionConfiguration(ActionConfiguration object) {
- return createActionConfigurationAdapter();
- }
- @Override
- public Adapter casePreActionConfiguration(PreActionConfiguration object) {
- return createPreActionConfigurationAdapter();
- }
- @Override
- public Adapter casePostActionConfiguration(PostActionConfiguration object) {
- return createPostActionConfigurationAdapter();
- }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
-
- /**
- * Creates an adapter for the <code>target</code>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param target the object to adapt.
- * @return the adapter for the <code>target</code>.
- * @generated
- */
- @Override
- public Adapter createAdapter(Notifier target) {
- return modelSwitch.doSwitch((EObject)target);
- }
-
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet <em>Extended Element Type Set</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.extendedtypes.ExtendedElementTypeSet
- * @generated
- */
- public Adapter createExtendedElementTypeSetAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration <em>Extended Element Type Configuration</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.extendedtypes.ExtendedElementTypeConfiguration
- * @generated
- */
- public Adapter createExtendedElementTypeConfigurationAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry <em>Icon Entry</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.extendedtypes.IconEntry
- * @generated
- */
- public Adapter createIconEntryAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration <em>Action Configuration</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.extendedtypes.ActionConfiguration
- * @generated
- */
- public Adapter createActionConfigurationAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.PreActionConfiguration <em>Pre Action Configuration</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.extendedtypes.PreActionConfiguration
- * @generated
- */
- public Adapter createPreActionConfigurationAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration <em>Post Action Configuration</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.extendedtypes.PostActionConfiguration
- * @generated
- */
- public Adapter createPostActionConfigurationAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case.
- * <!-- begin-user-doc -->
- * This default implementation returns null.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter() {
- return null;
- }
-
-} //ExtendedtypesAdapterFactory
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.infra.extendedtypes.*;
+
+/**
+ * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides
+ * an adapter <code>createXXX</code> method for each class of the model. <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage
+ * @generated
+ */
+public class ExtendedtypesAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static ExtendedtypesPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedtypesAdapterFactory() {
+ if(modelPackage == null) {
+ modelPackage = ExtendedtypesPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc --> This implementation returns <code>true</code> if
+ * the object is either the model's package or is an instance object of the
+ * model. <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if(object == modelPackage) {
+ return true;
+ }
+ if(object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExtendedtypesSwitch<Adapter> modelSwitch = new ExtendedtypesSwitch<Adapter>() {
+
+ @Override
+ public Adapter caseExtendedElementTypeSet(ExtendedElementTypeSet object) {
+ return createExtendedElementTypeSetAdapter();
+ }
+
+ @Override
+ public Adapter caseElementTypeConfiguration(ElementTypeConfiguration object) {
+ return createElementTypeConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseIconEntry(IconEntry object) {
+ return createIconEntryAdapter();
+ }
+
+ @Override
+ public Adapter caseConfigurationElement(ConfigurationElement object) {
+ return createConfigurationElementAdapter();
+ }
+
+ @Override
+ public Adapter caseViewTypeAdviceConfiguration(ViewTypeAdviceConfiguration object) {
+ return createViewTypeAdviceConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseSemanticTypeAdviceConfiguration(SemanticTypeAdviceConfiguration object) {
+ return createSemanticTypeAdviceConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseMatcherConfiguration(MatcherConfiguration object) {
+ return createMatcherConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseActionConfiguration(ActionConfiguration object) {
+ return createActionConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseViewActionConfiguration(ViewActionConfiguration object) {
+ return createViewActionConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseSemanticActionConfiguration(SemanticActionConfiguration object) {
+ return createSemanticActionConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseSemanticTypeConfiguration(SemanticTypeConfiguration object) {
+ return createSemanticTypeConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseViewTypeConfiguration(ViewTypeConfiguration object) {
+ return createViewTypeConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseElementTypeAdviceConfiguration(ElementTypeAdviceConfiguration object) {
+ return createElementTypeAdviceConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param target
+ * the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet
+ * <em>Extended Element Type Set</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.extendedtypes.ExtendedElementTypeSet
+ * @generated
+ */
+ public Adapter createExtendedElementTypeSetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration
+ * <em>Element Type Configuration</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.extendedtypes.ElementTypeConfiguration
+ * @generated
+ */
+ public Adapter createElementTypeConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.IconEntry <em>Icon Entry</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.extendedtypes.IconEntry
+ * @generated
+ */
+ public Adapter createIconEntryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ConfigurationElement
+ * <em>Configuration Element</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.extendedtypes.ConfigurationElement
+ * @generated
+ */
+ public Adapter createConfigurationElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ViewTypeAdviceConfiguration
+ * <em>View Type Advice Configuration</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.extendedtypes.ViewTypeAdviceConfiguration
+ * @generated
+ */
+ public Adapter createViewTypeAdviceConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.SemanticTypeAdviceConfiguration
+ * <em>Semantic Type Advice Configuration</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.extendedtypes.SemanticTypeAdviceConfiguration
+ * @generated
+ */
+ public Adapter createSemanticTypeAdviceConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.MatcherConfiguration
+ * <em>Matcher Configuration</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.extendedtypes.MatcherConfiguration
+ * @generated
+ */
+ public Adapter createMatcherConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration <em>Action Configuration</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.extendedtypes.ActionConfiguration
+ * @generated
+ */
+ public Adapter createActionConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ViewActionConfiguration
+ * <em>View Action Configuration</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.extendedtypes.ViewActionConfiguration
+ * @generated
+ */
+ public Adapter createViewActionConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.SemanticActionConfiguration
+ * <em>Semantic Action Configuration</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.extendedtypes.SemanticActionConfiguration
+ * @generated
+ */
+ public Adapter createSemanticActionConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.SemanticTypeConfiguration
+ * <em>Semantic Type Configuration</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.extendedtypes.SemanticTypeConfiguration
+ * @generated
+ */
+ public Adapter createSemanticTypeConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ViewTypeConfiguration
+ * <em>View Type Configuration</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.extendedtypes.ViewTypeConfiguration
+ * @generated
+ */
+ public Adapter createViewTypeConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ElementTypeAdviceConfiguration
+ * <em>Element Type Advice Configuration</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.extendedtypes.ElementTypeAdviceConfiguration
+ * @generated
+ */
+ public Adapter createElementTypeAdviceConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc --> This
+ * default implementation returns null. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+} // ExtendedtypesAdapterFactory
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesResourceFactoryImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesResourceFactoryImpl.java
index 0fda74342f9..42f229fadbe 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesResourceFactoryImpl.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesResourceFactoryImpl.java
@@ -1,53 +1,61 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes.util;
-
-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.extendedtypes.util.ExtendedtypesResourceImpl
- * @generated
- */
-public class ExtendedtypesResourceFactoryImpl extends ResourceFactoryImpl {
- /**
- * Creates an instance of the resource factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ExtendedtypesResourceFactoryImpl() {
- super();
- }
-
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Resource createResource(URI uri) {
- XMLResource result = new ExtendedtypesResourceImpl(uri);
- result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
- result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
-
- result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
-
- result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
- result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
-
- result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
- return result;
- }
-
-} //ExtendedtypesResourceFactoryImpl
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.util;
+
+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.extendedtypes.util.ExtendedtypesResourceImpl
+ * @generated
+ */
+public class ExtendedtypesResourceFactoryImpl extends ResourceFactoryImpl {
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedtypesResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new ExtendedtypesResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+} // ExtendedtypesResourceFactoryImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesResourceImpl.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesResourceImpl.java
index eb895d14091..7b9d82f84b2 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesResourceImpl.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesResourceImpl.java
@@ -1,31 +1,40 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes.util;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource </b> associated with the package.
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.util.ExtendedtypesResourceFactoryImpl
- * @generated
- */
-public class ExtendedtypesResourceImpl extends XMLResourceImpl {
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param uri the URI of the new resource.
- * @generated
- */
- public ExtendedtypesResourceImpl(URI uri) {
- super(uri);
- }
-
-} //ExtendedtypesResourceImpl
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.util.ExtendedtypesResourceFactoryImpl
+ * @generated
+ */
+public class ExtendedtypesResourceImpl extends XMLResourceImpl {
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param uri
+ * the URI of the new resource.
+ * @generated
+ */
+ public ExtendedtypesResourceImpl(URI uri) {
+ super(uri);
+ }
+} // ExtendedtypesResourceImpl
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesSwitch.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesSwitch.java
index e38f3a7a666..9df036a72c8 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesSwitch.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesSwitch.java
@@ -1,225 +1,444 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes.util;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.util.Switch;
-import org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
-import org.eclipse.papyrus.infra.extendedtypes.IconEntry;
-import org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.PreActionConfiguration;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage
- * @generated
- */
-public class ExtendedtypesSwitch<T> extends Switch<T> {
- /**
- * The cached model package
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static ExtendedtypesPackage modelPackage;
-
- /**
- * Creates an instance of the switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ExtendedtypesSwitch() {
- if (modelPackage == null) {
- modelPackage = ExtendedtypesPackage.eINSTANCE;
- }
- }
-
- /**
- * Checks whether this is a switch for the given package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @parameter ePackage the package in question.
- * @return whether this is a switch for the given package.
- * @generated
- */
- @Override
- protected boolean isSwitchFor(EPackage ePackage) {
- return ePackage == modelPackage;
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- @Override
- protected T doSwitch(int classifierID, EObject theEObject) {
- switch (classifierID) {
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET: {
- ExtendedElementTypeSet extendedElementTypeSet = (ExtendedElementTypeSet)theEObject;
- T result = caseExtendedElementTypeSet(extendedElementTypeSet);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION: {
- ExtendedElementTypeConfiguration extendedElementTypeConfiguration = (ExtendedElementTypeConfiguration)theEObject;
- T result = caseExtendedElementTypeConfiguration(extendedElementTypeConfiguration);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ExtendedtypesPackage.ICON_ENTRY: {
- IconEntry iconEntry = (IconEntry)theEObject;
- T result = caseIconEntry(iconEntry);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ExtendedtypesPackage.ACTION_CONFIGURATION: {
- ActionConfiguration actionConfiguration = (ActionConfiguration)theEObject;
- T result = caseActionConfiguration(actionConfiguration);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ExtendedtypesPackage.PRE_ACTION_CONFIGURATION: {
- PreActionConfiguration preActionConfiguration = (PreActionConfiguration)theEObject;
- T result = casePreActionConfiguration(preActionConfiguration);
- if (result == null) result = caseActionConfiguration(preActionConfiguration);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ExtendedtypesPackage.POST_ACTION_CONFIGURATION: {
- PostActionConfiguration postActionConfiguration = (PostActionConfiguration)theEObject;
- T result = casePostActionConfiguration(postActionConfiguration);
- if (result == null) result = caseActionConfiguration(postActionConfiguration);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- default: return defaultCase(theEObject);
- }
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Extended Element Type Set</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>Extended Element Type Set</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseExtendedElementTypeSet(ExtendedElementTypeSet object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Extended Element Type Configuration</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>Extended Element Type Configuration</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseExtendedElementTypeConfiguration(ExtendedElementTypeConfiguration object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Icon Entry</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>Icon Entry</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseIconEntry(IconEntry object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Action Configuration</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>Action Configuration</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseActionConfiguration(ActionConfiguration object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Pre Action Configuration</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>Pre Action Configuration</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T casePreActionConfiguration(PreActionConfiguration object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Post Action Configuration</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>Post Action Configuration</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T casePostActionConfiguration(PostActionConfiguration object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch, but this is the last case anyway.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject)
- * @generated
- */
- @Override
- public T defaultCase(EObject object) {
- return null;
- }
-
-} //ExtendedtypesSwitch
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.infra.extendedtypes.*;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance
+ * hierarchy. It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object and proceeding up the
+ * inheritance hierarchy until a non-null result is returned, which is the
+ * result of the switch. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage
+ * @generated
+ */
+public class ExtendedtypesSwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static ExtendedtypesPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedtypesSwitch() {
+ if(modelPackage == null) {
+ modelPackage = ExtendedtypesPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch(classifierID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET:
+ {
+ ExtendedElementTypeSet extendedElementTypeSet = (ExtendedElementTypeSet)theEObject;
+ T result = caseExtendedElementTypeSet(extendedElementTypeSet);
+ if(result == null)
+ result = caseConfigurationElement(extendedElementTypeSet);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.ELEMENT_TYPE_CONFIGURATION:
+ {
+ ElementTypeConfiguration elementTypeConfiguration = (ElementTypeConfiguration)theEObject;
+ T result = caseElementTypeConfiguration(elementTypeConfiguration);
+ if(result == null)
+ result = caseConfigurationElement(elementTypeConfiguration);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.ICON_ENTRY:
+ {
+ IconEntry iconEntry = (IconEntry)theEObject;
+ T result = caseIconEntry(iconEntry);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.CONFIGURATION_ELEMENT:
+ {
+ ConfigurationElement configurationElement = (ConfigurationElement)theEObject;
+ T result = caseConfigurationElement(configurationElement);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.VIEW_TYPE_ADVICE_CONFIGURATION:
+ {
+ ViewTypeAdviceConfiguration viewTypeAdviceConfiguration = (ViewTypeAdviceConfiguration)theEObject;
+ T result = caseViewTypeAdviceConfiguration(viewTypeAdviceConfiguration);
+ if(result == null)
+ result = caseElementTypeAdviceConfiguration(viewTypeAdviceConfiguration);
+ if(result == null)
+ result = caseConfigurationElement(viewTypeAdviceConfiguration);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.SEMANTIC_TYPE_ADVICE_CONFIGURATION:
+ {
+ SemanticTypeAdviceConfiguration semanticTypeAdviceConfiguration = (SemanticTypeAdviceConfiguration)theEObject;
+ T result = caseSemanticTypeAdviceConfiguration(semanticTypeAdviceConfiguration);
+ if(result == null)
+ result = caseElementTypeAdviceConfiguration(semanticTypeAdviceConfiguration);
+ if(result == null)
+ result = caseConfigurationElement(semanticTypeAdviceConfiguration);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.MATCHER_CONFIGURATION:
+ {
+ MatcherConfiguration matcherConfiguration = (MatcherConfiguration)theEObject;
+ T result = caseMatcherConfiguration(matcherConfiguration);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.ACTION_CONFIGURATION:
+ {
+ ActionConfiguration actionConfiguration = (ActionConfiguration)theEObject;
+ T result = caseActionConfiguration(actionConfiguration);
+ if(result == null)
+ result = caseConfigurationElement(actionConfiguration);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.VIEW_ACTION_CONFIGURATION:
+ {
+ ViewActionConfiguration viewActionConfiguration = (ViewActionConfiguration)theEObject;
+ T result = caseViewActionConfiguration(viewActionConfiguration);
+ if(result == null)
+ result = caseActionConfiguration(viewActionConfiguration);
+ if(result == null)
+ result = caseConfigurationElement(viewActionConfiguration);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.SEMANTIC_ACTION_CONFIGURATION:
+ {
+ SemanticActionConfiguration semanticActionConfiguration = (SemanticActionConfiguration)theEObject;
+ T result = caseSemanticActionConfiguration(semanticActionConfiguration);
+ if(result == null)
+ result = caseActionConfiguration(semanticActionConfiguration);
+ if(result == null)
+ result = caseConfigurationElement(semanticActionConfiguration);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.SEMANTIC_TYPE_CONFIGURATION:
+ {
+ SemanticTypeConfiguration semanticTypeConfiguration = (SemanticTypeConfiguration)theEObject;
+ T result = caseSemanticTypeConfiguration(semanticTypeConfiguration);
+ if(result == null)
+ result = caseElementTypeConfiguration(semanticTypeConfiguration);
+ if(result == null)
+ result = caseConfigurationElement(semanticTypeConfiguration);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.VIEW_TYPE_CONFIGURATION:
+ {
+ ViewTypeConfiguration viewTypeConfiguration = (ViewTypeConfiguration)theEObject;
+ T result = caseViewTypeConfiguration(viewTypeConfiguration);
+ if(result == null)
+ result = caseElementTypeConfiguration(viewTypeConfiguration);
+ if(result == null)
+ result = caseConfigurationElement(viewTypeConfiguration);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.ELEMENT_TYPE_ADVICE_CONFIGURATION:
+ {
+ ElementTypeAdviceConfiguration elementTypeAdviceConfiguration = (ElementTypeAdviceConfiguration)theEObject;
+ T result = caseElementTypeAdviceConfiguration(elementTypeAdviceConfiguration);
+ if(result == null)
+ result = caseConfigurationElement(elementTypeAdviceConfiguration);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Extended Element Type Set</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>Extended Element Type Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExtendedElementTypeSet(ExtendedElementTypeSet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element Type Configuration</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>Element Type Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementTypeConfiguration(ElementTypeConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Icon Entry</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>Icon Entry</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIconEntry(IconEntry object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Configuration Element</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>Configuration Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfigurationElement(ConfigurationElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>View Type Advice Configuration</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>View Type Advice Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseViewTypeAdviceConfiguration(ViewTypeAdviceConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Semantic Type Advice Configuration</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>Semantic Type Advice Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSemanticTypeAdviceConfiguration(SemanticTypeAdviceConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Matcher Configuration</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>Matcher Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMatcherConfiguration(MatcherConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Action Configuration</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>Action Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActionConfiguration(ActionConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>View Action Configuration</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>View Action Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseViewActionConfiguration(ViewActionConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Semantic Action Configuration</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>Semantic Action Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSemanticActionConfiguration(SemanticActionConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Semantic Type Configuration</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>Semantic Type Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSemanticTypeConfiguration(SemanticTypeConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>View Type Configuration</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>View Type Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseViewTypeConfiguration(ViewTypeConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element Type Advice Configuration</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>Element Type Advice Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementTypeAdviceConfiguration(ElementTypeAdviceConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch, but this is
+ * the last case anyway. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+} // ExtendedtypesSwitch
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesXMLProcessor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesXMLProcessor.java
index 96c0319a58c..697e270b66a 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesXMLProcessor.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src-gen/org/eclipse/papyrus/infra/extendedtypes/util/ExtendedtypesXMLProcessor.java
@@ -1,51 +1,61 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.extendedtypes.util;
-
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
-
-/**
- * This class contains helper methods to serialize and deserialize XML documents
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class ExtendedtypesXMLProcessor extends XMLProcessor {
-
- /**
- * Public constructor to instantiate the helper.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ExtendedtypesXMLProcessor() {
- super((EPackage.Registry.INSTANCE));
- ExtendedtypesPackage.eINSTANCE.eClass();
- }
-
- /**
- * Register for "*" and "xml" file extensions the ExtendedtypesResourceFactoryImpl factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected Map<String, Resource.Factory> getRegistrations() {
- if (registrations == null) {
- super.getRegistrations();
- registrations.put(XML_EXTENSION, new ExtendedtypesResourceFactoryImpl());
- registrations.put(STAR_EXTENSION, new ExtendedtypesResourceFactoryImpl());
- }
- return registrations;
- }
-
-} //ExtendedtypesXMLProcessor
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.extendedtypes.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ExtendedtypesXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtendedtypesXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ ExtendedtypesPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the ExtendedtypesResourceFactoryImpl factory.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if(registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new ExtendedtypesResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new ExtendedtypesResourceFactoryImpl());
+ }
+ return registrations;
+ }
+} // ExtendedtypesXMLProcessor
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/Activator.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/Activator.java
index 6a325c5357d..712e63367a5 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/Activator.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/Activator.java
@@ -1,58 +1,59 @@
-package org.eclipse.papyrus.infra.extendedtypes;
-
-import org.eclipse.papyrus.infra.core.log.LogHelper;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
- // The plug-in ID
- public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.extendedtypes"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator plugin;
-
- /** Logging helper */
- public static LogHelper log;
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- log = new LogHelper(this);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context) throws Exception {
- log = null;
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
-}
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.extendedtypes"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /** Logging helper */
+ public static LogHelper log;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ log = new LogHelper(this);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ log = null;
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ElementTypeSetUtils.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ElementTypeSetUtils.java
new file mode 100644
index 00000000000..762f42e18ae
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ElementTypeSetUtils.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes;
+
+
+/**
+ * Utility class to manipulate {@link ExtendedElementTypeSet}.
+ */
+public class ElementTypeSetUtils {
+
+ /**
+ * Loads
+ * @param extendedElementTypeSet
+ */
+ public static void load(ExtendedElementTypeSet extendedElementTypeSet) {
+
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedEditHelperAdvice.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedEditHelperAdvice.java_bak
index c9d4e184520..a91f9ecb899 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedEditHelperAdvice.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedEditHelperAdvice.java_bak
@@ -1,107 +1,107 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes;
-
-import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.GetEditContextRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
-import org.eclipse.papyrus.infra.extendedtypes.providers.ExtendedElementTypeActionService;
-import org.eclipse.papyrus.infra.extendedtypes.providers.ProviderNotFoundException;
-import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
-
-/**
- * Edit helper Advice for extended element types. This allows modification of the configure request executed right after the creation of the element
- */
-public class ExtendedEditHelperAdvice extends AbstractEditHelperAdvice {
-
- /**
- * Constructor.
- *
- */
- public ExtendedEditHelperAdvice() {
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean approveRequest(IEditCommandRequest request) {
- return super.approveRequest(request);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected ICommand getBeforeEditContextCommand(GetEditContextRequest request) {
- return super.getBeforeEditContextCommand(request);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected ICommand getBeforeCreateCommand(CreateElementRequest request) {
- return super.getBeforeCreateCommand(request);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected ICommand getAfterConfigureCommand(ConfigureRequest request) {
- // for the list of post actions, returns a list of commands.
- // there should be a factory that delivers commands from the model
-
- CompositeCommand compositeCommand = new CompositeCommand("AfterConfigureCommand");
- IElementType type = request.getTypeToConfigure();
- if(type instanceof IExtendedHintedElementType) {
- IExtendedHintedElementType extendedHintedElementType = (IExtendedHintedElementType)type;
- ExtendedElementTypeConfiguration configuration = extendedHintedElementType.getConfiguration();
- for(PostActionConfiguration postActionConfiguration : configuration.getPostAction()) {
- ICommand command = null;
- try {
- command = ExtendedElementTypeActionService.getInstance().getICommand(request.getElementsToEdit(), postActionConfiguration);
- } catch (ProviderNotFoundException e) {
- Activator.log.error(e);
- }
- if(command != null) {
- compositeCommand.add(command);
- }
- }
-
- // return the composite command only if it is not empty
- if(!compositeCommand.isEmpty()) {
- return compositeCommand;
- }
- }
-
-
- // post-action. Here, this is null.
- return super.getAfterConfigureCommand(request);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected ICommand getAfterCreateCommand(CreateElementRequest request) {
- return super.getAfterCreateCommand(request);
- }
-
-
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.GetEditContextRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.infra.extendedtypes.providers.ExtendedElementTypeActionService;
+import org.eclipse.papyrus.infra.extendedtypes.providers.ProviderNotFoundException;
+import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
+
+/**
+ * Edit helper Advice for extended element types. This allows modification of the configure request executed right after the creation of the element
+ */
+public class ExtendedEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * Constructor.
+ *
+ */
+ public ExtendedEditHelperAdvice() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean approveRequest(IEditCommandRequest request) {
+ return super.approveRequest(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getBeforeEditContextCommand(GetEditContextRequest request) {
+ return super.getBeforeEditContextCommand(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getBeforeCreateCommand(CreateElementRequest request) {
+ return super.getBeforeCreateCommand(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getAfterConfigureCommand(ConfigureRequest request) {
+ // for the list of post actions, returns a list of commands.
+ // there should be a factory that delivers commands from the model
+
+ CompositeCommand compositeCommand = new CompositeCommand("AfterConfigureCommand");
+ IElementType type = request.getTypeToConfigure();
+ if(type instanceof IExtendedHintedElementType) {
+ IExtendedHintedElementType extendedHintedElementType = (IExtendedHintedElementType)type;
+ ExtendedElementTypeConfiguration configuration = extendedHintedElementType.getConfiguration();
+ for(PostActionConfiguration postActionConfiguration : configuration.getPostAction()) {
+ ICommand command = null;
+ try {
+ command = ExtendedElementTypeActionService.getInstance().getICommand(request.getElementsToEdit(), postActionConfiguration);
+ } catch (ProviderNotFoundException e) {
+ Activator.log.error(e);
+ }
+ if(command != null) {
+ compositeCommand.add(command);
+ }
+ }
+
+ // return the composite command only if it is not empty
+ if(!compositeCommand.isEmpty()) {
+ return compositeCommand;
+ }
+ }
+
+
+ // post-action. Here, this is null.
+ return super.getAfterConfigureCommand(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getAfterCreateCommand(CreateElementRequest request) {
+ return super.getAfterCreateCommand(request);
+ }
+
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSetRegistry.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSetRegistry.java
new file mode 100644
index 00000000000..cacc88b2c66
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSetRegistry.java
@@ -0,0 +1,459 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import java.io.IOException;
+import java.lang.ref.WeakReference;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Dictionary;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.gmf.runtime.emf.type.core.ClientContextManager;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IClientContext;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.extendedtypes.preferences.ExtendedTypesPreferences;
+import org.eclipse.papyrus.infra.services.edit.internal.context.TypeContext;
+import org.osgi.framework.Bundle;
+
+
+/**
+ * Registry to manage load/unloaded {@link ExtendedElementTypeSet}.
+ */
+public class ExtendedElementTypeSetRegistry {
+
+ /** private singleton instance */
+ private static ExtendedElementTypeSetRegistry registry;
+
+ /** list of retrieved extended type sets */
+ protected List<ExtendedElementTypeSet> extendedTypeSets = null;
+
+ /** unique resource set to load all extended types models */
+ protected ResourceSet extendedTypesResourceSet = null;
+
+ protected List<ExtendedElementTypeSet> loadedExtendedElementTypeSets = null;
+
+ protected Map<String, IExtendedElementTypeFactory<ElementTypeConfiguration>> configurationTypeToElementTypeFactory = null;
+
+ protected List<String> configurationTypeFactoryExceptions = null;
+
+ /**
+ * returns the singleton instance of this registry
+ *
+ * @return the singleton instance of this registry
+ */
+ public static synchronized ExtendedElementTypeSetRegistry getInstance() {
+ if(registry == null) {
+ registry = new ExtendedElementTypeSetRegistry();
+ registry.init();
+ }
+ return registry;
+ }
+
+ /**
+ * Inits the registry.
+ */
+ protected void init() {
+ // 0. Resets values
+ extendedTypesResourceSet = null;
+ extendedTypeSets = null;
+ configurationTypeToElementTypeFactory = new HashMap<String, IExtendedElementTypeFactory<ElementTypeConfiguration>>();
+
+ // 1. creates the resource set
+ extendedTypesResourceSet = createResourceSet();
+
+ // 2. creates the list only when registry is acceded for the first time, (or on reload?)
+ extendedTypeSets = loadExtendedTypeSets();
+
+// // 3. loads each extended types sets, and creates types
+// for(ExtendedElementTypeSet extendedElementTypeSet : extendedTypeSets) {
+// loadExtendedElementTypeSet(extendedElementTypeSet);
+// }
+ }
+
+ /**
+ * Loads the specified extended element type set.
+ * This does not take care to unload a similar set (a set with the same id) before loading. This should be handled before calling this method.
+ * @param extendedElementTypeSet {@link ExtendedElementTypeSet} to load.
+ */
+ public void loadExtendedElementTypeSet(ExtendedElementTypeSet extendedElementTypeSet) {
+ IClientContext context;
+ try {
+ context = TypeContext.getContext();
+ } catch (ServiceException e1) {
+ Activator.log.error(e1);
+ return;
+ }
+
+ List<ElementTypeConfiguration> elementTypeConfigurations = extendedElementTypeSet.getElementType();
+
+ for(ElementTypeConfiguration configuration : elementTypeConfigurations) {
+ // load class associated to the configuration model => read extension point that defines this kind of configuration.
+ String configurationType = configuration.eClass().getInstanceTypeName();
+ // retrieve the factory for a given kind of configuration
+ IExtendedElementTypeFactory factory = configurationTypeToElementTypeFactory.get(configurationType);
+ // check factory is not on the exception table
+
+
+ if(factory ==null && isNotInFactoryExceptionList(configurationType)) {
+ Class<IExtendedElementTypeFactory> factoryClass = retrieveFactoryClassFromExtensionPoint(configurationType);
+ if(factoryClass !=null) {
+ try {
+ factory = factoryClass.newInstance();
+ } catch (InstantiationException e) {
+ if(configurationTypeFactoryExceptions== null) {
+ configurationTypeFactoryExceptions = new ArrayList<String>();
+ }
+ configurationTypeFactoryExceptions.add(configurationType);
+ } catch (IllegalAccessException e) {
+ if(configurationTypeFactoryExceptions== null) {
+ configurationTypeFactoryExceptions = new ArrayList<String>();
+ }
+ configurationTypeFactoryExceptions.add(configurationType);
+ }
+ configurationTypeToElementTypeFactory.put(configurationType, factory);
+ }
+ }
+ if(factory != null) {
+ ISpecializationType type = factory.createElementType(configuration);
+ // register element Type
+ ElementTypeRegistry.getInstance().register(type);
+ context.bindId(type.getId());
+ }
+ // TODO handle errors here: no factory, impossible to create element type from configuration, impossible to register, etc.
+ }
+ }
+
+
+
+ /**
+ * check this configuration type has not already caused issues du
+ * @param configurationType
+ * @return
+ */
+ protected boolean isNotInFactoryExceptionList(String configurationType) {
+ if(configurationTypeFactoryExceptions ==null) {
+ return true;
+ }
+ // this is not null, check the configuration type is not in the list
+ return !configurationTypeFactoryExceptions.contains(configurationType);
+
+ }
+
+ /**
+ * Returns the {@link IExtendedElementTypeFactory} class used to instantiate element type for the given configuration
+ * @return the {@link IExtendedElementTypeFactory} found or <code>null</code> if none was found
+ */
+ @SuppressWarnings("unchecked")
+ protected Class<IExtendedElementTypeFactory> retrieveFactoryClassFromExtensionPoint(String configurationType) {
+ IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(IExtendedTypeConfigurationExtensionPoint.EXTENSION_POINT_ID);
+ for(IConfigurationElement configurationElement : elements) {
+
+ String eCoreClassName = configurationElement.getAttribute(IExtendedTypeConfigurationExtensionPoint.CONFIGURATION_CLASS);
+
+ if(configurationType.equals(eCoreClassName)) {
+
+ // retrieve factory to load
+ String factoryClassName = configurationElement.getAttribute(IExtendedTypeConfigurationExtensionPoint.FACTORY_CLASS);
+ return (Class<IExtendedElementTypeFactory>)loadClass(factoryClassName, configurationElement.getContributor().getName());
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Retrieves and loads extended type sets registered in the platform. It should also load configuration sets from the workspace.
+ */
+ protected List<ExtendedElementTypeSet> loadExtendedTypeSets() {
+ List<ExtendedElementTypeSet> extendedElementTypeSets = new ArrayList<ExtendedElementTypeSet>();
+
+ // 1. retrieve from the workspace
+ // TODO implement retrieve from workspace. could be an activated/deactivated set of additions selected in the workspace
+
+ // 2. retrieve from the platform.
+ List<ExtendedElementTypeSet> registeredSets = loadExtendedTypeSetsFromPlatform();
+ if(registeredSets != null && !registeredSets.isEmpty()) {
+ extendedElementTypeSets.addAll(registeredSets);
+ }
+
+ // load each extended element type set
+ for(ExtendedElementTypeSet extendedElementTypeSet : extendedElementTypeSets) {
+ loadExtendedElementTypeSet(extendedElementTypeSet);
+ }
+
+ return extendedElementTypeSets;
+ }
+
+ /**
+ * Loads the extensions in the platform
+ *
+ * @return the list of extension registered in the platform
+ */
+ protected List<ExtendedElementTypeSet> loadExtendedTypeSetsFromPlatform() {
+ List<ExtendedElementTypeSet> platformElementTypeSets = new ArrayList<ExtendedElementTypeSet>();
+
+ IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(IExtendedElementTypeSetExtensionPoint.EXTENSION_POINT_ID);
+ // for each element, parses and retrieve the model file. then loads it and returns the root element
+ for(IConfigurationElement element : elements) {
+ String modelPath = element.getAttribute(IExtendedElementTypeSetExtensionPoint.PATH);
+ String extendedTypeSetId = element.getAttribute(IExtendedElementTypeSetExtensionPoint.ID);
+ String contributorID = element.getContributor().getName();
+ if(Platform.inDebugMode()) {
+ Activator.log.debug("[Reading extension point]");
+ Activator.log.debug("- Path to the model: " + modelPath);
+ Activator.log.debug("- id of the container bundle: " + contributorID);
+ Activator.log.debug("- id of the extended type set: " + extendedTypeSetId);
+ }
+ ExtendedElementTypeSet set = getExtendedElementTypeSet(extendedTypeSetId, modelPath, contributorID);
+ if(set != null) {
+ platformElementTypeSets.add(set);
+ }
+ }
+
+ return platformElementTypeSets;
+ }
+
+ /**
+ * <p>
+ * Loads the resource containing the extended element type set model.
+ * </p>
+ * <p>
+ * It looks the model file in the fragments first, then in the plugin itself.<BR>
+ * If this is already a fragment, it should look in the fragment only
+ * </p>
+ *
+ * @param extendedTypesID
+ * id of the extended type set to load
+ * @param modelPath
+ * path of the model in the bundle
+ * @param bundleId
+ * id of the bundle containing the model file
+ * @return the loaded file or <code>null</code> if some problem occured during loading
+ */
+ protected ExtendedElementTypeSet getExtendedElementTypeSet(String extendedTypesID, String modelPath, String bundleId) {
+ // 1. look in preferences.
+ String filePath = ExtendedTypesPreferences.getExtendedTypesRedefinition(extendedTypesID);
+ if(filePath != null) {
+ getExtendedElementTypeSetInPluginStateArea(extendedTypesID);
+ }
+
+ // 2. no local redefinition. Load extended type set from plugin definition
+ Bundle bundle = Platform.getBundle(bundleId);
+ if(Platform.isFragment(bundle)) {
+ return getExtendedElementTypeSetInBundle(modelPath, bundleId);
+ } else { // this is a plugin. Search in sub fragments, then in the plugin
+ Bundle[] fragments = Platform.getFragments(bundle);
+ // no fragment, so the file should be in the plugin itself
+ if(fragments == null) {
+ return getExtendedElementTypeSetInBundle(modelPath, bundleId);
+ } else {
+ for(Bundle fragment : fragments) {
+ ExtendedElementTypeSet extendedElementTypeSet = getExtendedElementTypeSetInBundle(modelPath, fragment.getSymbolicName());
+ if(extendedElementTypeSet != null) {
+ return extendedElementTypeSet;
+ }
+ }
+ // not found in fragments. Look in the plugin itself
+ return getExtendedElementTypeSetInBundle(modelPath, bundleId);
+ }
+ }
+ }
+
+ /**
+ * Retrieves the contribution in the plugin area
+ *
+ * @param path
+ * the path of the element type set to load in the plugin area
+ */
+ protected ExtendedElementTypeSet getExtendedElementTypeSetInPluginStateArea(String path) {
+ // read in preferences area
+ IPath resourcePath = Activator.getDefault().getStateLocation().append(path);
+ URI uri = URI.createFileURI(resourcePath.toOSString());
+ if(uri != null && uri.isFile()) {
+ Resource resource = extendedTypesResourceSet.createResource(uri);
+ try {
+ resource.load(null);
+ } catch (IOException e) {
+ return null;
+ }
+ EObject content = resource.getContents().get(0);
+ if(content instanceof ExtendedElementTypeSet) {
+ return (ExtendedElementTypeSet)content;
+ }
+ Activator.log.error("Impossible to cast the object into an ExtendedElementTypeSet: " + content, null);
+ return null;
+ }
+ return null;
+ }
+
+ /**
+ *
+ * @param modelPath
+ * path of the model in the bundle
+ * @param bundleId
+ * id of the bundle containing the model file
+ * @return the loaded file or <code>null</code> if some problem occured during loading
+ */
+ protected ExtendedElementTypeSet getExtendedElementTypeSetInBundle(String modelPath, String bundleID) {
+ Resource resource = extendedTypesResourceSet.createResource(URI.createPlatformPluginURI(bundleID + Path.SEPARATOR + modelPath, true));
+ try {
+ resource.load(null);
+ } catch (IOException e) {
+ return null;
+ }
+ EObject content = resource.getContents().get(0);
+ if(content instanceof ExtendedElementTypeSet) {
+ return (ExtendedElementTypeSet)content;
+ }
+ Activator.log.error("Impossible to cast the object into an ExtendedElementTypeSet: " + content, null);
+ return null;
+ }
+
+ /**
+ * Creates the resource set that contains all models for extended types
+ *
+ * @return the resource set newly created.
+ */
+ protected ResourceSet createResourceSet() {
+ ResourceSet set = new ResourceSetImpl();
+ return set;
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // loading resource
+ ///////////////////////////////////////////////////////////////////////////
+ /** A map of classes that have been successfully loaded, keyed on the class name optionally prepended by the plugin ID, if specified. */
+ private static Map<String, WeakReference<Class<?>>> successLookupTable = new HashMap<String, WeakReference<Class<?>>>();
+
+ /** A map of classes that could not be loaded, keyed on the class name, optionally prepended by the plugin ID if specified. */
+ private static Set<String> failureLookupTable = new HashSet<String>();
+
+ /** A map to hold the bundle to exception list */
+ private static Map<Bundle, Set<String>> bundleToExceptionsSetMap = new HashMap<Bundle, Set<String>>();
+
+ /**
+ * A utility method to load a class using its name and a given class loader.
+ *
+ * @param className
+ * The class name
+ * @param bundle
+ * The class loader
+ * @return The loaded class or <code>null</code> if could not be loaded
+ */
+ protected static Class<?> loadClass(String className, String pluginId) {
+ StringBuffer keyStringBuf = new StringBuffer(className.length()
+ + pluginId.length() + 2); // 2 is for . and extra.
+ keyStringBuf.append(pluginId);
+ keyStringBuf.append('.');
+ keyStringBuf.append(className);
+ String keyString = keyStringBuf.toString();
+ WeakReference<Class<?>> ref = successLookupTable.get(keyString);
+ Class<?> found = (ref != null) ? ref.get() : null;
+ if (found == null) {
+ if (ref != null)
+ successLookupTable.remove(keyString);
+ if (!failureLookupTable.contains(keyString)) {
+ try {
+ Bundle bundle = basicGetPluginBundle(pluginId);
+ if (bundle!=null){
+ // never load the class if the bundle is not active other wise
+ // we will cause the plugin to load
+ // unless the class is in the exception list
+ int state = bundle.getState();
+ if ( state == org.osgi.framework.Bundle.ACTIVE || isInExceptionList(bundle,className)){
+ found = bundle.loadClass(className);
+ successLookupTable.put(keyString, new WeakReference<Class<?>>(found));
+ if (state == org.osgi.framework.Bundle.ACTIVE){
+ bundleToExceptionsSetMap.remove(bundle);
+ }
+ }
+ } else {
+ failureLookupTable.add(keyString);
+ }
+ } catch (ClassNotFoundException e) {
+ failureLookupTable.add(keyString);
+ }
+ }
+ }
+ return found;
+ }
+
+ /**
+ * Given a bundle id, it checks if the bundle is found and activated. If it
+ * is, the method returns the bundle, otherwise it returns <code>null</code>.
+ *
+ * @param pluginId
+ * the bundle ID
+ * @return the bundle, if found
+ */
+ protected static Bundle getPluginBundle(String pluginId) {
+ Bundle bundle = basicGetPluginBundle(pluginId);
+ if (null != bundle && bundle.getState() == org.osgi.framework.Bundle.ACTIVE)
+ return bundle;
+ return null;
+ }
+
+ private static Bundle basicGetPluginBundle(String pluginId) {
+ return Platform.getBundle(pluginId);
+ }
+
+ private static boolean isInExceptionList(Bundle bundle, String className) {
+ String packageName = className.substring(0,className.lastIndexOf('.'));
+ Set<String> exceptionSet = bundleToExceptionsSetMap.get(bundle);
+ if (exceptionSet==null){
+ Dictionary<String, String> dict = bundle.getHeaders();
+ String value = dict.get("Eclipse-LazyStart"); //$NON-NLS-1$
+ if (value!=null){
+ int index = value.indexOf("exceptions"); //$NON-NLS-1$
+ if (index!=-1){
+ try {
+ int start = value.indexOf('"',index+1);
+ int end = value.indexOf('"',start+1);
+ String exceptions = value.substring(start+1,end);
+ exceptionSet = new HashSet<String>(2);
+ StringTokenizer tokenizer = new StringTokenizer(exceptions, ","); //$NON-NLS-1$
+ while (tokenizer.hasMoreTokens()) {
+ exceptionSet.add(tokenizer.nextToken().trim());
+ }
+ } catch(IndexOutOfBoundsException exception) {
+ // this means the MF did not follow the documented format for the exceptions list so i'll consider it empty
+ exceptionSet = Collections.emptySet();
+ }
+
+ } else {
+ exceptionSet = Collections.emptySet();
+ }
+ } else {
+ exceptionSet = Collections.emptySet();
+ }
+ bundleToExceptionsSetMap.put(bundle, exceptionSet);
+ }
+ return exceptionSet.contains(packageName);
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedSemanticTypeDescriptor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedSemanticTypeDescriptor.java
deleted file mode 100644
index 4d16f095f47..00000000000
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedSemanticTypeDescriptor.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package org.eclipse.papyrus.infra.extendedtypes;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
-import org.eclipse.gmf.runtime.emf.type.core.IContainerDescriptor;
-import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.ISpecializationTypeDescriptor;
-import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
-import org.eclipse.papyrus.infra.extendedtypes.types.ExtendedHintedTypeFactory;
-import org.osgi.framework.Bundle;
-
-
-/**
- * new descriptor implementation for on-the-fly added descriptor
- */
-public class ExtendedSemanticTypeDescriptor implements ISpecializationTypeDescriptor {
-
- /** constant for specific semantic hint */
- public static final String EXTENDED_ELEMENTS = "ExtendedElements";
-
- /** configuration of this descriptor */
- private final ExtendedElementTypeConfiguration configuration;
-
- /** cache of the specialized types */
- private List<IElementType> specializedTypes = null;
-
- /**
- * Constructor.
- *
- * @param configuration
- * the configuration of this descriptor
- */
- public ExtendedSemanticTypeDescriptor(ExtendedElementTypeConfiguration configuration) {
- this.configuration = configuration;
- }
-
- /**
- * Returns the configuration of the element type
- *
- * @return the configuration of the element type
- */
- public ExtendedElementTypeConfiguration getConfiguration() {
- return configuration;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getId() {
- return configuration.getId();
- }
-
- /**
- * {@inheritDoc}
- */
- public URL getIconURL() {
- IconEntry entry = configuration.getIconEntry();
- Bundle bundle = Platform.getBundle(entry.getBundleId());
- if(bundle == null) {
- return null;
- }
- URL result = bundle.getEntry(entry.getIconPath());
- return result;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getName() {
- return configuration.getName();
- }
-
- /**
- * {@inheritDoc}
- */
- public String getKindName() {
- return configuration.getKindName();
- }
-
- /**
- * {@inheritDoc}
- */
- public String getParamValue(String paramName) {
- if(ExtendedHintedTypeFactory.SEMANTIC_HINT_PARAM_NAME.equals(paramName)) {
- return configuration.getHint();
- }
- return EXTENDED_ELEMENTS;
- }
-
- /**
- * {@inheritDoc}
- */
- public IContainerDescriptor getContainerDescriptor() {
- return null;
- }
-
- /**
- * {@inheritDoc}
- */
- public IElementType[] getSpecializedTypes() {
- if(specializedTypes == null) {
- specializedTypes = new ArrayList<IElementType>();
- for(String specializedTypeId : configuration.getSpecializedTypesID()) {
- IElementType type = ElementTypeRegistry.getInstance().getType(specializedTypeId);
- if(type != null) {
- specializedTypes.add(type);
- } else {
- Activator.log.error("Impossible to find the type " + specializedTypeId, null);
- }
- }
- }
- return specializedTypes.toArray(new IElementType[specializedTypes.size()]);
- }
-
- /**
- * {@inheritDoc}
- */
- public IElementMatcher getMatcher() {
- return null;
- }
-
- /**
- * {@inheritDoc}
- */
- public IEditHelperAdvice getEditHelperAdvice() {
- return new ExtendedEditHelperAdvice();
- }
-
-}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedTypeRegistryService.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedTypeRegistryService.java
new file mode 100644
index 00000000000..a6e0837a51c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedTypeRegistryService.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.papyrus.infra.core.services.IService;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+
+
+/**
+ * Service to register extended element types
+ */
+public class ExtendedTypeRegistryService implements IService {
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(ServicesRegistry servicesRegistry) throws ServiceException {
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void startService() throws ServiceException {
+ // register elements in element type registry
+ ExtendedElementTypeSetRegistry.getInstance();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void disposeService() throws ServiceException {
+ // extended element type set registry should unregister all added element types in the gmf registry
+
+ }
+
+ public ExtendedElementTypeSetRegistry getExtendedElementTypeSetRegistry() {
+ return ExtendedElementTypeSetRegistry.getInstance();
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedTypesRegistry.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedTypesRegistry.java
deleted file mode 100644
index badcf2acb99..00000000000
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedTypesRegistry.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.gmf.runtime.emf.type.core.ClientContextManager;
-import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
-import org.eclipse.gmf.runtime.emf.type.core.IClientContext;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
-import org.eclipse.papyrus.infra.extendedtypes.preferences.ExtendedTypesPreferences;
-import org.eclipse.papyrus.infra.extendedtypes.types.ExtendedHintedTypeFactory;
-import org.osgi.framework.Bundle;
-
-
-/**
- * Registry for all extended types.
- */
-public class ExtendedTypesRegistry {
-
- /** private singleton instance */
- private static ExtendedTypesRegistry registry;
-
- /** list of retrieved extended type sets */
- protected List<ExtendedElementTypeSet> extendedTypeSets = null;
-
- /** unique resource set to load all extended types models */
- protected ResourceSet extendedTypesResourceSet = null;
-
- /**
- * Private constructor.
- */
- private ExtendedTypesRegistry() {
-
- }
-
- /**
- * returns the singleton instance of this registry
- *
- * @return the singleton instance of this registry
- */
- public static synchronized ExtendedTypesRegistry getInstance() {
- if(registry == null) {
- registry = new ExtendedTypesRegistry();
- registry.init();
- }
- return registry;
- }
-
- /**
- * Inits the registry.
- */
- protected void init() {
- // 0. Reset the values
- extendedTypesResourceSet = null;
- extendedTypeSets = null;
-
- // 1. create the resource set
- extendedTypesResourceSet = createResourceSet();
- // 2. create the list only when registry is acceded for the first time
- extendedTypeSets = loadExtendedTypeSets();
- }
-
- /**
- * Retrieves and loads extended type sets registered in the platform. It should also load configuration sets from the workspace.
- */
- protected List<ExtendedElementTypeSet> loadExtendedTypeSets() {
- List<ExtendedElementTypeSet> extendedElementTypeSets = new ArrayList<ExtendedElementTypeSet>();
-
- // 1. retrieve from the workspace
- // TODO implement retrieve from workspace
-
- // 2. retrieve from the platform.
- List<ExtendedElementTypeSet> registeredSets = loadExtendedTypeSetsFromPlatform();
- if(registeredSets != null && !registeredSets.isEmpty()) {
- extendedElementTypeSets.addAll(registeredSets);
- }
-
- return extendedElementTypeSets;
- }
-
- /**
- * Creates the resource set that contains all models for extended types
- *
- * @return the resource set newly created.
- */
- protected ResourceSet createResourceSet() {
- ResourceSet set = new ResourceSetImpl();
- return set;
- }
-
- /**
- * Loads the extensions in the platform
- *
- * @return the list of extension registered in the platform
- */
- protected List<ExtendedElementTypeSet> loadExtendedTypeSetsFromPlatform() {
- List<ExtendedElementTypeSet> platformElementTypeSets = new ArrayList<ExtendedElementTypeSet>();
-
- IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(IExtendedTypeExtensionPoint.EXTENSION_POINT_ID);
- // for each element, parses and retrieve the model file. then loads it and returns the root element
- for(IConfigurationElement element : elements) {
- String modelPath = element.getAttribute(IExtendedTypeExtensionPoint.PATH);
- String extendedTypeSetId = element.getAttribute(IExtendedTypeExtensionPoint.ID);
- String contributorID = element.getContributor().getName();
- if(Platform.inDebugMode()) {
- Activator.log.debug("[Reading extension point]");
- Activator.log.debug("- Path to the model: " + modelPath);
- Activator.log.debug("- id of the container bundle: " + contributorID);
- Activator.log.debug("- id of the extended type set: " + extendedTypeSetId);
- }
- ExtendedElementTypeSet set = getExtendedElementTypeSet(extendedTypeSetId, modelPath, contributorID);
- if(set != null) {
- platformElementTypeSets.add(set);
- }
- }
-
- return platformElementTypeSets;
- }
-
- /**
- * <p>
- * Loads the resource containing the extended element type set model.
- * </p>
- * <p>
- * It looks the model file in the fragments first, then in the plugin itself.<BR>
- * If this is already a fragment, it should look in the fragment only
- * </p>
- *
- * @param extendedTypesID
- * id of the extended type set to load
- * @param modelPath
- * path of the model in the bundle
- * @param bundleId
- * id of the bundle containing the model file
- * @return the loaded file or <code>null</code> if some problem occured during loading
- */
- protected ExtendedElementTypeSet getExtendedElementTypeSet(String extendedTypesID, String modelPath, String bundleId) {
- // 1. look in preferences.
- String filePath = ExtendedTypesPreferences.getExtendedTypesRedefinition(extendedTypesID);
- if(filePath != null) {
- getExtendedElementTypeSetInPluginStateArea(extendedTypesID);
- }
-
- // 2. no local redefinition. Load extended type set from plugin definition
- Bundle bundle = Platform.getBundle(bundleId);
- if(Platform.isFragment(bundle)) {
- return getExtendedElementTypeSetInBundle(modelPath, bundleId);
- } else { // this is a plugin. Search in sub fragments, then in the plugin
- Bundle[] fragments = Platform.getFragments(bundle);
- // no fragment, so the file should be in the plugin itself
- if(fragments == null) {
- return getExtendedElementTypeSetInBundle(modelPath, bundleId);
- } else {
- for(Bundle fragment : fragments) {
- ExtendedElementTypeSet extendedElementTypeSet = getExtendedElementTypeSetInBundle(modelPath, fragment.getSymbolicName());
- if(extendedElementTypeSet != null) {
- return extendedElementTypeSet;
- }
- }
- // not found in fragments. Look in the plugin itself
- return getExtendedElementTypeSetInBundle(modelPath, bundleId);
- }
- }
- }
-
- /**
- * Retrieves the contribution in the plugin area
- *
- * @param path
- * the path of the element type set to load in the plugin area
- */
- protected ExtendedElementTypeSet getExtendedElementTypeSetInPluginStateArea(String path) {
- // read in preferences area
- IPath resourcePath = Activator.getDefault().getStateLocation().append(path);
- URI uri = URI.createFileURI(resourcePath.toOSString());
- if(uri != null && uri.isFile()) {
- Resource resource = extendedTypesResourceSet.createResource(uri);
- try {
- resource.load(null);
- } catch (IOException e) {
- return null;
- }
- EObject content = resource.getContents().get(0);
- if(content instanceof ExtendedElementTypeSet) {
- return (ExtendedElementTypeSet)content;
- }
- Activator.log.error("Impossible to cast the object into an ExtendedElementTypeSet: " + content, null);
- return null;
- }
- return null;
- }
-
- /**
- *
- * @param modelPath
- * path of the model in the bundle
- * @param bundleId
- * id of the bundle containing the model file
- * @return the loaded file or <code>null</code> if some problem occured during loading
- */
- protected ExtendedElementTypeSet getExtendedElementTypeSetInBundle(String modelPath, String bundleID) {
- Resource resource = extendedTypesResourceSet.createResource(URI.createPlatformPluginURI(bundleID + Path.SEPARATOR + modelPath, true));
- try {
- resource.load(null);
- } catch (IOException e) {
- return null;
- }
- EObject content = resource.getContents().get(0);
- if(content instanceof ExtendedElementTypeSet) {
- return (ExtendedElementTypeSet)content;
- }
- Activator.log.error("Impossible to cast the object into an ExtendedElementTypeSet: " + content, null);
- return null;
- }
-
- /**
- * Gets the element type for <code>id</code>. May return <code>null</code> if this element is not registered.
- *
- * @param id
- * the type ID
- * @return the registered type with this ID, or <code>null</code> if there
- * is none.
- */
- public IElementType getType(String id) {
- // 1. checks if the element already exists
- IElementType type = ElementTypeRegistry.getInstance().getType(id);
-
- // 2. If it exists, returns it as usual
- if(type != null) {
- return type;
- }
-
- // 3. It does not exists. It could be retrieve in the extended type sets
- for(ExtendedElementTypeSet set : extendedTypeSets) {
- for(ExtendedElementTypeConfiguration elementTypeConfiguration : set.getElementType()) {
- if(id.equals(elementTypeConfiguration.getId())) {
- // create and add in the standard registry the required element type from its configuration
- @SuppressWarnings("restriction")
- ISpecializationType createSpecializationType = ExtendedHintedTypeFactory.getInstance().createSpecializationType(new ExtendedSemanticTypeDescriptor(elementTypeConfiguration));
- // register it, so it should be accessible next time
- ElementTypeRegistry.getInstance().register(createSpecializationType);
- // retrieve papyrus client context and add the registered type to this context
- IClientContext papyrusContext = ClientContextManager.getInstance().getClientContext("org.eclipse.papyrus.infra.services.edit.TypeContext");
- if(papyrusContext != null) {
- papyrusContext.bindId(id);
- }
- return createSpecializationType;
- }
- }
- }
- return null;
- }
-
-}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ICreationElementValidator.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ICreationElementValidator.java
new file mode 100644
index 00000000000..6adb16da294
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ICreationElementValidator.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+
+
+/**
+ * Validator used to check if element can be created for a given {@link CreateElementRequest}
+ */
+public interface ICreationElementValidator {
+
+ /**
+ * @param request
+ * @return
+ */
+ public boolean canCreate(CreateElementRequest request);
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IElementMatcherConfigurationModelCreation.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IElementMatcherConfigurationModelCreation.java
new file mode 100644
index 00000000000..e2bc20f5d9c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IElementMatcherConfigurationModelCreation.java
@@ -0,0 +1,22 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes;
+
+
+/**
+ * Interface that all extension point for element matcher should provide
+ */
+public interface IElementMatcherConfigurationModelCreation<T extends MatcherConfiguration> {
+
+ public T createConfigurationModel();
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IElementMatcherExtensionPoint.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IElementMatcherExtensionPoint.java
new file mode 100644
index 00000000000..4e417eabb82
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IElementMatcherExtensionPoint.java
@@ -0,0 +1,34 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.papyrus.infra.extendedtypes.Activator;
+
+
+/**
+ * Extension point interface for {@link MatcherConfiguration} runtime implementations
+ */
+public interface IElementMatcherExtensionPoint {
+
+ /** ID of the extension point */
+ public final static String EXTENSION_POINT_ID = Activator.PLUGIN_ID + ".elementMatcherConfiguration";
+
+ public static final String CONFIGURATION_NAME = "name";
+
+ public static final String MATCHER_CONFIGURATION_CLASS = "configurationClass";
+
+ public static final String MATCHER_FACTORY_CLASS = "factoryClass";
+
+ public static final String CONFIGURATION_MODEL_CREATION = "configurationModelCreation";
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IElementMatcherFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IElementMatcherFactory.java
new file mode 100644
index 00000000000..e83afb89ee6
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IElementMatcherFactory.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IConfigurableElementMatcher;
+
+
+/**
+ * interface for factories that instantiate {@link IConfigurableElementMatcher} with their given configuration
+ */
+public interface IElementMatcherFactory<T extends MatcherConfiguration> {
+
+ /**
+ * Creates an element matcher with the specified configuration
+ * @param configuration the configuration of the {@link IElementMatcher}
+ * @return the created element matcher or <code>null</code> if none was created
+ */
+ public IElementMatcher createElementMatcher(T configuration);
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedElementTypeFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedElementTypeFactory.java
new file mode 100644
index 00000000000..d7d76c0e58d
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedElementTypeFactory.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
+
+
+/**
+ * Interface for all factories that will create element types from a given configuration
+ */
+public interface IExtendedElementTypeFactory<T extends ElementTypeConfiguration> /* extends IElementTypeFactory */ {
+
+ /**
+ * Creates an element type for the given configuration
+ * @param configuration configuration of the element type to create
+ * @return the newly created element type or <code>null</code> if no element type could be created
+ */
+ IExtendedHintedElementType createElementType(T configuration);
+
+
+ /**
+ * Creates the element creation validator which will be used to know if the element can be created or not
+ * @param configuration the configuration of the new element type
+ * @return the element creation Validator or <code>null</code> if none could be created
+ */
+ ICreationElementValidator createElementCreationValidator(T configuration);
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedTypeExtensionPoint.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedElementTypeSetExtensionPoint.java
index 515f92c97c2..d8a900d1d13 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedTypeExtensionPoint.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedElementTypeSetExtensionPoint.java
@@ -1,40 +1,40 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes;
-
-
-/**
- * Constants for the extension point
- */
-public interface IExtendedTypeExtensionPoint {
-
- /** ID of the extension point */
- public final static String EXTENSION_POINT_ID = Activator.PLUGIN_ID + ".extendedTypesSetConfiguration";
-
- /** attribute: path to the model file in the bundle */
- public static final String PATH = "path";
-
- /** attribute: identifier of the contribution */
- public static final String ID = "id";
-
- /** attribute: name of the configuration */
- public static final String NAME = "name";
-
- /** attribute: icon of the configuration */
- public static final String ICON = "icon";
-
- /** attribute: description of the configuration */
- public static final String DESCRIPTION = "description";
-
- /** element: element for the configuration element */
- public static final String CONFIGURATION = "configuration";
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes;
+
+
+/**
+ * Constants for the extension point ExtendedTypesSet (registering models containing definition of {@link ExtendedElementTypeSet}).
+ */
+public interface IExtendedElementTypeSetExtensionPoint {
+
+ /** ID of the extension point */
+ public final static String EXTENSION_POINT_ID = Activator.PLUGIN_ID + ".extendedElementTypeSet";
+
+ /** attribute: path to the model file in the bundle */
+ public static final String PATH = "path";
+
+ /** attribute: identifier of the contribution */
+ public static final String ID = "id";
+
+ /** attribute: name of the configuration */
+ public static final String NAME = "name";
+
+ /** attribute: icon of the configuration */
+ public static final String ICON = "icon";
+
+ /** attribute: description of the configuration */
+ public static final String DESCRIPTION = "description";
+
+ /** element: element for the configuration element */
+ public static final String CONFIGURATION = "configuration";
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedTypeConfigurationExtensionPoint.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedTypeConfigurationExtensionPoint.java
new file mode 100644
index 00000000000..254b53c4af2
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/IExtendedTypeConfigurationExtensionPoint.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes;
+
+/**
+ * Constants for the extension point ExtendedTypesSet (registering models containing definition of {@link ExtendedElementTypeSet}).
+ */
+public interface IExtendedTypeConfigurationExtensionPoint {
+
+ /** ID of the extension point */
+ public final static String EXTENSION_POINT_ID = Activator.PLUGIN_ID + ".extendedTypeConfiguration";
+
+ /** attribute: name of the configuration */
+ public static final String NAME = "name";
+
+ /** attribute: icon of the configuration */
+ public static final String ICON = "icon";
+
+ /** attribute: description of the configuration */
+ public static final String DESCRIPTION = "description";
+
+ /** attribute factoryClass */
+ public static final String FACTORY_CLASS = "factoryClass";
+
+ /** attribute configurationClass */
+ public static final String CONFIGURATION_CLASS = "configurationClass";
+
+ /** attribute itemProvider */
+ public static final String ITEM_PROVIDER = "itemProvider";
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/advices/ExtendedTypesOwnerAdvice.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/advices/ExtendedTypesOwnerAdvice.java
index 139ff2798c5..df13a584f95 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/advices/ExtendedTypesOwnerAdvice.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/advices/ExtendedTypesOwnerAdvice.java
@@ -1,140 +1,232 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.advices;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.papyrus.infra.extendedtypes.Activator;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.providers.ExtendedElementTypeActionService;
-import org.eclipse.papyrus.infra.extendedtypes.providers.ProviderNotFoundException;
-import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.modisco.QueryUtil;
-
-
-/**
- * Advice for potential owners of Extended Element Types. This advice will help to the pre/post validation for the creation of child element which is
- * describe by the extended type
- */
-public class ExtendedTypesOwnerAdvice extends AbstractEditHelperAdvice {
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected ICommand getBeforeCreateCommand(CreateElementRequest request) {
- // test if the type element to be created is an extended one. If yes, test the validation queries.
- // if they are valid, return identity command, which does nothing
- // else, if not valid, return a not executable command
- IElementType typeToCreate = request.getElementType();
- if(typeToCreate instanceof IExtendedHintedElementType) {
- ExtendedElementTypeConfiguration configuration = ((IExtendedHintedElementType)typeToCreate).getConfiguration();
- List<QueryConfiguration> queryConfigurations = configuration.getPreValidation();
- if(queryConfigurations == null || queryConfigurations.isEmpty()) {
- return super.getBeforeCreateCommand(request);
- }
-
- // check all validation rules given by the configuration
- for(Object objectToEdit : request.getElementsToEdit()) {
- // there are queries to test
- for(QueryConfiguration queryConfiguration : queryConfigurations) {
- try {
- boolean result = QueryUtil.evaluateBooleanQuery((EObject)objectToEdit, queryConfiguration);
- if(!result) {
- // return an unexecutable command, so the create command will not be executable
- return UnexecutableCommand.INSTANCE;
- }
- } catch (Exception e) {
- Activator.log.error(e);
- }
- }
- }
-
- // Check all pre and post action validation rules. They are given by the provider of the action
- CompositeCommand compositeCommand = new CompositeCommand("PreValidationPostAction");
- for(PostActionConfiguration postActionConfiguration : configuration.getPostAction()) {
- ICommand command = null;
- try {
- command = ExtendedElementTypeActionService.getInstance().getPreValidationCommand(request.getElementsToEdit(), postActionConfiguration);
- } catch (ProviderNotFoundException e) {
- Activator.log.error(e);
- }
- if(command != null) {
- compositeCommand.add(command);
- }
- }
- // get the super command
- ICommand superCommand = super.getBeforeCreateCommand(request);
-
- // if not null, adds it to the result
- if(superCommand != null) {
- compositeCommand.compose(superCommand);
- }
-
- // if result not null, returns the composite command
- if(!compositeCommand.isEmpty()) {
- return compositeCommand;
- }
- return super.getBeforeCreateCommand(request);
- }
- return super.getBeforeCreateCommand(request);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected ICommand getBeforeConfigureCommand(ConfigureRequest request) {
- return super.getBeforeConfigureCommand(request);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected ICommand getAfterConfigureCommand(ConfigureRequest request) {
- // IElementType type = request.getTypeToConfigure();
- // if(type instanceof IExtendedHintedElementType) {
- // CompositeCommand compositeCommand = new CompositeCommand("AfterConfigureCommand");
- // IExtendedHintedElementType extendedHintedElementType = (IExtendedHintedElementType)type;
- // ExtendedElementTypeConfiguration configuration = extendedHintedElementType.getConfiguration();
- // for(PostActionConfiguration postActionConfiguration : configuration.getPostAction()) {
- // ICommand command = null;
- // try {
- // command = ExtendedElementTypeActionService.getInstance().getICommand(request.getElementsToEdit(), postActionConfiguration);
- // } catch (ProviderNotFoundException e) {
- // Activator.log.error(e);
- // }
- // if(command != null) {
- // compositeCommand.add(command);
- // }
- // }
- // // return the composite command only if it is not empty
- // if(!compositeCommand.isEmpty()) {
- // return compositeCommand;
- // }
- // }
- return super.getAfterConfigureCommand(request);
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.advices;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IContainerDescriptor;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.MoveRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
+import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
+
+/**
+ * Advice for potential owners of Extended Element Types. This advice will help to the pre/post validation for the creation of child element which is
+ * describe by the extended type
+ */
+public class ExtendedTypesOwnerAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean approveRequest(IEditCommandRequest request) {
+ if(request instanceof CreateElementRequest) {
+ // approve the request for this element and all super types
+ IElementType typeToCreate = ((CreateElementRequest)request).getElementType();
+ if(typeToCreate instanceof IExtendedHintedElementType) {
+ if(!approveCreationRequest(((IExtendedHintedElementType)typeToCreate), (CreateElementRequest)request)) {
+ return false;
+ }
+ // ask for extended super types
+ List<IExtendedHintedElementType> superExtendedTypes = getAllSuperExtendedTypes((IExtendedHintedElementType)typeToCreate);
+ if(superExtendedTypes == null || superExtendedTypes.size() == 0) {
+ return super.approveRequest(request);
+ } else {
+ for(IExtendedHintedElementType superType : superExtendedTypes) {
+ // only refuse if one element refuses the request
+ if(!approveCreationRequest(superType, (CreateElementRequest)request)) {
+ return false;
+ }
+ }
+ }
+ }
+ } else if(request instanceof SetRequest) {
+ // check the feature to set is a containment feature and element to move is an extended element type
+ EStructuralFeature feature = ((SetRequest)request).getFeature();
+ if(feature instanceof EReference) {
+ if(!((EReference)feature).isContainment()) {
+ return super.approveRequest(request);
+ } else {
+ // containment. Check the kind of element to edit
+ Object value = ((SetRequest)request).getValue();
+ // value = single object or list ?
+ if(value instanceof EObject) {
+ IElementType type = ElementTypeRegistry.getInstance().getElementType((EObject)value, request.getClientContext());
+ if(type instanceof IExtendedHintedElementType) {
+ return approveMoveRequest((IExtendedHintedElementType)type, (SetRequest)request);
+ }
+ } else if(value instanceof List<?>) {
+ for(Object object : (List<Object>)value) {
+ if(object instanceof EObject) {
+ IElementType[] types = ElementTypeRegistry.getInstance().getAllTypesMatching((EObject)object, request.getClientContext());
+ for(IElementType type : types) {
+ if(type instanceof IExtendedHintedElementType) {
+ if(!approveMoveRequest((IExtendedHintedElementType)type, (SetRequest)request)) {
+ return false;
+ }
+ List<IExtendedHintedElementType> superExtendedTypes = getAllSuperExtendedTypes((IExtendedHintedElementType)type);
+ if(superExtendedTypes == null || superExtendedTypes.size() == 0) {
+ // nothing here
+ } else {
+ for(IExtendedHintedElementType superType : superExtendedTypes) {
+ // only refuse if one element refuses the request
+ if(!approveMoveRequest(superType, (SetRequest)request)) {
+ return false;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ } else if(request instanceof MoveRequest) {
+ // check the feature to set is a containment feature and element to move is an extended element type
+ Map<EObject, EReference> objectsToMove = ((MoveRequest)request).getElementsToMove();
+ if(objectsToMove == null || objectsToMove.isEmpty()) {
+ return super.approveRequest(request);
+ }
+ for(Entry<EObject, EReference> movedElement : objectsToMove.entrySet()) {
+ // do not compute with reference, this can be null. This could be interesting to check...
+ IElementType[] types = ElementTypeRegistry.getInstance().getAllTypesMatching(movedElement.getKey(), request.getClientContext());
+ for(IElementType type : types) {
+ if(type instanceof IExtendedHintedElementType) {
+ if(!approveMoveRequest((IExtendedHintedElementType)type, movedElement.getKey(), (MoveRequest)request)) {
+ return false;
+ }
+ List<IExtendedHintedElementType> superExtendedTypes = getAllSuperExtendedTypes((IExtendedHintedElementType)type);
+ if(superExtendedTypes == null || superExtendedTypes.size() == 0) {
+ // nothing here
+ } else {
+ for(IExtendedHintedElementType superType : superExtendedTypes) {
+ // only refuse if one element refuses the request
+ if(!approveMoveRequest(superType, movedElement.getKey(), (MoveRequest)request)) {
+ return false;
+ }
+ }
+ }
+ }
+ }
+ }
+ return super.approveRequest(request);
+ }
+ return super.approveRequest(request);
+ }
+
+ /**
+ * @param iExtendedHintedElementType
+ * @param request
+ * @return
+ */
+ protected boolean approveCreationRequest(IExtendedHintedElementType typeToCreate, CreateElementRequest request) {
+ IContainerDescriptor containerDescriptor = typeToCreate.getEContainerDescriptor();
+ EObject newContainer = request.getContainer();
+ // check it matches the container descriptor for the element type
+ if(containerDescriptor == null || newContainer == null) {
+ return true;
+ }
+ if(containerDescriptor.getContainmentFeatures() != null && containerDescriptor.getContainmentFeatures().length > 0) {
+ // check containment feature
+ List<EReference> references = Arrays.asList(containerDescriptor.getContainmentFeatures());
+ if(!(references.contains(request.getContainmentFeature()))) {
+ return false;
+ }
+ }
+ IElementMatcher containerMatcher = containerDescriptor.getMatcher();
+ if(containerMatcher != null) {
+ return containerMatcher.matches(newContainer);
+ }
+ // check container is matching the matcher of the container descriptor for the new type
+ return true;
+ }
+
+ protected boolean approveMoveRequest(IExtendedHintedElementType typeToMove, SetRequest request) {
+ IContainerDescriptor containerDescriptor = typeToMove.getEContainerDescriptor();
+ EObject newContainer = request.getElementToEdit();
+ // check it matches the container descriptor for the element type
+ if(containerDescriptor == null || newContainer == null) {
+ return true;
+ }
+ if(containerDescriptor.getContainmentFeatures() != null && containerDescriptor.getContainmentFeatures().length > 0) {
+ // check containment feature
+ List<EReference> references = Arrays.asList(containerDescriptor.getContainmentFeatures());
+ if(!(references.contains(request.getFeature()))) {
+ return false;
+ }
+ }
+ IElementMatcher containerMatcher = containerDescriptor.getMatcher();
+ if(containerMatcher != null) {
+ return containerMatcher.matches(newContainer);
+ }
+ // check container is matching the matcher of the container descriptor for the new type
+ return true;
+ }
+
+ protected boolean approveMoveRequest(IExtendedHintedElementType typeToMove, EObject objectToMove, MoveRequest request) {
+ IContainerDescriptor containerDescriptor = typeToMove.getEContainerDescriptor();
+ EObject newContainer = request.getTargetContainer();
+ // check it matches the container descriptor for the element type
+ if(containerDescriptor == null || newContainer == null) {
+ return true;
+ }
+ if(containerDescriptor.getContainmentFeatures() != null && containerDescriptor.getContainmentFeatures().length > 0) {
+ // check containment feature
+ List<EReference> references = Arrays.asList(containerDescriptor.getContainmentFeatures());
+ if(!(references.contains(request.getTargetFeature(objectToMove)))) {
+ return false;
+ }
+ }
+ IElementMatcher containerMatcher = containerDescriptor.getMatcher();
+ if(containerMatcher != null) {
+ return containerMatcher.matches(newContainer);
+ }
+ // check container is matching the matcher of the container descriptor for the new type
+ return true;
+ }
+
+ public List<IExtendedHintedElementType> getAllSuperExtendedTypes(IExtendedHintedElementType type) {
+ IElementType[] superTypes = type.getAllSuperTypes();
+ if(superTypes.length == 0) {
+ return Collections.emptyList();
+ }
+ List<IExtendedHintedElementType> superExtendedTypes = new ArrayList<IExtendedHintedElementType>();
+ // get the reverse order (the extended element types are the closest types
+ for(int i = superTypes.length - 1; i >= 0; i--) {
+ if(superTypes[i] instanceof IExtendedHintedElementType) {
+ superExtendedTypes.add((IExtendedHintedElementType)superTypes[i]);
+ } /*
+ * else { // optimization: once we are in the hierarchy of "standard" types, we should not go into this hierarchy
+ * return superExtendedTypes;
+ * }
+ */
+ }
+ return superExtendedTypes;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationContainerDescriptor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationContainerDescriptor.java
new file mode 100644
index 00000000000..e70d40fdb32
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationContainerDescriptor.java
@@ -0,0 +1,117 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IClientContext;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.extendedtypes.Activator;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IConfigurableContainerDescriptor;
+import org.eclipse.papyrus.infra.services.edit.internal.context.TypeContext;
+
+/**
+ * @author RS211865
+ */
+public class InvariantContainerConfigurationContainerDescriptor implements IConfigurableContainerDescriptor<InvariantContainerConfiguration> {
+
+ protected EList<HierarchyPermission> permissions;
+
+ private IClientContext sharedContext;
+
+ private IElementMatcher matcher;
+
+ /**
+ * {@inheritDoc}
+ */
+ public IElementMatcher getMatcher() {
+ if(matcher == null) {
+ matcher = createMatcher();
+ }
+ return matcher;
+ }
+
+ /**
+ * @return
+ */
+ protected IElementMatcher createMatcher() {
+ return new IElementMatcher() {
+
+ public boolean matches(EObject eObject) {
+
+ IElementType[] types = ElementTypeRegistry.getInstance().getAllTypesMatching(eObject, sharedContext);
+ if(types == null || types.length == 0) {
+ return false;
+ }
+ boolean isValid = false;
+ for(HierarchyPermission permission : permissions) {
+ boolean isPermitted = permission.isIsPermitted();
+ String childType = permission.getChildType();
+ boolean isStrict = permission.isIsStrict();
+ IElementType type = ElementTypeRegistry.getInstance().getType(childType);
+ if(type != null) {
+ if(isStrict) {
+ if(types[0].equals(type)) {
+ if(isPermitted) {
+ isValid = true;
+ }
+ } else if(!isPermitted) {
+ isValid = false;
+ }
+ } else {
+ // not strict. The super types of typeToCreate should contain the permission type if permitted, or not contain the permission type if not permitted
+ List<IElementType> allTypes = Arrays.asList(types);
+ if(allTypes.contains(type)) {
+ if(isPermitted) {
+ isValid = true;
+ } else if(!isPermitted) {
+ isValid = false;
+ }
+ }
+ }
+ }
+ }
+ return isValid;
+ }
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public EReference[] getContainmentFeatures() {
+ // TODO should implement in permissions...
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(InvariantContainerConfiguration ruleConfiguration) {
+ this.permissions = ruleConfiguration.getPermissions();
+ try {
+ sharedContext = TypeContext.getContext();
+ } catch (ServiceException e) {
+ Activator.log.error(e);
+ }
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationModelCreation.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationModelCreation.java
new file mode 100644
index 00000000000..54f989b9add
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerConfigurationModelCreation.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IConfigurationModelCreation;
+
+
+/**
+ * @author RS211865
+ */
+public class InvariantContainerConfigurationModelCreation implements IConfigurationModelCreation<InvariantContainerConfiguration> {
+
+ /**
+ * {@inheritDoc}
+ */
+ public InvariantContainerConfiguration createConfigurationModel() {
+ return InvariantContainerConfigurationFactory.eINSTANCE.createInvariantContainerConfiguration();
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerEditHelperAdvice.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerEditHelperAdvice.java
new file mode 100644
index 00000000000..8f0ff1eb42c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerEditHelperAdvice.java
@@ -0,0 +1,141 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IClientContext;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.extendedtypes.Activator;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IConfigurableEditHelperAdvice;
+import org.eclipse.papyrus.infra.services.edit.internal.context.TypeContext;
+
+/**
+ * Edit Helper advice configured by the {@link InvariantHierarchyConfiguration}
+ */
+public class InvariantContainerEditHelperAdvice extends AbstractEditHelperAdvice implements IConfigurableEditHelperAdvice<InvariantContainerConfiguration> {
+
+ protected List<HierarchyPermission> permissions;
+
+ protected IClientContext sharedContext;
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean approveRequest(IEditCommandRequest request) {
+ if(request instanceof SetRequest) {
+ SetRequest setRequest = ((SetRequest)request);
+ EStructuralFeature structuralFeature = setRequest.getFeature();
+ if(structuralFeature instanceof EReference) {
+ EReference reference = ((EReference)structuralFeature);
+ if(reference.isContainment() && setRequest.getValue() != null) {
+ // check new value
+ return canContain(setRequest);
+ }
+ }
+ } else if(request instanceof CreateElementRequest) {
+ CreateElementRequest createElementRequest = ((CreateElementRequest)request);
+ IElementType typeToCreate = createElementRequest.getElementType();
+ boolean approvedRequest = isValid(typeToCreate, false);
+ return approvedRequest;
+ }
+ return super.approveRequest(request);
+ }
+
+ protected boolean isValid(IElementType typeToAdd, boolean baseIsValid) {
+ boolean isValid = baseIsValid;
+ for(HierarchyPermission permission : permissions) {
+ boolean isPermitted = permission.isIsPermitted();
+ String childType = permission.getChildType();
+ boolean isStrict = permission.isIsStrict();
+ IElementType type = ElementTypeRegistry.getInstance().getType(childType);
+ if(type != null) {
+ if(isStrict) {
+ if(typeToAdd.equals(type)) {
+ if(isPermitted) {
+ isValid = true;
+ }
+ } else if(!isPermitted) {
+ isValid = false;
+ }
+ } else {
+ // not strict. The super types of typeToCreate should contain the permission type if permitted, or not contain the permission type if not permitted
+ List<IElementType> allTypes = Arrays.asList(typeToAdd.getAllSuperTypes());
+ allTypes.add(typeToAdd);
+ if(allTypes.contains(type)) {
+ if(isPermitted) {
+ isValid = true;
+ }
+ } else if(!isPermitted) {
+ isValid = false;
+ }
+ }
+ }
+ }
+ return isValid;
+ }
+
+
+ protected boolean canContain(SetRequest request) {
+ // multivalue or simple value ?
+ if(request.getValue() instanceof List<?>) {
+ List<Object> values = (List<Object>)request.getValue();
+ for(Object value : values) {
+ if(value instanceof EObject) {
+ IElementType type = ElementTypeRegistry.getInstance().getElementType((EObject)value, request.getClientContext());
+ if(type !=null) {
+ if(!isValid(type, false)) {
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
+ }
+ } else {
+ if(request.getValue() instanceof EObject) {
+ IElementType type = ElementTypeRegistry.getInstance().getElementType((EObject)request.getValue(), request.getClientContext());
+ if(type !=null) {
+ return isValid(type, false);
+ } else {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(InvariantContainerConfiguration configuration) {
+ try {
+ sharedContext = TypeContext.getContext();
+ } catch (ServiceException e) {
+ Activator.log.error(e);
+ }
+ permissions = configuration.getPermissions();
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerMatcher.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerMatcher.java
new file mode 100644
index 00000000000..b399fbe1030
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantcontainerconfiguration/InvariantContainerMatcher.java
@@ -0,0 +1,148 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IConfigurableElementMatcher;
+
+/**
+ * Matcher of the hierarchy matcher
+ */
+public class InvariantContainerMatcher implements IConfigurableElementMatcher<InvariantContainerConfiguration> {
+
+ protected EList<HierarchyPermission> permissions;
+
+ /**
+ *
+ */
+ public InvariantContainerMatcher() {
+ // nothing here. Trying not to create list to avoid unnecessary created objects
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean matches(EObject eObject) {
+ return true;
+// boolean matches = false;
+//
+// EObject container = eObject.eContainer();
+//
+// if(container ==null) {
+// return false;
+// }
+//
+// matches = checkAllowed(container, allowedDirectParents, false);
+//
+// // if not ok in direct parents, test in the hierarchy
+// if(!matches && allowedParentsInHierarchy!=null && !allowedParentsInHierarchy.isEmpty()) {
+// while(!matches && container.eContainer() !=null) {
+// container = container.eContainer();
+// matches = checkAllowed(container, allowedParentsInHierarchy, false);
+// }
+// }
+//
+// // check now that some forbidden type does not override the current matches
+// if(!matches) {
+// return false;
+// }
+//
+// container = eObject.eContainer();
+// // container (direct or indirect) could match. now try the forbidden lists
+// matches = checkForbidden(container, forbiddenDirectParents, false);
+//
+// // if not ok in direct parents, test in the hierarchy
+// if(matches && forbiddenParentsInHierarchy!=null && !forbiddenParentsInHierarchy.isEmpty()) {
+// while(matches && container.eContainer() !=null) {
+// container = container.eContainer();
+// matches = checkForbidden(container, forbiddenParentsInHierarchy, false);
+// }
+// }
+//
+// return matches;
+ }
+
+ /**
+ * @param container
+ * @param forbiddenParentsInHierarchy2
+ * @param b
+ * @return
+ */
+ protected boolean checkForbidden(EObject container, List<String> forbiddenParents, boolean isStrict) {
+ // check direct permissions
+ if(forbiddenParents != null && !forbiddenParents.isEmpty()) {
+ IElementType parentType = ElementTypeRegistry.getInstance().getElementType(container);
+ if(parentType != null) {
+ // check if necessary all super types of the direct parent
+ List<String> parentIds = new ArrayList<String>();
+ parentIds.add(parentType.getId());
+ if(forbiddenParents.contains(parentIds)) {
+ return false;
+ } else {
+ // check also super types ids, if not strict permission
+ if(!isStrict) {
+ for(IElementType superType : parentType.getAllSuperTypes()) {
+ if(forbiddenParents.contains(superType.getId())) {
+ return false;
+ }
+ }
+ }
+ }
+ }
+ }
+ return true;
+ }
+
+ /**
+ *
+ */
+ protected boolean checkAllowed(EObject container, List<String> allowedParents, boolean isStrict) {
+ boolean matches = false;
+ // check direct permissions
+ if(allowedParents != null && !allowedParents.isEmpty()) {
+ IElementType parentType = ElementTypeRegistry.getInstance().getElementType(container);
+ if(parentType != null) {
+ // check if necessary all super types of the direct parent
+ List<String> parentIds = new ArrayList<String>();
+ parentIds.add(parentType.getId());
+ if(allowedParents.contains(parentIds)) {
+ matches = true;
+ } else {
+ // check also super types ids, if not strict permission
+ if(!isStrict) {
+ for(IElementType superType : parentType.getAllSuperTypes()) {
+ if(allowedParents.contains(superType.getId())) {
+ matches = true;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ return matches;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(InvariantContainerConfiguration configuration) {
+ this.permissions = configuration.getPermissions();
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AbstractExtendedElementTypeFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AbstractExtendedElementTypeFactory.java
new file mode 100644
index 00000000000..c5ad8b461bf
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AbstractExtendedElementTypeFactory.java
@@ -0,0 +1,111 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IContainerDescriptor;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
+import org.eclipse.papyrus.infra.extendedtypes.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.ICreationElementValidator;
+import org.eclipse.papyrus.infra.extendedtypes.IExtendedElementTypeFactory;
+import org.eclipse.papyrus.infra.extendedtypes.IconEntry;
+import org.eclipse.papyrus.infra.extendedtypes.types.ExtendedHintedElementType;
+import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
+import org.osgi.framework.Bundle;
+
+/**
+ *
+ */
+public abstract class AbstractExtendedElementTypeFactory<T extends ElementTypeConfiguration> implements IExtendedElementTypeFactory<T> {
+
+ /**
+ * {@inheritDoc}
+ */
+ public IExtendedHintedElementType createElementType(T configuration) {
+ String id = configuration.getIdentifier();
+ // display name of the element Type (used mainly in GUIs)
+ String displayName = configuration.getName();
+ // Specialized element types
+ List<IElementType> specializedTypes = new ArrayList<IElementType>(configuration.getSpecializedTypesID().size());
+ for(String specializedTypeId : configuration.getSpecializedTypesID()) {
+ IElementType specializedType = ElementTypeRegistry.getInstance().getType(specializedTypeId);
+ specializedTypes.add(specializedType);
+ }
+ IElementType[] elementTypes = specializedTypes.toArray(new IElementType[]{});
+ // icon associated to the element Type (GUI)
+ IconEntry entry = configuration.getIconEntry();
+ URL iconURL = null;
+ if(entry != null) {
+ iconURL = getURLFromEntry(entry);
+ }
+ IExtendedHintedElementType type = new ExtendedHintedElementType(id, iconURL, displayName, elementTypes, createElementMatcher(configuration), createContainerDescriptor(configuration), createEditHelperAdvice(configuration), getSemanticHint(configuration), createElementCreationValidator(configuration));
+ return type;
+ }
+
+ /**
+ * @param configuration
+ * @return
+ */
+ protected abstract String getSemanticHint(T configuration);
+
+ /**
+ * @param configuration
+ * @return
+ */
+ protected abstract IEditHelperAdvice createEditHelperAdvice(T configuration);
+
+ /**
+ * @param configuration
+ * @return
+ */
+ protected abstract IContainerDescriptor createContainerDescriptor(T configuration);
+
+ /**
+ * @param configuration
+ * @return
+ */
+ protected abstract IElementMatcher createElementMatcher(T configuration);
+
+ /**
+ * {@inheritDoc}
+ */
+ public abstract ICreationElementValidator createElementCreationValidator(T configuration) ;
+
+ /**
+ * @param entry
+ * @return
+ */
+ protected URL getURLFromEntry(IconEntry entry) {
+ Bundle bundle = Platform.getBundle(entry.getBundleId());
+ if(bundle == null) {
+ return null;
+ }
+ URL result = bundle.getEntry(entry.getIconPath());
+ if(result == null) {
+ try {
+ result = new URL(entry.getIconPath());
+ } catch (MalformedURLException e) {
+ result = null;
+ }
+ }
+ return result;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRuleCreationElementValidator.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRuleCreationElementValidator.java
new file mode 100644
index 00000000000..415bb90cae8
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRuleCreationElementValidator.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+
+
+/**
+ *
+ */
+public class AndRuleCreationElementValidator implements IInvariantCreationElementValidator<AndRule> {
+
+ protected List<IInvariantCreationElementValidator<InvariantRuleConfiguration>> composedValidators;
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean canCreate(CreateElementRequest request) {
+ for(IInvariantCreationElementValidator<InvariantRuleConfiguration> creationElementValidator : composedValidators) {
+ if(!creationElementValidator.canCreate(request)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(AndRule configuration) {
+ composedValidators = new ArrayList<IInvariantCreationElementValidator<InvariantRuleConfiguration>>();
+ for(InvariantRuleConfiguration composedRule : configuration.getComposedRules()) {
+ IInvariantCreationElementValidator<InvariantRuleConfiguration> creationElementValidator = RuleConfigurationFactoryRegistry.getInstance().createCreationElementValidator(composedRule);
+ if(creationElementValidator != null) {
+ composedValidators.add(creationElementValidator);
+ }
+ }
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRuleEditHelperAdvice.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRuleEditHelperAdvice.java
new file mode 100644
index 00000000000..c1b350b89c9
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRuleEditHelperAdvice.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+
+public class AndRuleEditHelperAdvice extends AbstractEditHelperAdvice implements IConfigurableEditHelperAdvice<AndRule> {
+
+ protected List<IConfigurableEditHelperAdvice<InvariantRuleConfiguration>> composedEditHelperAdvices;
+
+ public AndRuleEditHelperAdvice() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(AndRule ruleConfiguration) {
+ // configuration should be a AndRule as declared in the extension point
+ composedEditHelperAdvices = new ArrayList<IConfigurableEditHelperAdvice<InvariantRuleConfiguration>>();
+ for(InvariantRuleConfiguration composedRule : ruleConfiguration.getComposedRules()) {
+ IConfigurableEditHelperAdvice<InvariantRuleConfiguration> editHelperAdvice = RuleConfigurationFactoryRegistry.getInstance().createEditHelperAdvice(composedRule);
+ if(editHelperAdvice != null) {
+ composedEditHelperAdvices.add(editHelperAdvice);
+ }
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean approveRequest(IEditCommandRequest request) {
+ // to approve the request, all the composed edit helper advices should approve it
+ for(IEditHelperAdvice advice : composedEditHelperAdvices) {
+ if(!advice.approveRequest(request)) {
+ return false;
+ }
+ }
+ return true;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRuleElementMatcher.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRuleElementMatcher.java
new file mode 100644
index 00000000000..05768ff5d46
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/AndRuleElementMatcher.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+
+/**
+ * {@link IElementMatcher} for the {@link AndRule}
+ */
+public class AndRuleElementMatcher implements IConfigurableElementMatcher<AndRule> {
+
+ protected List<IElementMatcher> composedMatchers;
+
+ /**
+ *
+ */
+ public AndRuleElementMatcher() {
+ // Nothing here
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean matches(EObject eObject) {
+ // deactivate if list of rules is empty
+ if(composedMatchers == null || composedMatchers.isEmpty()) {
+ return false;
+ }
+ for(IElementMatcher matcher : composedMatchers) {
+ if(!matcher.matches(eObject)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(AndRule configuration) {
+ // for each children configuraton, generates the matcher class and then, the 'matches' method of this matcher will delegate to the matches of the sub rules, and will add all results together
+ // configuration should be a AndRule as declared in the extension point
+ composedMatchers = new ArrayList<IElementMatcher>();
+ for(InvariantRuleConfiguration composedRule : configuration.getComposedRules()) {
+ IElementMatcher matcher = RuleConfigurationFactoryRegistry.getInstance().createMatcher(composedRule);
+ if(matcher != null) {
+ composedMatchers.add(matcher);
+ }
+ }
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurableContainerDescriptor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurableContainerDescriptor.java
new file mode 100644
index 00000000000..2fe2da369fb
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurableContainerDescriptor.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.gmf.runtime.emf.type.core.IContainerDescriptor;
+
+
+/**
+ * Descriptor for the configurable container descriptor
+ */
+public interface IConfigurableContainerDescriptor<T extends InvariantRuleConfiguration> extends IContainerDescriptor {
+
+ /**
+ * @param ruleConfiguration
+ */
+ void init(T ruleConfiguration);
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurableEditHelperAdvice.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurableEditHelperAdvice.java
new file mode 100644
index 00000000000..d44a3048094
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurableEditHelperAdvice.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
+
+
+/**
+ * @author RS211865
+ */
+public interface IConfigurableEditHelperAdvice<T extends InvariantRuleConfiguration> extends IEditHelperAdvice {
+
+ /**
+ * @param ruleConfiguration
+ */
+ void init(T ruleConfiguration);
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurableElementMatcher.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurableElementMatcher.java
new file mode 100644
index 00000000000..f7c3653ba5d
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurableElementMatcher.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+
+
+/**
+ * Interface that all {@link IElementMatcher} that can be configured at runtime using a model should implement
+ */
+public interface IConfigurableElementMatcher<T extends InvariantRuleConfiguration> extends IElementMatcher {
+
+ /**
+ * Initialize the element matcher with the given configuration
+ * @param configuration the runtime configuration of the matcher
+ */
+ void init(T configuration);
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurationModelCreation.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurationModelCreation.java
new file mode 100644
index 00000000000..f231f2d3749
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IConfigurationModelCreation.java
@@ -0,0 +1,22 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+
+/**
+ * Interface used to create new invariant rule model element in the configuration model
+ */
+public interface IConfigurationModelCreation<T extends InvariantRuleConfiguration> {
+
+ public T createConfigurationModel();
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IInvariantCreationElementValidator.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IInvariantCreationElementValidator.java
new file mode 100644
index 00000000000..b46c5bcd43a
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IInvariantCreationElementValidator.java
@@ -0,0 +1,24 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.ICreationElementValidator;
+
+
+/**
+ *
+ */
+public interface IInvariantCreationElementValidator<T extends InvariantRuleConfiguration> extends ICreationElementValidator {
+
+ void init(T configuration);
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IInvariantRuleExtensionPoint.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IInvariantRuleExtensionPoint.java
new file mode 100644
index 00000000000..399879f659f
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/IInvariantRuleExtensionPoint.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.Activator;
+
+
+/**
+ * @author RS211865
+ */
+public interface IInvariantRuleExtensionPoint {
+
+ /** ID of the extension point */
+ public final static String EXTENSION_POINT_ID = Activator.PLUGIN_ID + ".invariantRule";
+
+ public static final String ELEMENT_MATCHER_CLASS = "elementMatcher";
+
+ public static final String CONTAINER_DESCRIPTOR_CLASS = "semanticTypeDescriptor";
+
+ public static final String EDIT_HELPER_ADVICE_CLASS = "editHelperAdvice";
+
+ public static final String RULE_CONFIGURATION_CLASS = "configurationClass";
+
+ public static final String CONFIGURATION_MODEL_CREATION = "configurationModelCreation";
+
+ public static final String CREATION_ELEMENT_VALIDATOR_CLASS = "creationElementValidator";
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantElementTypeFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantElementTypeFactory.java
new file mode 100644
index 00000000000..59884560cbb
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantElementTypeFactory.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.gmf.runtime.emf.type.core.IContainerDescriptor;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
+import org.eclipse.papyrus.infra.extendedtypes.ICreationElementValidator;
+
+/**
+ * Factory used to create ElementType from a {@link InvariantSemanticTypeConfiguration}.
+ */
+public class InvariantElementTypeFactory extends AbstractExtendedElementTypeFactory<InvariantSemanticTypeConfiguration> {
+
+ /**
+ * {@inheritDoc}
+ */
+ public ICreationElementValidator createElementCreationValidator(InvariantSemanticTypeConfiguration configuration) {
+ return RuleConfigurationFactoryRegistry.getInstance().createCreationElementValidator(configuration.getInvariantRuleConfiguration());
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected String getSemanticHint(InvariantSemanticTypeConfiguration configuration) {
+ return configuration.getHint();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected IEditHelperAdvice createEditHelperAdvice(InvariantSemanticTypeConfiguration configuration) {
+ return RuleConfigurationFactoryRegistry.getInstance().createEditHelperAdvice(configuration.getInvariantRuleConfiguration());
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected IContainerDescriptor createContainerDescriptor(InvariantSemanticTypeConfiguration configuration) {
+ return RuleConfigurationFactoryRegistry.getInstance().createContainerDescriptor(configuration.getInvariantRuleConfiguration());
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected IElementMatcher createElementMatcher(InvariantSemanticTypeConfiguration configuration) {
+ return RuleConfigurationFactoryRegistry.getInstance().createMatcher(configuration.getInvariantRuleConfiguration());
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeContainerDescriptor.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeContainerDescriptor.java
new file mode 100644
index 00000000000..016fbfc7b7c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeContainerDescriptor.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.gmf.runtime.emf.type.core.IContainerDescriptor;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+
+
+/**
+ * @author RS211865
+ */
+public class InvariantSemanticTypeContainerDescriptor implements IContainerDescriptor {
+
+ /**
+ * @param configuration
+ */
+ public InvariantSemanticTypeContainerDescriptor(InvariantSemanticTypeConfiguration configuration) {
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public IElementMatcher getMatcher() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public EReference[] getContainmentFeatures() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeEditHelperAdvice.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeEditHelperAdvice.java
new file mode 100644
index 00000000000..4d563ce3d03
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeEditHelperAdvice.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+
+
+/**
+ * Advice based on invariants
+ */
+public class InvariantSemanticTypeEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * @param configuration
+ */
+ public InvariantSemanticTypeEditHelperAdvice(InvariantSemanticTypeConfiguration configuration) {
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeMatcher.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeMatcher.java
new file mode 100644
index 00000000000..e8246180938
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/InvariantSemanticTypeMatcher.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+
+
+/**
+ * Matcher based on a set of rules
+ */
+public class InvariantSemanticTypeMatcher implements IElementMatcher {
+
+ protected InvariantSemanticTypeConfiguration configuration;
+
+ /**
+ * @param configuration
+ */
+ public InvariantSemanticTypeMatcher(InvariantSemanticTypeConfiguration configuration) {
+ this.configuration = configuration;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean matches(EObject eObject) {
+
+
+
+ return false;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRuleCreationElementValidator.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRuleCreationElementValidator.java
new file mode 100644
index 00000000000..810510e6200
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRuleCreationElementValidator.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+
+
+/**
+ * @author RS211865
+ */
+public class OrRuleCreationElementValidator implements IInvariantCreationElementValidator<OrRule> {
+
+ protected List<IInvariantCreationElementValidator<InvariantRuleConfiguration>> composedValidators;
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean canCreate(CreateElementRequest request) {
+ for(IInvariantCreationElementValidator<InvariantRuleConfiguration> creationElementValidator : composedValidators) {
+ if(creationElementValidator.canCreate(request)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(OrRule configuration) {
+ composedValidators = new ArrayList<IInvariantCreationElementValidator<InvariantRuleConfiguration>>();
+ for(InvariantRuleConfiguration composedRule : configuration.getComposedRules()) {
+ IInvariantCreationElementValidator<InvariantRuleConfiguration> creationElementValidator = RuleConfigurationFactoryRegistry.getInstance().createCreationElementValidator(composedRule);
+ if(creationElementValidator != null) {
+ composedValidators.add(creationElementValidator);
+ }
+ }
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRuleEditHelperAdvice.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRuleEditHelperAdvice.java
new file mode 100644
index 00000000000..39d65b1d44e
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRuleEditHelperAdvice.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+
+
+/**
+ * @author RS211865
+ */
+public class OrRuleEditHelperAdvice extends AbstractEditHelperAdvice implements IConfigurableEditHelperAdvice<OrRule> {
+
+ protected List<IConfigurableEditHelperAdvice<InvariantRuleConfiguration>> composedEditHelperAdvices;
+
+ public OrRuleEditHelperAdvice() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(OrRule ruleConfiguration) {
+ // configuration should be a AndRule as declared in the extension point
+ composedEditHelperAdvices = new ArrayList<IConfigurableEditHelperAdvice<InvariantRuleConfiguration>>();
+ for(InvariantRuleConfiguration composedRule : ruleConfiguration.getComposedRules()) {
+ IConfigurableEditHelperAdvice<InvariantRuleConfiguration> editHelperAdvice = RuleConfigurationFactoryRegistry.getInstance().createEditHelperAdvice(composedRule);
+ if(editHelperAdvice != null) {
+ composedEditHelperAdvices.add(editHelperAdvice);
+ }
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean approveRequest(IEditCommandRequest request) {
+ // to approve the request, all the composed edit helper advices should approve it
+ for(IEditHelperAdvice advice : composedEditHelperAdvices) {
+ if(advice.approveRequest(request)) {
+ return true;
+ }
+ }
+ // return no only if no advice approves the request. As soon as one approves, return true
+ return false;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRuleElementMatcher.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRuleElementMatcher.java
new file mode 100644
index 00000000000..b17ee120789
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/OrRuleElementMatcher.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+
+/**
+ * @author RS211865
+ */
+public class OrRuleElementMatcher implements IConfigurableElementMatcher<OrRule> {
+
+ protected List<IElementMatcher> composedMatchers;
+
+ /**
+ *
+ */
+ public OrRuleElementMatcher() {
+ // nothing here
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean matches(EObject eObject) {
+ // deactivate if list of rules is empty
+ if(composedMatchers == null || composedMatchers.isEmpty()) {
+ return false;
+ }
+ for(IElementMatcher matcher : composedMatchers) {
+ if(matcher.matches(eObject)) {
+ return true;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(OrRule configuration) {
+ // for each children configuraton, generates the matcher class and then, the 'matches' method of this matcher will delegate to the matches of the sub rules, and will add all results together
+ // configuration should be a AndRule as declared in the extension point
+ composedMatchers = new ArrayList<IElementMatcher>();
+ for(InvariantRuleConfiguration composedRule : configuration.getComposedRules()) {
+ IElementMatcher matcher = RuleConfigurationFactoryRegistry.getInstance().createMatcher(composedRule);
+ if(matcher != null) {
+ composedMatchers.add(matcher);
+ }
+ }
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/RuleConfigurationFactoryRegistry.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/RuleConfigurationFactoryRegistry.java
new file mode 100644
index 00000000000..83e3e9c7eed
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/RuleConfigurationFactoryRegistry.java
@@ -0,0 +1,456 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
+
+import java.lang.ref.WeakReference;
+import java.util.Collections;
+import java.util.Dictionary;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.infra.extendedtypes.Activator;
+import org.osgi.framework.Bundle;
+
+/**
+ * Registry for all matcher factories.
+ */
+public class RuleConfigurationFactoryRegistry {
+
+ /** private singleton instance */
+ private static RuleConfigurationFactoryRegistry registry;
+
+ /** map configuration type to matcher descriptor */
+ protected Map<String, ConfigurableClassDescriptor> configurationTypeToClassDescriptor = null;
+
+ /**
+ * returns the singleton instance of this registry
+ *
+ * @return the singleton instance of this registry
+ */
+ public static synchronized RuleConfigurationFactoryRegistry getInstance() {
+ if(registry == null) {
+ registry = new RuleConfigurationFactoryRegistry();
+ registry.init();
+ }
+ return registry;
+ }
+
+ /**
+ * Inits the registry.
+ */
+ protected void init() {
+ configurationTypeToClassDescriptor = new HashMap<String, RuleConfigurationFactoryRegistry.ConfigurableClassDescriptor>();
+ //read invariant rule configuration etension point
+ IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(IInvariantRuleExtensionPoint.EXTENSION_POINT_ID);
+ // for each element, parses and retrieve the model file. then loads it and returns the root element
+ for(IConfigurationElement configurationElement : elements) {
+ // contributor will always be the same, but implementation could be different.
+ String contributorName = configurationElement.getContributor().getName();
+
+ String configurationClass = configurationElement.getAttribute(IInvariantRuleExtensionPoint.RULE_CONFIGURATION_CLASS);
+
+ String matcherClassName = configurationElement.getAttribute(IInvariantRuleExtensionPoint.ELEMENT_MATCHER_CLASS);
+ String editHelperAdviceClassName = configurationElement.getAttribute(IInvariantRuleExtensionPoint.EDIT_HELPER_ADVICE_CLASS);
+ String containerDescriptorClassName = configurationElement.getAttribute(IInvariantRuleExtensionPoint.CONTAINER_DESCRIPTOR_CLASS);
+ String creationElementValidatorClassName = configurationElement.getAttribute(IInvariantRuleExtensionPoint.CREATION_ELEMENT_VALIDATOR_CLASS);
+
+ ConfigurableClassDescriptor configurableClassDescriptor = new ConfigurableClassDescriptor(contributorName, matcherClassName, contributorName, editHelperAdviceClassName, contributorName, containerDescriptorClassName, contributorName, creationElementValidatorClassName);
+ configurationTypeToClassDescriptor.put(configurationClass, configurableClassDescriptor);
+ }
+
+ }
+
+ /**
+ * Creates the {@link IElementMatcher} specific to the given rule configuration
+ *
+ * @param ruleConfiguration
+ * the rule configuration that will configure the created matcher
+ * @return the {@link IElementMatcher} created or <code>null</code> if none could be created
+ */
+ public IConfigurableElementMatcher<InvariantRuleConfiguration> createMatcher(InvariantRuleConfiguration ruleConfiguration) {
+ // creates the matcher from the extension points
+ Class<IConfigurableElementMatcher<InvariantRuleConfiguration>> elementMatcherClass = getMatcherClass(ruleConfiguration);
+ if(elementMatcherClass == null) {
+ return null;
+ }
+ try {
+ IConfigurableElementMatcher<InvariantRuleConfiguration> matcher = elementMatcherClass.newInstance();
+ if(matcher != null) {
+ matcher.init(ruleConfiguration);
+ }
+ return matcher;
+ } catch (InstantiationException e) {
+ Activator.log.error(e);
+ } catch (IllegalAccessException e) {
+ Activator.log.error(e);
+ }
+ return null;
+ }
+
+ /**
+ * @param ruleConfiguration
+ * @return
+ */
+ public IConfigurableContainerDescriptor<InvariantRuleConfiguration> createContainerDescriptor(InvariantRuleConfiguration ruleConfiguration) {
+ Class<IConfigurableContainerDescriptor<InvariantRuleConfiguration>> containerDescriptorClass = getContainerDescriptorClass(ruleConfiguration);
+ if(containerDescriptorClass == null) {
+ return null;
+ }
+ try {
+ IConfigurableContainerDescriptor<InvariantRuleConfiguration> containerDescriptor = containerDescriptorClass.newInstance();
+ if(containerDescriptor != null) {
+ containerDescriptor.init(ruleConfiguration);
+ }
+ return containerDescriptor;
+ } catch (InstantiationException e) {
+ Activator.log.error(e);
+ } catch (IllegalAccessException e) {
+ Activator.log.error(e);
+ }
+ return null;
+ }
+
+ /**
+ * @param ruleConfiguration
+ * @return
+ */
+ public IConfigurableEditHelperAdvice<InvariantRuleConfiguration> createEditHelperAdvice(InvariantRuleConfiguration ruleConfiguration) {
+ Class<IConfigurableEditHelperAdvice<InvariantRuleConfiguration>> editHelperAdviceClass = getEditHelperAdviceClass(ruleConfiguration);
+ if(editHelperAdviceClass == null) {
+ Activator.log.error("impossible to find the edit helper advice implementation for configuration type : " + ((ruleConfiguration!=null) ? ruleConfiguration.eClass().getName() : "null"), null);
+ return null;
+ }
+ try {
+ IConfigurableEditHelperAdvice<InvariantRuleConfiguration> editHelperAdvice = editHelperAdviceClass.newInstance();
+ if(editHelperAdvice != null) {
+ editHelperAdvice.init(ruleConfiguration);
+ }
+ return editHelperAdvice;
+ } catch (InstantiationException e) {
+ Activator.log.error(e);
+ } catch (IllegalAccessException e) {
+ Activator.log.error(e);
+ }
+ return null;
+ }
+
+ /**
+ * @param ruleConfiguration
+ * @return
+ */
+ public IInvariantCreationElementValidator<InvariantRuleConfiguration> createCreationElementValidator(InvariantRuleConfiguration ruleConfiguration) {
+ Class<IInvariantCreationElementValidator<InvariantRuleConfiguration>> creationElementValidatorClass = getCreationElementValidatorClass(ruleConfiguration);
+ if(creationElementValidatorClass == null) {
+ // Activator.log.error("impossible to find the Creation Element Validator for configuration type : " + ((ruleConfiguration!=null) ? ruleConfiguration.eClass().getName() : "null"), null);
+ return null;
+ }
+ try {
+ IInvariantCreationElementValidator<InvariantRuleConfiguration> creationElementValidator = creationElementValidatorClass.newInstance();
+ if(creationElementValidator != null) {
+ creationElementValidator.init(ruleConfiguration);
+ }
+ return creationElementValidator;
+ } catch (InstantiationException e) {
+ Activator.log.error(e);
+ } catch (IllegalAccessException e) {
+ Activator.log.error(e);
+ }
+ return null;
+ }
+
+
+ /**
+ * @param ruleConfiguration
+ * @return
+ */
+ @SuppressWarnings("unchecked")
+ protected Class<IInvariantCreationElementValidator<InvariantRuleConfiguration>> getCreationElementValidatorClass(InvariantRuleConfiguration configuration) {
+ String configurationType = configuration.eClass().getInstanceClassName();
+ String className = configurationTypeToClassDescriptor.get(configurationType).getCreationElementValidatorClassName();
+ String contributorName = configurationTypeToClassDescriptor.get(configurationType).getCreationElementValidatorContributorName();
+
+ // look in the list of registered matcher for the right one
+ if(className ==null) {
+ //Activator.log.error("There should be an implementation class for the configuration "+configurationType+ " from contributor "+contributorName, null);
+ } else if(contributorName !=null) {
+ return (Class<IInvariantCreationElementValidator<InvariantRuleConfiguration>>)loadClass(className, contributorName);
+ }
+ return null;
+ }
+
+ /**
+ * @param configurationType
+ * @return
+ */
+ @SuppressWarnings("unchecked")
+ protected Class<IConfigurableElementMatcher<InvariantRuleConfiguration>> getMatcherClass(InvariantRuleConfiguration configuration) {
+
+ String configurationType = configuration.eClass().getInstanceClassName();
+ String className = configurationTypeToClassDescriptor.get(configurationType).getElementMatcherClassName();
+ String contributorName = configurationTypeToClassDescriptor.get(configurationType).getElementMatcherContributorName();
+
+ // look in the list of registered matcher for the right one
+ if(className !=null && contributorName !=null) {
+ return (Class<IConfigurableElementMatcher<InvariantRuleConfiguration>>)loadClass(className, contributorName);
+ }
+ return null;
+ }
+
+ /**
+ * @param configurationType
+ * @return
+ */
+ @SuppressWarnings("unchecked")
+ protected Class<IConfigurableEditHelperAdvice<InvariantRuleConfiguration>> getEditHelperAdviceClass(InvariantRuleConfiguration configuration) {
+ String configurationType = configuration.eClass().getInstanceClassName();
+ String className = configurationTypeToClassDescriptor.get(configurationType).getEditHelperAdviceClassName();
+ String contributorName = configurationTypeToClassDescriptor.get(configurationType).getEditHelperAdviceContributorName();
+
+ // look in the list of registered edit helper advices for the right one
+ return (Class<IConfigurableEditHelperAdvice<InvariantRuleConfiguration>>)loadClass(className, contributorName);
+ }
+
+ /**
+ * @param configurationType
+ * @return
+ */
+ @SuppressWarnings("unchecked")
+ protected Class<IConfigurableContainerDescriptor<InvariantRuleConfiguration>> getContainerDescriptorClass(InvariantRuleConfiguration configuration) {
+ String configurationType = configuration.eClass().getInstanceClassName();
+ String className = configurationTypeToClassDescriptor.get(configurationType).getContainerDescriptorClassName();
+ String contributorName = configurationTypeToClassDescriptor.get(configurationType).getContainerDescriptorContributorName();
+
+
+ // look in the list of registered edit helper advices for the right one
+ if(className !=null && contributorName !=null) {
+ return (Class<IConfigurableContainerDescriptor<InvariantRuleConfiguration>>)loadClass(className, contributorName);
+ }
+ return null;
+ }
+
+ protected static class ConfigurableClassDescriptor {
+
+ /**
+ * @param elementMatcherContributorName
+ * @param elementMatcherClassName
+ * @param editHelperAdviceContributorName
+ * @param editHelperAdviceClassName
+ * @param containerDescriptorContributorName
+ * @param containerDescriptorClassName
+ */
+ public ConfigurableClassDescriptor(String elementMatcherContributorName, String elementMatcherClassName, String editHelperAdviceContributorName, String editHelperAdviceClassName, String containerDescriptorContributorName, String containerDescriptorClassName, String creationElementValidatorContributorName, String creationElementValidatorClassName) {
+ this.elementMatcherContributorName = elementMatcherContributorName;
+ this.elementMatcherClassName = elementMatcherClassName;
+ this.editHelperAdviceContributorName = editHelperAdviceContributorName;
+ this.editHelperAdviceClassName = editHelperAdviceClassName;
+ this.containerDescriptorContributorName = containerDescriptorContributorName;
+ this.containerDescriptorClassName = containerDescriptorClassName;
+ this.creationElementValidatorContributorName = creationElementValidatorContributorName;
+ this.creationElementValidatorClassName = creationElementValidatorClassName;
+ }
+
+ private final String elementMatcherContributorName;
+
+ private final String elementMatcherClassName;
+
+ private final String editHelperAdviceContributorName;
+
+ private final String editHelperAdviceClassName;
+
+ private final String containerDescriptorContributorName;
+
+ private final String containerDescriptorClassName;
+
+ private final String creationElementValidatorContributorName;
+
+ private final String creationElementValidatorClassName;
+
+ /**
+ * @return
+ */
+ public String getCreationElementValidatorContributorName() {
+ return creationElementValidatorContributorName;
+ }
+
+ /**
+ * @return
+ */
+ public String getCreationElementValidatorClassName() {
+ return creationElementValidatorClassName;
+ }
+
+ /**
+ * @return the elementMatcherContributorName
+ */
+ public String getElementMatcherContributorName() {
+ return elementMatcherContributorName;
+ }
+
+
+ /**
+ * @return the elementMatcherClassName
+ */
+ public String getElementMatcherClassName() {
+ return elementMatcherClassName;
+ }
+
+
+ /**
+ * @return the editHelperAdviceContributorName
+ */
+ public String getEditHelperAdviceContributorName() {
+ return editHelperAdviceContributorName;
+ }
+
+
+ /**
+ * @return the editHelperAdviceClassName
+ */
+ public String getEditHelperAdviceClassName() {
+ return editHelperAdviceClassName;
+ }
+
+
+ /**
+ * @return the containerDescriptorContributorName
+ */
+ public String getContainerDescriptorContributorName() {
+ return containerDescriptorContributorName;
+ }
+
+
+ /**
+ * @return the containerDescriptorClassName
+ */
+ public String getContainerDescriptorClassName() {
+ return containerDescriptorClassName;
+ }
+
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // loading resource
+ ///////////////////////////////////////////////////////////////////////////
+ /** A map of classes that have been successfully loaded, keyed on the class name optionally prepended by the plugin ID, if specified. */
+ private static Map<String, WeakReference<Class<?>>> successLookupTable = new HashMap<String, WeakReference<Class<?>>>();
+
+ /** A map of classes that could not be loaded, keyed on the class name, optionally prepended by the plugin ID if specified. */
+ private static Set<String> failureLookupTable = new HashSet<String>();
+
+ /** A map to hold the bundle to exception list */
+ private static Map<Bundle, Set<String>> bundleToExceptionsSetMap = new HashMap<Bundle, Set<String>>();
+
+ /**
+ * A utility method to load a class using its name and a given class loader.
+ *
+ * @param className
+ * The class name
+ * @param bundle
+ * The class loader
+ * @return The loaded class or <code>null</code> if could not be loaded
+ */
+ protected static Class<?> loadClass(String className, String pluginId) {
+ StringBuffer keyStringBuf = new StringBuffer(className.length() + pluginId.length() + 2); // 2 is for . and extra.
+ keyStringBuf.append(pluginId);
+ keyStringBuf.append('.');
+ keyStringBuf.append(className);
+ String keyString = keyStringBuf.toString();
+ WeakReference<Class<?>> ref = successLookupTable.get(keyString);
+ Class<?> found = (ref != null) ? ref.get() : null;
+ if(found == null) {
+ if(ref != null)
+ successLookupTable.remove(keyString);
+ if(!failureLookupTable.contains(keyString)) {
+ try {
+ Bundle bundle = basicGetPluginBundle(pluginId);
+ if(bundle != null) {
+ // never load the class if the bundle is not active other wise
+ // we will cause the plugin to load
+ // unless the class is in the exception list
+ int state = bundle.getState();
+ if(state == org.osgi.framework.Bundle.ACTIVE || isInExceptionList(bundle, className)) {
+ found = bundle.loadClass(className);
+ successLookupTable.put(keyString, new WeakReference<Class<?>>(found));
+ if(state == org.osgi.framework.Bundle.ACTIVE) {
+ bundleToExceptionsSetMap.remove(bundle);
+ }
+ }
+ } else {
+ failureLookupTable.add(keyString);
+ }
+ } catch (ClassNotFoundException e) {
+ failureLookupTable.add(keyString);
+ }
+ }
+ }
+ return found;
+ }
+
+ /**
+ * Given a bundle id, it checks if the bundle is found and activated. If it
+ * is, the method returns the bundle, otherwise it returns <code>null</code>.
+ *
+ * @param pluginId
+ * the bundle ID
+ * @return the bundle, if found
+ */
+ protected static Bundle getPluginBundle(String pluginId) {
+ Bundle bundle = basicGetPluginBundle(pluginId);
+ if(null != bundle && bundle.getState() == org.osgi.framework.Bundle.ACTIVE)
+ return bundle;
+ return null;
+ }
+
+ private static Bundle basicGetPluginBundle(String pluginId) {
+ return Platform.getBundle(pluginId);
+ }
+
+ private static boolean isInExceptionList(Bundle bundle, String className) {
+ String packageName = className.substring(0, className.lastIndexOf('.'));
+ Set<String> exceptionSet = bundleToExceptionsSetMap.get(bundle);
+ if(exceptionSet == null) {
+ Dictionary<String, String> dict = bundle.getHeaders();
+ String value = dict.get("Eclipse-LazyStart"); //$NON-NLS-1$
+ if(value != null) {
+ int index = value.indexOf("exceptions"); //$NON-NLS-1$
+ if(index != -1) {
+ try {
+ int start = value.indexOf('"', index + 1);
+ int end = value.indexOf('"', start + 1);
+ String exceptions = value.substring(start + 1, end);
+ exceptionSet = new HashSet<String>(2);
+ StringTokenizer tokenizer = new StringTokenizer(exceptions, ","); //$NON-NLS-1$
+ while(tokenizer.hasMoreTokens()) {
+ exceptionSet.add(tokenizer.nextToken().trim());
+ }
+ } catch (IndexOutOfBoundsException exception) {
+ // this means the MF did not follow the documented format for the exceptions list so i'll consider it empty
+ exceptionSet = Collections.emptySet();
+ }
+ } else {
+ exceptionSet = Collections.emptySet();
+ }
+ } else {
+ exceptionSet = Collections.emptySet();
+ }
+ bundleToExceptionsSetMap.put(bundle, exceptionSet);
+ }
+ return exceptionSet.contains(packageName);
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ProviderNotFoundException.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ProviderNotFoundException.java
index 6bf6503f25a..6541bd06a15 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ProviderNotFoundException.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ProviderNotFoundException.java
@@ -1,36 +1,36 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.providers;
-
-import org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration;
-
-
-/**
- * Exception thrown when a provider was not found
- */
-public class ProviderNotFoundException extends Exception {
-
- /** serial UID */
- private static final long serialVersionUID = 8919294410894098831L;
-
- /**
- * Constructor.
- *
- * @param configuration
- * the configuration for which a provider was searched
- *
- */
- public ProviderNotFoundException(ActionConfiguration configuration) {
- super("Provider not found for configuration " + ((configuration != null) ? configuration.getLabel() : "null") + "[" + ((configuration != null) ? configuration.getId() : "null") + "]");
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.providers;
+
+import org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration;
+
+
+/**
+ * Exception thrown when a provider was not found
+ */
+public class ProviderNotFoundException extends Exception {
+
+ /** serial UID */
+ private static final long serialVersionUID = 8919294410894098831L;
+
+ /**
+ * Constructor.
+ *
+ * @param configuration
+ * the configuration for which a provider was searched
+ *
+ */
+ public ProviderNotFoundException(ActionConfiguration configuration) {
+ super();
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/semantic/ISemanticTypeFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/semantic/ISemanticTypeFactory.java
new file mode 100644
index 00000000000..4c2edf960db
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/semantic/ISemanticTypeFactory.java
@@ -0,0 +1,23 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.semantic;
+
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+
+/**
+ * Interface that must be implemented by each factory relying on the semanticTypeFactory extension point.
+ */
+public interface ISemanticTypeFactory {
+
+ /** creates the element type from the given configuration */
+ IElementType createElementType();
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/ExtendedHintedElementType.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/ExtendedHintedElementType.java
new file mode 100644
index 00000000000..caa71d405a6
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/ExtendedHintedElementType.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.types;
+
+import java.net.URL;
+
+import org.eclipse.gmf.runtime.emf.type.core.IContainerDescriptor;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.SpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
+import org.eclipse.papyrus.infra.extendedtypes.ICreationElementValidator;
+
+
+/**
+ * @author RS211865
+ */
+public class ExtendedHintedElementType extends SpecializationType implements IExtendedHintedElementType {
+
+ private String semanticHint;
+
+ protected ICreationElementValidator creationElementValidator;
+
+ /**
+ * @param id
+ * @param iconURL
+ * @param displayName
+ * @param elementTypes
+ * @param matcher
+ * @param descriptor
+ * @param editHelperAdvice
+ * @param iElementCreationValidator
+ */
+ public ExtendedHintedElementType(String id, URL iconURL, String displayName, IElementType[] elementTypes, IElementMatcher matcher, IContainerDescriptor descriptor, IEditHelperAdvice editHelperAdvice, String semanticHint, ICreationElementValidator creationElementValidator) {
+ super(id, iconURL, displayName, elementTypes, matcher, descriptor, editHelperAdvice);
+ this.semanticHint = semanticHint;
+ this.creationElementValidator = creationElementValidator;
+ }
+
+ /**
+ * Gets the semantic hint.
+ */
+ public String getSemanticHint() {
+ return semanticHint;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public ICreationElementValidator getElementCreationValidator() {
+ return creationElementValidator;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String toString() {
+ return "Extended Type: "+getDisplayName()+" ["+getId()+"]";
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/ExtendedHintedTypeFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/ExtendedHintedTypeFactory.java_bak
index 8c20fdcb626..c1cefbd6660 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/ExtendedHintedTypeFactory.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/ExtendedHintedTypeFactory.java_bak
@@ -1,125 +1,123 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.types;
-
-import org.eclipse.gmf.runtime.emf.type.core.AbstractElementTypeFactory;
-import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
-import org.eclipse.gmf.runtime.emf.type.core.ISpecializationTypeDescriptor;
-import org.eclipse.gmf.runtime.emf.type.core.SpecializationType;
-import org.eclipse.gmf.runtime.emf.type.core.internal.impl.HintedTypeFactory;
-import org.eclipse.papyrus.infra.extendedtypes.Activator;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedSemanticTypeDescriptor;
-
-
-/**
- * Factory for ExtendedHintedType elements
- */
-public class ExtendedHintedTypeFactory extends AbstractElementTypeFactory {
-
- /**
- * The hinted type kind. This string is specified in the XML 'kind'
- * attribute of any element type that is a hinted type.
- */
- public static final String HINTED_TYPE_KIND = "org.eclipse.gmf.runtime.emf.core.internal.util.IHintedType"; //$NON-NLS-1$
-
- /**
- * The semantic hint parameter name.
- */
- public static final String SEMANTIC_HINT_PARAM_NAME = "semanticHint"; //$NON-NLS-1$
-
- /** singleton instance of this factory */
- private static ExtendedHintedTypeFactory instance;
-
- /**
- * Returns the singleton instance of this factory.
- *
- * @return the singleton instance of this factory.
- */
- public synchronized static ExtendedHintedTypeFactory getInstance() {
- if(instance == null) {
- instance = new ExtendedHintedTypeFactory();
- }
- return instance;
- }
-
- /**
- * Private Constructor.
- *
- */
- private ExtendedHintedTypeFactory() {
-
- }
-
- /**
- * The extended hinted specialization type class.
- */
- private static final class ExtendedHintedSpecializationType extends SpecializationType implements IExtendedHintedElementType {
-
- /** The semantic hint */
- private final String semanticHint;
-
- /** element type configuration */
- private final ExtendedElementTypeConfiguration configuration;
-
- /**
- * Constructs a new hinted type.
- *
- * @param descriptor
- * the specialization type descriptor
- * @param semanticHint
- * the semantic hint
- */
- public ExtendedHintedSpecializationType(ISpecializationTypeDescriptor descriptor, String semanticHint, ExtendedElementTypeConfiguration configuration) {
- super(descriptor);
- this.semanticHint = semanticHint;
- this.configuration = configuration;
- }
-
- /**
- * Gets the semantic hint.
- */
- public String getSemanticHint() {
- return semanticHint;
- }
-
- /**
- * {@inheritDoc}
- */
- public ExtendedElementTypeConfiguration getConfiguration() {
- return configuration;
- }
- }
-
- /**
- * {@inheritDoc}
- */
- @SuppressWarnings("restriction")
- @Override
- public ISpecializationType createSpecializationType(ISpecializationTypeDescriptor descriptor) {
-
- String semanticHint = descriptor.getParamValue(SEMANTIC_HINT_PARAM_NAME);
-
- if(descriptor instanceof ExtendedSemanticTypeDescriptor) {
- ExtendedElementTypeConfiguration configuration = ((ExtendedSemanticTypeDescriptor)descriptor).getConfiguration();
- return new ExtendedHintedSpecializationType(descriptor, semanticHint, configuration);
- }
-
- // used default factory. Should never happen
- Activator.log.warn("The Extended type factory should never use HintedTypeFactory from GMF");
- return new HintedTypeFactory().createSpecializationType(descriptor);
- }
-
-
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.types;
+
+import org.eclipse.gmf.runtime.emf.type.core.AbstractElementTypeFactory;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationTypeDescriptor;
+import org.eclipse.gmf.runtime.emf.type.core.SpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.internal.impl.HintedTypeFactory;
+import org.eclipse.papyrus.infra.extendedtypes.Activator;
+
+
+/**
+ * Factory for ExtendedHintedType elements
+ */
+public class ExtendedHintedTypeFactory extends AbstractElementTypeFactory {
+
+ /**
+ * The hinted type kind. This string is specified in the XML 'kind'
+ * attribute of any element type that is a hinted type.
+ */
+ public static final String HINTED_TYPE_KIND = "org.eclipse.gmf.runtime.emf.core.internal.util.IHintedType"; //$NON-NLS-1$
+
+ /**
+ * The semantic hint parameter name.
+ */
+ public static final String SEMANTIC_HINT_PARAM_NAME = "semanticHint"; //$NON-NLS-1$
+
+ /** singleton instance of this factory */
+ private static ExtendedHintedTypeFactory instance;
+
+ /**
+ * Returns the singleton instance of this factory.
+ *
+ * @return the singleton instance of this factory.
+ */
+ public synchronized static ExtendedHintedTypeFactory getInstance() {
+ if(instance == null) {
+ instance = new ExtendedHintedTypeFactory();
+ }
+ return instance;
+ }
+
+ /**
+ * Private Constructor.
+ *
+ */
+ private ExtendedHintedTypeFactory() {
+
+ }
+
+ /**
+ * The extended hinted specialization type class.
+ */
+ private static final class ExtendedHintedSpecializationType extends SpecializationType implements IExtendedHintedElementType {
+
+ /** The semantic hint */
+ private final String semanticHint;
+
+ /** element type configuration */
+ private final ExtendedElementTypeConfiguration configuration;
+
+ /**
+ * Constructs a new hinted type.
+ *
+ * @param descriptor
+ * the specialization type descriptor
+ * @param semanticHint
+ * the semantic hint
+ */
+ public ExtendedHintedSpecializationType(ISpecializationTypeDescriptor descriptor, String semanticHint, ExtendedElementTypeConfiguration configuration) {
+ super(descriptor);
+ this.semanticHint = semanticHint;
+ this.configuration = configuration;
+ }
+
+ /**
+ * Gets the semantic hint.
+ */
+ public String getSemanticHint() {
+ return semanticHint;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public ExtendedElementTypeConfiguration getConfiguration() {
+ return configuration;
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("restriction")
+ @Override
+ public ISpecializationType createSpecializationType(ISpecializationTypeDescriptor descriptor) {
+
+ String semanticHint = descriptor.getParamValue(SEMANTIC_HINT_PARAM_NAME);
+
+ if(descriptor instanceof ExtendedSemanticTypeDescriptor) {
+ ExtendedElementTypeConfiguration configuration = ((ExtendedSemanticTypeDescriptor)descriptor).getConfiguration();
+ return new ExtendedHintedSpecializationType(descriptor, semanticHint, configuration);
+ }
+
+ // used default factory. Should never happen
+ Activator.log.warn("The Extended type factory should never use HintedTypeFactory from GMF");
+ return new HintedTypeFactory().createSpecializationType(descriptor);
+ }
+
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/IExtendedHintedElementType.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/IExtendedHintedElementType.java
index 39afa41a5bc..ef908045961 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/IExtendedHintedElementType.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/types/IExtendedHintedElementType.java
@@ -1,31 +1,25 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.types;
-
-import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
-import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration;
-
-
-/**
- * Element Type that contains a configuration for extensions (Pre/Post actions and validation)
- */
-public interface IExtendedHintedElementType extends ISpecializationType, IHintedType {
-
- /**
- * Returns the Element Type configuration associated to the element type.
- * @return the Element Type configuration associated to the element type.
- */
- public ExtendedElementTypeConfiguration getConfiguration();
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.types;
+
+import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+
+
+/**
+ * interface implemented by all configurable element types specializations
+ */
+public interface IExtendedHintedElementType extends ISpecializationType, IHintedType {
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/util/ElementTypeUtils.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/util/ElementTypeUtils.java_bak
index c6e090d9f0b..74ab27cffcd 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/util/ElementTypeUtils.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/util/ElementTypeUtils.java_bak
@@ -1,188 +1,188 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.util;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.IMetamodelType;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.PreActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
-
-/**
- * Utility class for {@link IElementType}.
- */
-public class ElementTypeUtils {
-
- /**
- * Tests if two elements types are equivalent
- *
- * @param referenceType
- * the reference type for the comparison
- * @param typeToCompare
- * the type that is compared to the reference one
- * @return <code>true</code> if both types are equivalent semantically
- */
- public static boolean isSemanticallyEquivalent(IElementType referenceType, IElementType typeToCompare) {
- boolean isEquivalent = true;
- // first : easy test...
- if(typeToCompare.equals(referenceType)) {
- return true;
- }
- // 2. test the kind of element.
- if(referenceType instanceof IMetamodelType) {
- if(!(typeToCompare instanceof IMetamodelType)) {
- return false;
- } else {
- EClass referenceEclass = ((IMetamodelType)referenceType).getEClass();
- EClass eclassToCompare = ((IMetamodelType)typeToCompare).getEClass();
- isEquivalent = isEquivalent && referenceEclass.equals(eclassToCompare);
- }
- } else {
- if((typeToCompare instanceof IMetamodelType)) {
- return false;
- }
- }
- // metaclasses are equivalent. check for extended types now...
- if(referenceType instanceof IExtendedHintedElementType) {
- if(typeToCompare instanceof IExtendedHintedElementType) {
- isEquivalent = isEquivalent && isSemanticallyEquivalent((IExtendedHintedElementType)referenceType, (IExtendedHintedElementType)typeToCompare);
- }
- }
- return isEquivalent;
- }
-
- /**
- * Tests if two elements types are equivalent (configuration)
- *
- * @param referenceType
- * the reference type for the comparison
- * @param typeToCompare
- * the type that is compared to the reference one
- * @return <code>true</code> if both types are equivalent semantically
- */
- public static boolean isSemanticallyEquivalent(IExtendedHintedElementType referenceType, IExtendedHintedElementType typeToCompare) {
- boolean isEquivalent = true;
- // check all pre/post action and validation
- ExtendedElementTypeConfiguration referenceConfiguration = referenceType.getConfiguration();
- ExtendedElementTypeConfiguration configurationToCompare = typeToCompare.getConfiguration();
- List<QueryConfiguration> referencePrevalidation = referenceConfiguration.getPreValidation();
- List<QueryConfiguration> prevalidationToCompare = configurationToCompare.getPreValidation();
- if(referencePrevalidation != null) {
- isEquivalent = isEquivalent && isEquivalent(referencePrevalidation, prevalidationToCompare);
- } else if(prevalidationToCompare != null) {
- isEquivalent = false;
- }
- List<PreActionConfiguration> referencePreaction = referenceConfiguration.getPreAction();
- List<PreActionConfiguration> preactionToCompare = configurationToCompare.getPreAction();
- if(referencePreaction != null) {
- isEquivalent = isEquivalent && isEquivalent(referencePreaction, preactionToCompare);
- } else if(preactionToCompare != null) {
- isEquivalent = false;
- }
- List<PostActionConfiguration> referencePostaction = referenceConfiguration.getPostAction();
- List<PostActionConfiguration> postactionToCompare = configurationToCompare.getPostAction();
- if(referencePostaction != null) {
- isEquivalent = isEquivalent && isEquivalent(referencePostaction, postactionToCompare);
- } else if(postactionToCompare != null) {
- isEquivalent = false;
- }
- return isEquivalent;
- }
-
- public static boolean isEquivalent(List<? extends EObject> referenceList, List<? extends EObject> listToCompare) {
- boolean isEquivalent = true;
- if(referenceList == null) {
- // only one is null : false
- if(listToCompare != null) {
- return false;
- } else {
- // both are null: true
- return true;
- }
- } else {
- // only one is null: false
- if(listToCompare == null) {
- return false;
- }
- }
- // check emptyness. If both empty : equivalent
- if(referenceList.isEmpty() && listToCompare.isEmpty()) {
- return true;
- }
- // check size. If different, false
- if(referenceList.size() != listToCompare.size()) {
- return false;
- }
- for(int i = 0; i < referenceList.size(); i++) {
- EObject reference = referenceList.get(i);
- EObject compared = listToCompare.get(i);
- isEquivalent = isEquivalent && EcoreUtil.equals(reference, compared);
- }
- return isEquivalent;
- }
-
- /**
- * Returns the closest non Extended element type for a given extended type
- *
- * @param requestElementType
- * the element type to study
- * @return the closest non extended element type or <code>null</code> if none was found.
- */
- public static IElementType findClosestNonExtendedElementType(IExtendedHintedElementType requestElementType) {
- List<IElementType> superTypes = new ArrayList<IElementType>(Arrays.asList(requestElementType.getAllSuperTypes()));
- // reverse order for the list, because super type returns all super types from furthest to closest, we want the other order
- Collections.reverse(superTypes);
- for(IElementType superType : superTypes) {
- if(!(superType instanceof IExtendedHintedElementType)) {
- return superType;
- }
- }
- return null;
- }
-
- /**
- * Returns the closest super type which is not an extended type
- *
- * @param elementType
- * the element type for which the super type is searched.
- * @return the closest super type non extended or <code>null</code> if none was found
- */
- public static IElementType getClosestDiagramType(IElementType elementType) {
- if(!(elementType instanceof IExtendedHintedElementType)) {
- return elementType;
- }
- // this is an extended type
- String diagramElementTypeID = ((IExtendedHintedElementType)elementType).getConfiguration().getSpecializedDiagramTypeID();
- if(diagramElementTypeID != null) {
- return getClosestDiagramType(ElementTypeRegistry.getInstance().getType(diagramElementTypeID));
- } else {
- IElementType[] superTypes = elementType.getAllSuperTypes();
- if(superTypes.length > 1) {
- return getClosestDiagramType(superTypes[superTypes.length - 1]);
- }
- }
- return null;
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.util;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.IMetamodelType;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.PreActionConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
+
+/**
+ * Utility class for {@link IElementType}.
+ */
+public class ElementTypeUtils {
+
+ /**
+ * Tests if two elements types are equivalent
+ *
+ * @param referenceType
+ * the reference type for the comparison
+ * @param typeToCompare
+ * the type that is compared to the reference one
+ * @return <code>true</code> if both types are equivalent semantically
+ */
+ public static boolean isSemanticallyEquivalent(IElementType referenceType, IElementType typeToCompare) {
+ boolean isEquivalent = true;
+ // first : easy test...
+ if(typeToCompare.equals(referenceType)) {
+ return true;
+ }
+ // 2. test the kind of element.
+ if(referenceType instanceof IMetamodelType) {
+ if(!(typeToCompare instanceof IMetamodelType)) {
+ return false;
+ } else {
+ EClass referenceEclass = ((IMetamodelType)referenceType).getEClass();
+ EClass eclassToCompare = ((IMetamodelType)typeToCompare).getEClass();
+ isEquivalent = isEquivalent && referenceEclass.equals(eclassToCompare);
+ }
+ } else {
+ if((typeToCompare instanceof IMetamodelType)) {
+ return false;
+ }
+ }
+ // metaclasses are equivalent. check for extended types now...
+ if(referenceType instanceof IExtendedHintedElementType) {
+ if(typeToCompare instanceof IExtendedHintedElementType) {
+ isEquivalent = isEquivalent && isSemanticallyEquivalent((IExtendedHintedElementType)referenceType, (IExtendedHintedElementType)typeToCompare);
+ }
+ }
+ return isEquivalent;
+ }
+
+ /**
+ * Tests if two elements types are equivalent (configuration)
+ *
+ * @param referenceType
+ * the reference type for the comparison
+ * @param typeToCompare
+ * the type that is compared to the reference one
+ * @return <code>true</code> if both types are equivalent semantically
+ */
+ public static boolean isSemanticallyEquivalent(IExtendedHintedElementType referenceType, IExtendedHintedElementType typeToCompare) {
+ boolean isEquivalent = true;
+ // check all pre/post action and validation
+ ExtendedElementTypeConfiguration referenceConfiguration = referenceType.getConfiguration();
+ ExtendedElementTypeConfiguration configurationToCompare = typeToCompare.getConfiguration();
+ List<QueryConfiguration> referencePrevalidation = referenceConfiguration.getPreValidation();
+ List<QueryConfiguration> prevalidationToCompare = configurationToCompare.getPreValidation();
+ if(referencePrevalidation != null) {
+ isEquivalent = isEquivalent && isEquivalent(referencePrevalidation, prevalidationToCompare);
+ } else if(prevalidationToCompare != null) {
+ isEquivalent = false;
+ }
+ List<PreActionConfiguration> referencePreaction = referenceConfiguration.getPreAction();
+ List<PreActionConfiguration> preactionToCompare = configurationToCompare.getPreAction();
+ if(referencePreaction != null) {
+ isEquivalent = isEquivalent && isEquivalent(referencePreaction, preactionToCompare);
+ } else if(preactionToCompare != null) {
+ isEquivalent = false;
+ }
+ List<PostActionConfiguration> referencePostaction = referenceConfiguration.getPostAction();
+ List<PostActionConfiguration> postactionToCompare = configurationToCompare.getPostAction();
+ if(referencePostaction != null) {
+ isEquivalent = isEquivalent && isEquivalent(referencePostaction, postactionToCompare);
+ } else if(postactionToCompare != null) {
+ isEquivalent = false;
+ }
+ return isEquivalent;
+ }
+
+ public static boolean isEquivalent(List<? extends EObject> referenceList, List<? extends EObject> listToCompare) {
+ boolean isEquivalent = true;
+ if(referenceList == null) {
+ // only one is null : false
+ if(listToCompare != null) {
+ return false;
+ } else {
+ // both are null: true
+ return true;
+ }
+ } else {
+ // only one is null: false
+ if(listToCompare == null) {
+ return false;
+ }
+ }
+ // check emptyness. If both empty : equivalent
+ if(referenceList.isEmpty() && listToCompare.isEmpty()) {
+ return true;
+ }
+ // check size. If different, false
+ if(referenceList.size() != listToCompare.size()) {
+ return false;
+ }
+ for(int i = 0; i < referenceList.size(); i++) {
+ EObject reference = referenceList.get(i);
+ EObject compared = listToCompare.get(i);
+ isEquivalent = isEquivalent && EcoreUtil.equals(reference, compared);
+ }
+ return isEquivalent;
+ }
+
+ /**
+ * Returns the closest non Extended element type for a given extended type
+ *
+ * @param requestElementType
+ * the element type to study
+ * @return the closest non extended element type or <code>null</code> if none was found.
+ */
+ public static IElementType findClosestNonExtendedElementType(IExtendedHintedElementType requestElementType) {
+ List<IElementType> superTypes = new ArrayList<IElementType>(Arrays.asList(requestElementType.getAllSuperTypes()));
+ // reverse order for the list, because super type returns all super types from furthest to closest, we want the other order
+ Collections.reverse(superTypes);
+ for(IElementType superType : superTypes) {
+ if(!(superType instanceof IExtendedHintedElementType)) {
+ return superType;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the closest super type which is not an extended type
+ *
+ * @param elementType
+ * the element type for which the super type is searched.
+ * @return the closest super type non extended or <code>null</code> if none was found
+ */
+ public static IElementType getClosestDiagramType(IElementType elementType) {
+ if(!(elementType instanceof IExtendedHintedElementType)) {
+ return elementType;
+ }
+ // this is an extended type
+ String diagramElementTypeID = ((IExtendedHintedElementType)elementType).getConfiguration().getSpecializedDiagramTypeID();
+ if(diagramElementTypeID != null) {
+ return getClosestDiagramType(ElementTypeRegistry.getInstance().getType(diagramElementTypeID));
+ } else {
+ IElementType[] superTypes = elementType.getAllSuperTypes();
+ if(superTypes.length > 1) {
+ return getClosestDiagramType(superTypes[superTypes.length - 1]);
+ }
+ }
+ return null;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.newchild/src/org/eclipse/papyrus/infra/newchild/CreationMenuFactory.java b/plugins/infra/org.eclipse.papyrus.infra.newchild/src/org/eclipse/papyrus/infra/newchild/CreationMenuFactory.java
index d1cfa7a97f6..7008e50ff8e 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.newchild/src/org/eclipse/papyrus/infra/newchild/CreationMenuFactory.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.newchild/src/org/eclipse/papyrus/infra/newchild/CreationMenuFactory.java
@@ -1,322 +1,322 @@
-/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.newchild;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.UnexecutableCommand;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.papyrus.infra.newchild.ElementCreationMenuModel.CreationMenu;
-import org.eclipse.papyrus.infra.newchild.ElementCreationMenuModel.Folder;
-import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
-import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-
-/**
- * this class contains code to construct menu from a Menu and a selected object
- *
- */
-public class CreationMenuFactory {
- private TransactionalEditingDomain editingDomain;
-
- /**
- *
- * Constructor.
- *
- * @param editingDomain
- */
- public CreationMenuFactory(TransactionalEditingDomain editingDomain) {
- super();
- this.editingDomain = editingDomain;
- }
-
- /**
- * construct a menu from a folder, this is a recursion
- * @param menu the current menu
- * @param folder the folder
- * @param selectedObject the current selection
- * @return true if sub-menu has been added
- */
- public boolean populateMenu(Menu menu, Folder folder, EObject selectedObject){
- if(selectedObject!=null){
- org.eclipse.swt.widgets.MenuItem topMenuItem = new MenuItem(menu,SWT.CASCADE );
- topMenuItem.setText(folder.getLabel());
- if(folder.getIcon()!=null){
- URL url;
- try {
- url = new URL(folder.getIcon());
- ImageDescriptor imgDesc=ImageDescriptor.createFromURL(url);
- topMenuItem.setImage(imgDesc.createImage());
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- }
- Menu topMenu=new Menu(menu);
- topMenuItem.setMenu(topMenu);
- boolean oneDisplayedMenu=false;
- for(org.eclipse.papyrus.infra.newchild.ElementCreationMenuModel.Menu currentMenu : folder.getMenu()) {
- boolean result=false;
- if( currentMenu instanceof Folder){
- result=populateMenu(topMenu, (Folder) currentMenu, selectedObject);
-
-
- }
-
- if( currentMenu instanceof CreationMenu){
- CreationMenu currentCreationMenu=(CreationMenu)currentMenu;
- EReference reference=null;
- String role=currentCreationMenu.getRole();
- //the role is precised
- if( role!=null){
- EStructuralFeature feature= selectedObject.eClass().getEStructuralFeature(role);
- if( feature instanceof EReference){
- reference=(EReference)feature;
- result =constructMenu(selectedObject, topMenu, currentCreationMenu, reference);
- }
- }
- else{//no precisison
- //test if all roles must be displayed
- if(currentCreationMenu.isDisplayAllRoles()){
- result = constructMenu(selectedObject, topMenu, currentCreationMenu);
- }
- else{
-
- result = constructMenu(selectedObject, topMenu, currentCreationMenu, reference);
- }
- }
- }
- if(result){
- oneDisplayedMenu=true;
- }
- }
- if(!oneDisplayedMenu){
- topMenuItem.dispose();
- }
- return oneDisplayedMenu;
-
- }
- return false;
-
- }
-
- /**
- * create menu by displaying if possible different roles
- * @param selectedObject the current object
- * @param menu the current menu in creation
- * @param currentCreationMenu
- * @return true if sub-menu has been created
- */
- protected boolean constructMenu(EObject selectedObject, Menu menu, CreationMenu currentCreationMenu) {
- //find the feature between children and owner
- ArrayList<EStructuralFeature> possibleEFeatures = getEreferences(selectedObject, currentCreationMenu);
-
- if(possibleEFeatures.size()==1){
- Command cmd=buildCommand(null, selectedObject, currentCreationMenu.getElementTypeIdRef());
- if( cmd.canExecute()){
- MenuItem item = new MenuItem(menu, SWT.NONE);
- fillIcon(currentCreationMenu, item);
- item.setEnabled(true);
- item.setText(currentCreationMenu.getLabel());
- item.addSelectionListener(new CreationMenuListener(cmd, editingDomain));
- return true;
- }
- return false;
- }
- else if(possibleEFeatures.size()>1){
- org.eclipse.swt.widgets.MenuItem topMenuItem = new MenuItem(menu,SWT.CASCADE );
- topMenuItem.setText(currentCreationMenu.getLabel());
- Menu topMenu=new Menu(menu);
- topMenuItem.setMenu(topMenu);
- for(EStructuralFeature eStructuralFeature : possibleEFeatures) {
-
- Command cmd=buildCommand((EReference)eStructuralFeature, selectedObject, currentCreationMenu.getElementTypeIdRef());
- if( cmd.canExecute()){
- MenuItem item = new MenuItem(topMenu, SWT.NONE);
- fillIcon(currentCreationMenu, item);
- item.setEnabled(true);
- item.setText("As "+eStructuralFeature.getName());
- item.addSelectionListener(new CreationMenuListener(cmd, editingDomain));
- }
-
- }
- if(topMenu.getItemCount()==0){
- topMenu.dispose();
- return false;
- }
- else{
- return true;
- }
- }
- else{
- return false;
- }
- }
- /**
- * display an icon from a specified url or from Element type
- * @param currentCreationMenu
- * @param item
- */
- protected void fillIcon(CreationMenu currentCreationMenu, MenuItem item) {
- if(currentCreationMenu.getIcon()!=null){
- URL url;
- try {
- url = new URL(currentCreationMenu.getIcon());
- ImageDescriptor imgDesc=ImageDescriptor.createFromURL(url);
- item.setImage(imgDesc.createImage());
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- }else{
- createIconFromElementType(currentCreationMenu, item);
- }
- }
- /**
- * it is used in order calculate all roles that can play an element to another
- * @param selectedObject
- * @param currentCreationMenu
- * @return return the list of Ereference that can be calculated
- */
- protected ArrayList<EStructuralFeature> getEreferences(EObject selectedObject, CreationMenu currentCreationMenu) {
- ArrayList<EStructuralFeature> possibleEFeatures = new ArrayList<EStructuralFeature>();
- EList<EStructuralFeature> featureList = selectedObject.eClass().getEAllStructuralFeatures();
- Iterator<EStructuralFeature> iterator = featureList.iterator();
- while(iterator.hasNext()) {
- EStructuralFeature eStructuralFeature = iterator.next();
- if(eStructuralFeature instanceof EReference) {
- EReference ref = (EReference)eStructuralFeature;
- if(ref.isContainment()) {
- if(isSubClass(ref.getEType(), getElementType(currentCreationMenu.getElementTypeIdRef()).getEClass())) {
- possibleEFeatures.add(eStructuralFeature);
- }
- }
- }
- }
- return possibleEFeatures;
- }
-
- /**
- * Test if a possibleSub eclass is a sub eclass
- *
- * @param aclass
- * , cannot be null
- * @param possibleSubClasse
- * , cannot be null
- * @return true if possible eclass is a subtype of a eclass or false
- */
- protected boolean isSubClass(EClassifier aclass, EClass possibleSubClasse) {
- if(aclass.equals(possibleSubClasse)) {
- return true;
- }
- EList<EClass> superTypeList = possibleSubClasse.getEAllSuperTypes();
- if(superTypeList.contains(aclass)) {
- return true;
- }
- return false;
- }
-
-
- /**
- * associate the icon from the element type
- * @param currentCreationMenu
- * @param item the current menu
- */
- protected void createIconFromElementType(CreationMenu currentCreationMenu, MenuItem item) {
- if(getElementType(currentCreationMenu.getElementTypeIdRef()).getIconURL()!=null){
- ImageDescriptor imgDesc=ImageDescriptor.createFromURL(getElementType(currentCreationMenu.getElementTypeIdRef()).getIconURL());
- item.setImage(imgDesc.createImage());
- }
- }
-
- /**
- * create a submenu
- * @param selectedObject the selected object
- * @param topMenu the menu when will add menus
- * @param currentCreationMenu
- * @param reference the role of the new element
- * @return true if the menu can be created
- */
- protected boolean constructMenu(EObject selectedObject, Menu topMenu, CreationMenu currentCreationMenu, EReference reference) {
- boolean oneDisplayedMenu=false;
- Command cmd=buildCommand(reference, selectedObject, currentCreationMenu.getElementTypeIdRef());
- if( cmd.canExecute()){
- oneDisplayedMenu=true;
- MenuItem item = new MenuItem(topMenu, SWT.NONE);
- fillIcon(currentCreationMenu, item);
- item.setEnabled(true);
- item.setText(currentCreationMenu.getLabel());
- item.addSelectionListener(new CreationMenuListener(cmd, editingDomain));
- }
- return oneDisplayedMenu;
- }
-
- /**
- * get the IelementType from a string
- * @param extendedType the string that represents the element type
- * @return the element type or null
- */
- protected IElementType getElementType(String extendedType){
- return ElementTypeRegistry.getInstance().getType(extendedType);
- }
- /**
- * Construct a command of creation
- * @param reference the role of the element that will be created (maybe null)
- * @param container the container of the created elements
- * @param extendedType the extended type of the created element
- * @return a command that can be executed by the domain
- */
- protected Command buildCommand(EReference reference, EObject container, String extendedType) {
-
-
- IElementEditService provider = ElementEditServiceUtils.getCommandProvider(container);
- if(provider == null) {
- return UnexecutableCommand.INSTANCE;
- }
-
- ICommand createGMFCommand = provider.getEditCommand(buildRequest(reference, container, extendedType));
- if(createGMFCommand != null) {
- Command emfCommand = new org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper(createGMFCommand);
- return emfCommand;
- }
- return UnexecutableCommand.INSTANCE;
- }
- /**
- *
- * @return
- * the creation request to use in this handler
- */
- protected CreateElementRequest buildRequest(EReference reference, EObject container, String extendedType) {
- if(reference==null){
- return new CreateElementRequest(editingDomain, container, getElementType(extendedType)) ;
- }
- return new CreateElementRequest(editingDomain, container, getElementType(extendedType), reference);
- }
-}
-
+/*****************************************************************************
+ * Copyright (c) 2011 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.newchild;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.UnexecutableCommand;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.papyrus.infra.newchild.ElementCreationMenuModel.CreationMenu;
+import org.eclipse.papyrus.infra.newchild.ElementCreationMenuModel.Folder;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MenuItem;
+
+/**
+ * this class contains code to construct menu from a Menu and a selected object
+ *
+ */
+public class CreationMenuFactory {
+ private TransactionalEditingDomain editingDomain;
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param editingDomain
+ */
+ public CreationMenuFactory(TransactionalEditingDomain editingDomain) {
+ super();
+ this.editingDomain = editingDomain;
+ }
+
+ /**
+ * construct a menu from a folder, this is a recursion
+ * @param menu the current menu
+ * @param folder the folder
+ * @param selectedObject the current selection
+ * @return true if sub-menu has been added
+ */
+ public boolean populateMenu(Menu menu, Folder folder, EObject selectedObject){
+ if(selectedObject!=null && folder!=null){
+ org.eclipse.swt.widgets.MenuItem topMenuItem = new MenuItem(menu,SWT.CASCADE );
+ topMenuItem.setText(folder.getLabel());
+ if(folder.getIcon()!=null){
+ URL url;
+ try {
+ url = new URL(folder.getIcon());
+ ImageDescriptor imgDesc=ImageDescriptor.createFromURL(url);
+ topMenuItem.setImage(imgDesc.createImage());
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ }
+ }
+ Menu topMenu=new Menu(menu);
+ topMenuItem.setMenu(topMenu);
+ boolean oneDisplayedMenu=false;
+ for(org.eclipse.papyrus.infra.newchild.ElementCreationMenuModel.Menu currentMenu : folder.getMenu()) {
+ boolean result=false;
+ if( currentMenu instanceof Folder){
+ result=populateMenu(topMenu, (Folder) currentMenu, selectedObject);
+
+
+ }
+
+ if( currentMenu instanceof CreationMenu){
+ CreationMenu currentCreationMenu=(CreationMenu)currentMenu;
+ EReference reference=null;
+ String role=currentCreationMenu.getRole();
+ //the role is precised
+ if( role!=null){
+ EStructuralFeature feature= selectedObject.eClass().getEStructuralFeature(role);
+ if( feature instanceof EReference){
+ reference=(EReference)feature;
+ result =constructMenu(selectedObject, topMenu, currentCreationMenu, reference);
+ }
+ }
+ else{//no precisison
+ //test if all roles must be displayed
+ if(currentCreationMenu.isDisplayAllRoles()){
+ result = constructMenu(selectedObject, topMenu, currentCreationMenu);
+ }
+ else{
+
+ result = constructMenu(selectedObject, topMenu, currentCreationMenu, reference);
+ }
+ }
+ }
+ if(result){
+ oneDisplayedMenu=true;
+ }
+ }
+ if(!oneDisplayedMenu){
+ topMenuItem.dispose();
+ }
+ return oneDisplayedMenu;
+
+ }
+ return false;
+
+ }
+
+ /**
+ * create menu by displaying if possible different roles
+ * @param selectedObject the current object
+ * @param menu the current menu in creation
+ * @param currentCreationMenu
+ * @return true if sub-menu has been created
+ */
+ protected boolean constructMenu(EObject selectedObject, Menu menu, CreationMenu currentCreationMenu) {
+ //find the feature between children and owner
+ ArrayList<EStructuralFeature> possibleEFeatures = getEreferences(selectedObject, currentCreationMenu);
+
+ if(possibleEFeatures.size()==1){
+ Command cmd=buildCommand(null, selectedObject, currentCreationMenu.getElementTypeIdRef());
+ if( cmd.canExecute()){
+ MenuItem item = new MenuItem(menu, SWT.NONE);
+ fillIcon(currentCreationMenu, item);
+ item.setEnabled(true);
+ item.setText(currentCreationMenu.getLabel());
+ item.addSelectionListener(new CreationMenuListener(cmd, editingDomain));
+ return true;
+ }
+ return false;
+ }
+ else if(possibleEFeatures.size()>1){
+ org.eclipse.swt.widgets.MenuItem topMenuItem = new MenuItem(menu,SWT.CASCADE );
+ topMenuItem.setText(currentCreationMenu.getLabel());
+ Menu topMenu=new Menu(menu);
+ topMenuItem.setMenu(topMenu);
+ for(EStructuralFeature eStructuralFeature : possibleEFeatures) {
+
+ Command cmd=buildCommand((EReference)eStructuralFeature, selectedObject, currentCreationMenu.getElementTypeIdRef());
+ if( cmd.canExecute()){
+ MenuItem item = new MenuItem(topMenu, SWT.NONE);
+ fillIcon(currentCreationMenu, item);
+ item.setEnabled(true);
+ item.setText("As "+eStructuralFeature.getName());
+ item.addSelectionListener(new CreationMenuListener(cmd, editingDomain));
+ }
+
+ }
+ if(topMenu.getItemCount()==0){
+ topMenu.dispose();
+ return false;
+ }
+ else{
+ return true;
+ }
+ }
+ else{
+ return false;
+ }
+ }
+ /**
+ * display an icon from a specified url or from Element type
+ * @param currentCreationMenu
+ * @param item
+ */
+ protected void fillIcon(CreationMenu currentCreationMenu, MenuItem item) {
+ if(currentCreationMenu.getIcon()!=null && !"".equals(currentCreationMenu.getIcon())){
+ URL url;
+ try {
+ url = new URL(currentCreationMenu.getIcon());
+ ImageDescriptor imgDesc=ImageDescriptor.createFromURL(url);
+ item.setImage(imgDesc.createImage());
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ }
+ }else{
+ createIconFromElementType(currentCreationMenu, item);
+ }
+ }
+ /**
+ * it is used in order calculate all roles that can play an element to another
+ * @param selectedObject
+ * @param currentCreationMenu
+ * @return return the list of Ereference that can be calculated
+ */
+ protected ArrayList<EStructuralFeature> getEreferences(EObject selectedObject, CreationMenu currentCreationMenu) {
+ ArrayList<EStructuralFeature> possibleEFeatures = new ArrayList<EStructuralFeature>();
+ EList<EStructuralFeature> featureList = selectedObject.eClass().getEAllStructuralFeatures();
+ Iterator<EStructuralFeature> iterator = featureList.iterator();
+ while(iterator.hasNext()) {
+ EStructuralFeature eStructuralFeature = iterator.next();
+ if(eStructuralFeature instanceof EReference) {
+ EReference ref = (EReference)eStructuralFeature;
+ if(ref.isContainment()) {
+ if(isSubClass(ref.getEType(), getElementType(currentCreationMenu.getElementTypeIdRef()).getEClass())) {
+ possibleEFeatures.add(eStructuralFeature);
+ }
+ }
+ }
+ }
+ return possibleEFeatures;
+ }
+
+ /**
+ * Test if a possibleSub eclass is a sub eclass
+ *
+ * @param aclass
+ * , cannot be null
+ * @param possibleSubClasse
+ * , cannot be null
+ * @return true if possible eclass is a subtype of a eclass or false
+ */
+ protected boolean isSubClass(EClassifier aclass, EClass possibleSubClasse) {
+ if(aclass.equals(possibleSubClasse)) {
+ return true;
+ }
+ EList<EClass> superTypeList = possibleSubClasse.getEAllSuperTypes();
+ if(superTypeList.contains(aclass)) {
+ return true;
+ }
+ return false;
+ }
+
+
+ /**
+ * associate the icon from the element type
+ * @param currentCreationMenu
+ * @param item the current menu
+ */
+ protected void createIconFromElementType(CreationMenu currentCreationMenu, MenuItem item) {
+ if(getElementType(currentCreationMenu.getElementTypeIdRef()).getIconURL()!=null){
+ ImageDescriptor imgDesc=ImageDescriptor.createFromURL(getElementType(currentCreationMenu.getElementTypeIdRef()).getIconURL());
+ item.setImage(imgDesc.createImage());
+ }
+ }
+
+ /**
+ * create a submenu
+ * @param selectedObject the selected object
+ * @param topMenu the menu when will add menus
+ * @param currentCreationMenu
+ * @param reference the role of the new element
+ * @return true if the menu can be created
+ */
+ protected boolean constructMenu(EObject selectedObject, Menu topMenu, CreationMenu currentCreationMenu, EReference reference) {
+ boolean oneDisplayedMenu=false;
+ Command cmd=buildCommand(reference, selectedObject, currentCreationMenu.getElementTypeIdRef());
+ if( cmd.canExecute()){
+ oneDisplayedMenu=true;
+ MenuItem item = new MenuItem(topMenu, SWT.NONE);
+ fillIcon(currentCreationMenu, item);
+ item.setEnabled(true);
+ item.setText(currentCreationMenu.getLabel());
+ item.addSelectionListener(new CreationMenuListener(cmd, editingDomain));
+ }
+ return oneDisplayedMenu;
+ }
+
+ /**
+ * get the IelementType from a string
+ * @param extendedType the string that represents the element type
+ * @return the element type or null
+ */
+ protected IElementType getElementType(String extendedType){
+ return ElementTypeRegistry.getInstance().getType(extendedType);
+ }
+ /**
+ * Construct a command of creation
+ * @param reference the role of the element that will be created (maybe null)
+ * @param container the container of the created elements
+ * @param extendedType the extended type of the created element
+ * @return a command that can be executed by the domain
+ */
+ protected Command buildCommand(EReference reference, EObject container, String extendedType) {
+
+
+ IElementEditService provider = ElementEditServiceUtils.getCommandProvider(container);
+ if(provider == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+
+ ICommand createGMFCommand = provider.getEditCommand(buildRequest(reference, container, extendedType));
+ if(createGMFCommand != null) {
+ Command emfCommand = new org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper(createGMFCommand);
+ return emfCommand;
+ }
+ return UnexecutableCommand.INSTANCE;
+ }
+ /**
+ *
+ * @return
+ * the creation request to use in this handler
+ */
+ protected CreateElementRequest buildRequest(EReference reference, EObject container, String extendedType) {
+ if(reference==null){
+ return new CreateElementRequest(editingDomain, container, getElementType(extendedType)) ;
+ }
+ return new CreateElementRequest(editingDomain, container, getElementType(extendedType), reference);
+ }
+}
+
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.classpath b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.classpath
index cedf0d0d0b5..f9c46b584dd 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.classpath
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.classpath
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src-gen"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.project b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.project
index 19b48341fa2..e9acd872cd0 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.project
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.project
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.infra.queries.core.configuration</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.queries.core.configuration</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.settings/org.eclipse.core.resources.prefs b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.settings/org.eclipse.core.resources.prefs
index 7cceaebc432..2f5d4d4c915 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.settings/org.eclipse.core.resources.prefs
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.settings/org.eclipse.core.resources.prefs
@@ -1,4 +1,4 @@
-#Thu Oct 07 19:29:54 CEST 2010
-eclipse.preferences.version=1
-encoding//model/Configuration.ecore=UTF-8
-encoding//model/Configuration.ecorediag=UTF-8
+#Thu Oct 07 19:29:54 CEST 2010
+eclipse.preferences.version=1
+encoding//model/Configuration.ecore=UTF-8
+encoding//model/Configuration.ecorediag=UTF-8
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.settings/org.eclipse.jdt.core.prefs
index 2010cb0a8ba..8000cd6ca61 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,11 @@
-#Wed Oct 06 16:11:35 CEST 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/META-INF/MANIFEST.MF b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/META-INF/MANIFEST.MF
index 4f6c3e8f6ad..d22bbc3ec0c 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/META-INF/MANIFEST.MF
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/META-INF/MANIFEST.MF
@@ -1,23 +1,23 @@
-Manifest-Version: 1.0
-Export-Package: org.eclipse.papyrus.infra.queries.core.configuration,
- org.eclipse.papyrus.infra.queries.core.configuration.impl,
- org.eclipse.papyrus.infra.queries.core.configuration.plugin,
- org.eclipse.papyrus.infra.queries.core.configuration.util
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.ecore;visibility:=reexport,
- org.eclipse.emf.ecore.xmi;visibility:=reexport,
- org.eclipse.emf.facet.infra.query,
- org.eclipse.uml2.uml
-Bundle-Vendor: %providerName
-Bundle-Version: 0.10.1.qualifier
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.infra.queries.core.configuration
- .plugin.Activator$Implementation
-Bundle-SymbolicName: org.eclipse.papyrus.infra.queries.core.configurat
- ion;singleton:=true
-
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.infra.queries.core.configuration,
+ org.eclipse.papyrus.infra.queries.core.configuration.impl,
+ org.eclipse.papyrus.infra.queries.core.configuration.plugin,
+ org.eclipse.papyrus.infra.queries.core.configuration.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query,
+ org.eclipse.uml2.uml
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 0.10.1.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.infra.queries.core.configuration
+ .plugin.Activator$Implementation
+Bundle-SymbolicName: org.eclipse.papyrus.infra.queries.core.configurat
+ ion;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/about.html b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/about.html
index 82d49bf5f81..d35d5aed64c 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/about.html
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/about.html
@@ -1,28 +1,28 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2007</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/build.properties b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/build.properties
index e05d6efaf6a..4e765b36a08 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/build.properties
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/build.properties
@@ -1,8 +1,8 @@
-#
-#Mon Sep 12 09:29:39 CEST 2011
-output..=bin/
-bin.includes=.,model/,META-INF/,plugin.xml,plugin.properties,about.html
-jars.compile.order=.
-src.includes = about.html
-source..=src-gen/
-bin..=bin/
+#
+#Mon Sep 12 09:29:39 CEST 2011
+output..=bin/
+bin.includes=.,model/,META-INF/,plugin.xml,plugin.properties,about.html
+jars.compile.order=.
+src.includes = about.html
+source..=src-gen/
+bin..=bin/
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecore b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecore
index 5e4046fa300..b742f731739 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecore
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecore
@@ -1,29 +1,29 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="configuration" nsURI="http://www.eclipse.org/papyrus/core/queries/0.7"
- nsPrefix="configuration">
- <eClassifiers xsi:type="ecore:EClass" name="QueryConfiguration" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ModiscoQueryConfiguration" eSuperTypes="#//QueryConfiguration">
- <eStructuralFeatures xsi:type="ecore:EReference" name="query" lowerBound="1" eType="ecore:EClass ../../org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="parameterValues" upperBound="-1"
- eType="#//ParameterValue" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ParameterValue" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1"
- eType="ecore:EClass ../../org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQueryParameter"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="QueryExecutionValue" eSuperTypes="#//ParameterValue">
- <eStructuralFeatures xsi:type="ecore:EReference" name="configuration" lowerBound="1"
- eType="#//QueryConfiguration"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ConstantParameterValue" eSuperTypes="#//ParameterValue">
- <eStructuralFeatures xsi:type="ecore:EReference" name="valueInstance" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"
- containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ListParameterValue" eSuperTypes="#//ParameterValue">
- <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1"
- eType="#//ParameterValue"/>
- </eClassifiers>
-</ecore:EPackage>
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="configuration" nsURI="http://www.eclipse.org/papyrus/core/queries/0.7"
+ nsPrefix="configuration">
+ <eClassifiers xsi:type="ecore:EClass" name="QueryConfiguration" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ModiscoQueryConfiguration" eSuperTypes="#//QueryConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="query" lowerBound="1" eType="ecore:EClass ../../org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameterValues" upperBound="-1"
+ eType="#//ParameterValue" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ParameterValue" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1"
+ eType="ecore:EClass ../../org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQueryParameter"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="QueryExecutionValue" eSuperTypes="#//ParameterValue">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="configuration" lowerBound="1"
+ eType="#//QueryConfiguration"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConstantParameterValue" eSuperTypes="#//ParameterValue">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="valueInstance" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ListParameterValue" eSuperTypes="#//ParameterValue">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1"
+ eType="#//ParameterValue"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecorediag b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecorediag
index 7b7dc6485ef..5911818607a 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecorediag
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.ecorediag
@@ -1,328 +1,328 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_yhu7MdFTEd-fOo9it8hYhw" type="EcoreTools" name="QueryConfiguration" measurementUnit="Pixel">
- <children xmi:type="notation:Node" xmi:id="_7kfVINFTEd-fOo9it8hYhw" type="1001">
- <children xmi:type="notation:Node" xmi:id="_7kfVI9FTEd-fOo9it8hYhw" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_7kfVJNFTEd-fOo9it8hYhw" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_7kfVJdFTEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_7kfVJtFTEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_7kfVJ9FTEd-fOo9it8hYhw"/>
- <layoutConstraint xmi:type="notation:Ratio" xmi:id="_8dHmQNFTEd-fOo9it8hYhw" value="0.3"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_7kfVKNFTEd-fOo9it8hYhw" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_7kfVKdFTEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_7kfVKtFTEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_7kfVK9FTEd-fOo9it8hYhw"/>
- <layoutConstraint xmi:type="notation:Ratio" xmi:id="_8dHmQdFTEd-fOo9it8hYhw" value="0.3"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_7kfVIdFTEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="Configuration.ecore#//ModiscoQueryConfiguration"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7kfVItFTEd-fOo9it8hYhw" x="90" y="185" width="193" height="178"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_NUtOcNFUEd-fOo9it8hYhw" type="1001">
- <children xmi:type="notation:Node" xmi:id="_NUtOc9FUEd-fOo9it8hYhw" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_NUtOdNFUEd-fOo9it8hYhw" type="5001">
- <children xmi:type="notation:Node" xmi:id="_vMb9wdVNEd-eSfFwd2KHyw" type="2001">
- <element xmi:type="ecore:EAttribute" href="Configuration.ecore#//QueryConfiguration/name"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_vMb9wtVNEd-eSfFwd2KHyw"/>
- </children>
- <styles xmi:type="notation:DrawerStyle" xmi:id="_NUtOddFUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_NUtOdtFUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_NUtOd9FUEd-fOo9it8hYhw"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_NUtOeNFUEd-fOo9it8hYhw" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_NUtOedFUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_NUtOetFUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_NUtOe9FUEd-fOo9it8hYhw"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_NUtOcdFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="Configuration.ecore#//QueryConfiguration"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NUtOctFUEd-fOo9it8hYhw" x="125" y="100"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_PeY3wNFUEd-fOo9it8hYhw" type="1001">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pe_UuNFUEd-fOo9it8hYhw" source="Shortcut">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Pe_UudFUEd-fOo9it8hYhw" key="modelID" value="EcoreTools"/>
- </eAnnotations>
- <children xmi:type="notation:Node" xmi:id="_PeiowNFUEd-fOo9it8hYhw" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_PeiowdFUEd-fOo9it8hYhw" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_PeiowtFUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_Peiow9FUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_PeioxNFUEd-fOo9it8hYhw"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_PeioxdFUEd-fOo9it8hYhw" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_PeioxtFUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_Peiox9FUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_PeioyNFUEd-fOo9it8hYhw"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_PeY3wdFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="14599595"/>
- <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PeY3wtFUEd-fOo9it8hYhw" x="400" y="155" width="258"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_SV-I4NFUEd-fOo9it8hYhw" type="1001">
- <children xmi:type="notation:Node" xmi:id="_SWH54NFUEd-fOo9it8hYhw" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_SWH54dFUEd-fOo9it8hYhw" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_SWH54tFUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_SWH549FUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_SWH55NFUEd-fOo9it8hYhw"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_SWH55dFUEd-fOo9it8hYhw" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_SWH55tFUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_SWH559FUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_SWH56NFUEd-fOo9it8hYhw"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_SV-I4dFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="Configuration.ecore#//ParameterValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SV-I4tFUEd-fOo9it8hYhw" x="400" y="295" width="258" height="108"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_brgU4NFUEd-fOo9it8hYhw" type="1001">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_brqF6NFUEd-fOo9it8hYhw" source="Shortcut">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_brqF6dFUEd-fOo9it8hYhw" key="modelID" value="EcoreTools"/>
- </eAnnotations>
- <children xmi:type="notation:Node" xmi:id="_brgU49FUEd-fOo9it8hYhw" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_brgU5NFUEd-fOo9it8hYhw" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_brgU5dFUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_brgU5tFUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_brgU59FUEd-fOo9it8hYhw"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_brgU6NFUEd-fOo9it8hYhw" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_brgU6dFUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_brgU6tFUEd-fOo9it8hYhw"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_brgU69FUEd-fOo9it8hYhw"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_brgU4dFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="14599595"/>
- <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQueryParameter"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_brgU4tFUEd-fOo9it8hYhw" x="785" y="190" width="218" height="158"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_EyyiUNK1Ed-6Cr0DOh7rhg" type="1001">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E0ucANK1Ed-6Cr0DOh7rhg" source="Shortcut">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E0ucAdK1Ed-6Cr0DOh7rhg" key="modelID" value="EcoreTools"/>
- </eAnnotations>
- <children xmi:type="notation:Node" xmi:id="_EyyiU9K1Ed-6Cr0DOh7rhg" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_EyyiVNK1Ed-6Cr0DOh7rhg" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_EyyiVdK1Ed-6Cr0DOh7rhg"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_EyyiVtK1Ed-6Cr0DOh7rhg"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_EyyiV9K1Ed-6Cr0DOh7rhg"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_EyyiWNK1Ed-6Cr0DOh7rhg" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_EyyiWdK1Ed-6Cr0DOh7rhg"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_EyyiWtK1Ed-6Cr0DOh7rhg"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_EyyiW9K1Ed-6Cr0DOh7rhg"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_EyyiUdK1Ed-6Cr0DOh7rhg" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EyyiUtK1Ed-6Cr0DOh7rhg" x="405" y="560" width="218" height="73"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_qTpOYdVDEd--sr5_k25cmA" type="1001">
- <children xmi:type="notation:Node" xmi:id="_qTpOZNVDEd--sr5_k25cmA" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_qTpOZdVDEd--sr5_k25cmA" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_qTpOZtVDEd--sr5_k25cmA"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_qTpOZ9VDEd--sr5_k25cmA"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_qTpOaNVDEd--sr5_k25cmA"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_qTpOadVDEd--sr5_k25cmA" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_qTpOatVDEd--sr5_k25cmA"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_qTpOa9VDEd--sr5_k25cmA"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_qTpObNVDEd--sr5_k25cmA"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_qTpOYtVDEd--sr5_k25cmA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="Configuration.ecore#//QueryExecutionValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qTpOY9VDEd--sr5_k25cmA" x="215" y="450" width="162" height="63"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_PD5qINVEEd--sr5_k25cmA" type="1001">
- <children xmi:type="notation:Node" xmi:id="_PD5qI9VEEd--sr5_k25cmA" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_PD5qJNVEEd--sr5_k25cmA" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_PD5qJdVEEd--sr5_k25cmA"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_PD5qJtVEEd--sr5_k25cmA"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_PD5qJ9VEEd--sr5_k25cmA"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_PD5qKNVEEd--sr5_k25cmA" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_PD5qKdVEEd--sr5_k25cmA"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_PD5qKtVEEd--sr5_k25cmA"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_PD5qK9VEEd--sr5_k25cmA"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_PD5qIdVEEd--sr5_k25cmA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="Configuration.ecore#//ConstantParameterValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PD5qItVEEd--sr5_k25cmA" x="435" y="450" height="63"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_5MnHINXaEd-0J-FKW8HdHA" type="1001">
- <children xmi:type="notation:Node" xmi:id="_5Mw4INXaEd-0J-FKW8HdHA" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_5Mw4IdXaEd-0J-FKW8HdHA" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_5Mw4ItXaEd-0J-FKW8HdHA"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_5Mw4I9XaEd-0J-FKW8HdHA"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_5Mw4JNXaEd-0J-FKW8HdHA"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_5Mw4JdXaEd-0J-FKW8HdHA" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_5Mw4JtXaEd-0J-FKW8HdHA"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_5Mw4J9XaEd-0J-FKW8HdHA"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_5Mw4KNXaEd-0J-FKW8HdHA"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_5MnHIdXaEd-0J-FKW8HdHA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="Configuration.ecore#//ListParameterValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MnHItXaEd-0J-FKW8HdHA" x="655" y="450" width="152" height="63"/>
- </children>
- <children xmi:type="notation:Shape" xmi:id="_QyE1MNXeEd-0J-FKW8HdHA" type="Note" description="Can return a single element or a collection of elements" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
- <children xmi:type="notation:BasicDecorationNode" xmi:id="_QyE1NNXeEd-0J-FKW8HdHA" type="DiagramName">
- <element xsi:nil="true"/>
- </children>
- <children xmi:type="notation:BasicDecorationNode" xmi:id="_QyE1NdXeEd-0J-FKW8HdHA" type="Description">
- <element xsi:nil="true"/>
- </children>
- <styles xmi:type="notation:TextStyle" xmi:id="_QyE1MdXeEd-0J-FKW8HdHA"/>
- <styles xmi:type="notation:LineTypeStyle" xmi:id="_QyE1MtXeEd-0J-FKW8HdHA"/>
- <element xsi:nil="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyE1M9XeEd-0J-FKW8HdHA" x="35" y="550" width="211" height="46"/>
- </children>
- <children xmi:type="notation:Shape" xmi:id="_VuRpcNXeEd-0J-FKW8HdHA" type="Note" description="Returns only one element" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
- <children xmi:type="notation:BasicDecorationNode" xmi:id="_VuRpdNXeEd-0J-FKW8HdHA" type="DiagramName">
- <element xsi:nil="true"/>
- </children>
- <children xmi:type="notation:BasicDecorationNode" xmi:id="_VuRpddXeEd-0J-FKW8HdHA" type="Description">
- <element xsi:nil="true"/>
- </children>
- <styles xmi:type="notation:TextStyle" xmi:id="_VuRpcdXeEd-0J-FKW8HdHA"/>
- <styles xmi:type="notation:LineTypeStyle" xmi:id="_VuRpctXeEd-0J-FKW8HdHA"/>
- <element xsi:nil="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VuRpc9XeEd-0J-FKW8HdHA" x="656" y="547" width="165" height="34"/>
- </children>
- <styles xmi:type="notation:DiagramStyle" xmi:id="_yhu7MtFTEd-fOo9it8hYhw"/>
- <element xmi:type="ecore:EPackage" href="Configuration.ecore#/"/>
- <edges xmi:type="notation:Edge" xmi:id="_NU2YaNFUEd-fOo9it8hYhw" type="3003" source="_7kfVINFTEd-fOo9it8hYhw" target="_NUtOcNFUEd-fOo9it8hYhw">
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_NU2YadFUEd-fOo9it8hYhw" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_NU2YatFUEd-fOo9it8hYhw"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NU2Ya9FUEd-fOo9it8hYhw" points="[-6, -20, 113, 381]$[-119, -400, 0, 1]"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_Pe_UsNFUEd-fOo9it8hYhw" type="3002" source="_7kfVINFTEd-fOo9it8hYhw" target="_PeY3wNFUEd-fOo9it8hYhw">
- <children xmi:type="notation:Node" xmi:id="_Pe_UtNFUEd-fOo9it8hYhw" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Pe_UtdFUEd-fOo9it8hYhw" x="-10" y="-10"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_Pe_UttFUEd-fOo9it8hYhw" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Pe_Ut9FUEd-fOo9it8hYhw" x="10" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_Pe_UsdFUEd-fOo9it8hYhw" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_Pe_UstFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="Configuration.ecore#//ModiscoQueryConfiguration/query"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Pe_Us9FUEd-fOo9it8hYhw" points="[-11, -20, 137, 256]$[-148, -275, 0, 1]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_P-IHwNFUEd-fOo9it8hYhw" id="(0.9481865284974094,0.1853932584269663)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_XPWSoNFUEd-fOo9it8hYhw" type="3002" source="_7kfVINFTEd-fOo9it8hYhw" target="_SV-I4NFUEd-fOo9it8hYhw">
- <children xmi:type="notation:Node" xmi:id="_XPWSpNFUEd-fOo9it8hYhw" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_XPWSpdFUEd-fOo9it8hYhw" x="-40" y="21"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_XPWSptFUEd-fOo9it8hYhw" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_XPWSp9FUEd-fOo9it8hYhw" x="1" y="-12"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_XPWSodFUEd-fOo9it8hYhw" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_XPWSotFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="Configuration.ecore#//ModiscoQueryConfiguration/parameterValues"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XPWSo9FUEd-fOo9it8hYhw" points="[9, 20, -45, -101]$[55, 120, 1, -1]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7GVAMNFYEd-fOo9it8hYhw" id="(0.9378238341968912,0.7358490566037735)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XPWSqNFUEd-fOo9it8hYhw" id="(0.04435483870967742,0.2037037037037037)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_brqF4NFUEd-fOo9it8hYhw" type="3002" source="_PeY3wNFUEd-fOo9it8hYhw" target="_brgU4NFUEd-fOo9it8hYhw">
- <children xmi:type="notation:Node" xmi:id="_brqF5NFUEd-fOo9it8hYhw" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_brqF5dFUEd-fOo9it8hYhw" x="-18" y="-12"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_brqF5tFUEd-fOo9it8hYhw" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_brqF59FUEd-fOo9it8hYhw" x="10" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_brqF4dFUEd-fOo9it8hYhw" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_brqF4tFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery/parameters"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_brqF49FUEd-fOo9it8hYhw" points="[-90, -63, 373, 266]$[-462, -328, 1, 1]"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5mVVUNVDEd--sr5_k25cmA" id="(0.03211009174311927,0.1962025316455696)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_ddpn8NFUEd-fOo9it8hYhw" type="3002" source="_SV-I4NFUEd-fOo9it8hYhw" target="_brgU4NFUEd-fOo9it8hYhw">
- <children xmi:type="notation:Node" xmi:id="_ddpn9NFUEd-fOo9it8hYhw" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_ddpn9dFUEd-fOo9it8hYhw" x="-21" y="-10"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_ddpn9tFUEd-fOo9it8hYhw" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_ddpn99FUEd-fOo9it8hYhw" x="10" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_ddpn8dFUEd-fOo9it8hYhw" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_ddpn8tFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="Configuration.ecore#//ParameterValue/parameter"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ddpn89FUEd-fOo9it8hYhw" points="[12, -1, -237, 32]$[141, -19, -108, 14]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ddpn-NFUEd-fOo9it8hYhw" id="(0.9516129032258065,0.08974358974358974)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_79uqgNVDEd--sr5_k25cmA" id="(0.0779816513761468,0.7278481012658228)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_Ezr6MNK1Ed-6Cr0DOh7rhg" type="3002" source="_PD5qINVEEd--sr5_k25cmA" target="_EyyiUNK1Ed-6Cr0DOh7rhg">
- <children xmi:type="notation:Node" xmi:id="_Ezr6NNK1Ed-6Cr0DOh7rhg" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Ezr6NdK1Ed-6Cr0DOh7rhg" x="-3" y="-46"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_Ezr6NtK1Ed-6Cr0DOh7rhg" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Ezr6N9K1Ed-6Cr0DOh7rhg" x="-3" y="17"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ezr6MdK1Ed-6Cr0DOh7rhg" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_Ezr6MtK1Ed-6Cr0DOh7rhg" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="Configuration.ecore#//ConstantParameterValue/valueInstance"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ezr6M9K1Ed-6Cr0DOh7rhg" points="[-38, -38, 421, 421]$[-458, -458, 1, 1]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GRG6cNK1Ed-6Cr0DOh7rhg" id="(0.4785276073619632,0.9523809523809523)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_tF3eYNVDEd--sr5_k25cmA" type="3003" source="_qTpOYdVDEd--sr5_k25cmA" target="_SV-I4NFUEd-fOo9it8hYhw">
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_tF3eYdVDEd--sr5_k25cmA" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_tF3eYtVDEd--sr5_k25cmA"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tF3eY9VDEd--sr5_k25cmA" points="[50, -14, -205, 57]$[50, -39, -205, 32]$[240, -39, -15, 32]$[240, -63, -15, 8]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tGAoUNVDEd--sr5_k25cmA" id="(0.4074074074074074,0.22950819672131148)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kh7TwNVEEd--sr5_k25cmA" id="(0.5310077519379846,0.9259259259259259)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_vMRKMNVDEd--sr5_k25cmA" type="3002" source="_qTpOYdVDEd--sr5_k25cmA" target="_NUtOcNFUEd-fOo9it8hYhw">
- <children xmi:type="notation:Node" xmi:id="_vMRKNNVDEd--sr5_k25cmA" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_vMRKNdVDEd--sr5_k25cmA" x="57" y="-12"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_vMRKNtVDEd--sr5_k25cmA" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_vMRKN9VDEd--sr5_k25cmA" x="89" y="13"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_vMRKMdVDEd--sr5_k25cmA" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_vMRKMtVDEd--sr5_k25cmA" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="Configuration.ecore#//QueryExecutionValue/configuration"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vMRKM9VDEd--sr5_k25cmA" points="[-9, -1, 24, 361]$[-211, -4, -178, 358]$[-211, -360, -178, 2]$[-99, -360, -66, 2]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vMRKONVDEd--sr5_k25cmA" id="(0.06172839506172839,0.5737704918032787)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_XtUXANVEEd--sr5_k25cmA" type="3003" source="_PD5qINVEEd--sr5_k25cmA" target="_SV-I4NFUEd-fOo9it8hYhw">
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_XtUXAdVEEd--sr5_k25cmA" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_XtUXAtVEEd--sr5_k25cmA"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XtUXA9VEEd--sr5_k25cmA" points="[-31, -4, -26, 59]$[-31, -29, -26, 34]$[-2, -29, 3, 34]$[-2, -53, 3, 10]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XtUXBNVEEd--sr5_k25cmA" id="(0.5398773006134969,0.07936507936507936)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XtUXBdVEEd--sr5_k25cmA" id="(0.4573643410852713,0.9166666666666666)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_9AY6wNXaEd-0J-FKW8HdHA" type="3003" source="_5MnHINXaEd-0J-FKW8HdHA" target="_SV-I4NFUEd-fOo9it8hYhw">
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_9AY6wdXaEd-0J-FKW8HdHA" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_9AY6wtXaEd-0J-FKW8HdHA"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9AY6w9XaEd-0J-FKW8HdHA" points="[-41, -4, 194, 61]$[-41, -29, 194, 36]$[-203, -29, 32, 36]$[-203, -53, 32, 12]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9AY6xNXaEd-0J-FKW8HdHA" id="(0.45394736842105265,0.07936507936507936)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9AY6xdXaEd-0J-FKW8HdHA" id="(0.3467741935483871,0.8888888888888888)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_BLQ_wNXbEd-0J-FKW8HdHA" type="3002" source="_5MnHINXaEd-0J-FKW8HdHA" target="_SV-I4NFUEd-fOo9it8hYhw">
- <children xmi:type="notation:Node" xmi:id="_BLQ_xNXbEd-0J-FKW8HdHA" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_BLQ_xdXbEd-0J-FKW8HdHA" x="5" y="14"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_BLQ_xtXbEd-0J-FKW8HdHA" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_BLQ_x9XbEd-0J-FKW8HdHA" x="12" y="-11"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_BLQ_wdXbEd-0J-FKW8HdHA" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_BLQ_wtXbEd-0J-FKW8HdHA" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="Configuration.ecore#//ListParameterValue/values"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BLQ_w9XbEd-0J-FKW8HdHA" points="[0, -14, 121, 73]$[0, -87, 121, 0]$[-106, -87, 15, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BLQ_yNXbEd-0J-FKW8HdHA" id="(0.7171052631578947,0.23809523809523808)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BLQ_ydXbEd-0J-FKW8HdHA" id="(0.9395161290322581,0.7777777777777778)"/>
- </edges>
- <edges xmi:type="notation:Connector" xmi:id="_Uh-1cNXeEd-0J-FKW8HdHA" type="NoteAttachment" source="_QyE1MNXeEd-0J-FKW8HdHA" target="_qTpOYdVDEd--sr5_k25cmA" lineWidth="1">
- <styles xmi:type="notation:ArrowStyle" xmi:id="_Uh-1cdXeEd-0J-FKW8HdHA"/>
- <styles xmi:type="notation:LineTypeStyle" xmi:id="_Uh-1ctXeEd-0J-FKW8HdHA"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Uh-1c9XeEd-0J-FKW8HdHA" points="[6, -12, -29, 55]$[36, -51, 1, 16]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UiImcNXeEd-0J-FKW8HdHA" id="(0.7582938388625592,0.2608695652173913)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UiImcdXeEd-0J-FKW8HdHA" id="(0.09876543209876543,0.746031746031746)"/>
- </edges>
- <edges xmi:type="notation:Connector" xmi:id="_YSfSoNXeEd-0J-FKW8HdHA" type="NoteAttachment" source="_VuRpcNXeEd-0J-FKW8HdHA" target="_PD5qINVEEd--sr5_k25cmA" lineWidth="1">
- <styles xmi:type="notation:ArrowStyle" xmi:id="_YSfSodXeEd-0J-FKW8HdHA"/>
- <styles xmi:type="notation:LineTypeStyle" xmi:id="_YSfSotXeEd-0J-FKW8HdHA"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YSfSo9XeEd-0J-FKW8HdHA" points="[-13, -8, 90, 60]$[-101, -44, 2, 24]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YSfSpNXeEd-0J-FKW8HdHA" id="(0.10909090909090909,0.23529411764705882)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YSfSpdXeEd-0J-FKW8HdHA" id="(0.8466257668711656,0.6190476190476191)"/>
- </edges>
-</notation:Diagram>
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_yhu7MdFTEd-fOo9it8hYhw" type="EcoreTools" name="QueryConfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_7kfVINFTEd-fOo9it8hYhw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_7kfVI9FTEd-fOo9it8hYhw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_7kfVJNFTEd-fOo9it8hYhw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_7kfVJdFTEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7kfVJtFTEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7kfVJ9FTEd-fOo9it8hYhw"/>
+ <layoutConstraint xmi:type="notation:Ratio" xmi:id="_8dHmQNFTEd-fOo9it8hYhw" value="0.3"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7kfVKNFTEd-fOo9it8hYhw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_7kfVKdFTEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7kfVKtFTEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7kfVK9FTEd-fOo9it8hYhw"/>
+ <layoutConstraint xmi:type="notation:Ratio" xmi:id="_8dHmQdFTEd-fOo9it8hYhw" value="0.3"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_7kfVIdFTEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Configuration.ecore#//ModiscoQueryConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7kfVItFTEd-fOo9it8hYhw" x="90" y="185" width="193" height="178"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NUtOcNFUEd-fOo9it8hYhw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_NUtOc9FUEd-fOo9it8hYhw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_NUtOdNFUEd-fOo9it8hYhw" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_vMb9wdVNEd-eSfFwd2KHyw" type="2001">
+ <element xmi:type="ecore:EAttribute" href="Configuration.ecore#//QueryConfiguration/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vMb9wtVNEd-eSfFwd2KHyw"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_NUtOddFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NUtOdtFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NUtOd9FUEd-fOo9it8hYhw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NUtOeNFUEd-fOo9it8hYhw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_NUtOedFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NUtOetFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NUtOe9FUEd-fOo9it8hYhw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_NUtOcdFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Configuration.ecore#//QueryConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NUtOctFUEd-fOo9it8hYhw" x="120" y="75" width="163" height="74"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PeY3wNFUEd-fOo9it8hYhw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pe_UuNFUEd-fOo9it8hYhw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Pe_UudFUEd-fOo9it8hYhw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_PeiowNFUEd-fOo9it8hYhw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_PeiowdFUEd-fOo9it8hYhw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_PeiowtFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Peiow9FUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PeioxNFUEd-fOo9it8hYhw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PeioxdFUEd-fOo9it8hYhw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_PeioxtFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Peiox9FUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PeioyNFUEd-fOo9it8hYhw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_PeY3wdFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="14599595"/>
+ <element xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PeY3wtFUEd-fOo9it8hYhw" x="400" y="155" width="258"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_SV-I4NFUEd-fOo9it8hYhw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_SWH54NFUEd-fOo9it8hYhw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_SWH54dFUEd-fOo9it8hYhw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_SWH54tFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SWH549FUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SWH55NFUEd-fOo9it8hYhw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_SWH55dFUEd-fOo9it8hYhw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_SWH55tFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SWH559FUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SWH56NFUEd-fOo9it8hYhw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_SV-I4dFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Configuration.ecore#//ParameterValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SV-I4tFUEd-fOo9it8hYhw" x="400" y="295" width="258" height="108"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_brgU4NFUEd-fOo9it8hYhw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_brqF6NFUEd-fOo9it8hYhw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_brqF6dFUEd-fOo9it8hYhw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_brgU49FUEd-fOo9it8hYhw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_brgU5NFUEd-fOo9it8hYhw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_brgU5dFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_brgU5tFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_brgU59FUEd-fOo9it8hYhw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_brgU6NFUEd-fOo9it8hYhw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_brgU6dFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_brgU6tFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_brgU69FUEd-fOo9it8hYhw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_brgU4dFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="14599595"/>
+ <element xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQueryParameter"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_brgU4tFUEd-fOo9it8hYhw" x="785" y="190" width="218" height="158"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EyyiUNK1Ed-6Cr0DOh7rhg" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E0ucANK1Ed-6Cr0DOh7rhg" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E0ucAdK1Ed-6Cr0DOh7rhg" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EyyiU9K1Ed-6Cr0DOh7rhg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EyyiVNK1Ed-6Cr0DOh7rhg" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EyyiVdK1Ed-6Cr0DOh7rhg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EyyiVtK1Ed-6Cr0DOh7rhg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EyyiV9K1Ed-6Cr0DOh7rhg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EyyiWNK1Ed-6Cr0DOh7rhg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EyyiWdK1Ed-6Cr0DOh7rhg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EyyiWtK1Ed-6Cr0DOh7rhg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EyyiW9K1Ed-6Cr0DOh7rhg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EyyiUdK1Ed-6Cr0DOh7rhg" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EyyiUtK1Ed-6Cr0DOh7rhg" x="395" y="560" width="253" height="208"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_qTpOYdVDEd--sr5_k25cmA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_qTpOZNVDEd--sr5_k25cmA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_qTpOZdVDEd--sr5_k25cmA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_qTpOZtVDEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_qTpOZ9VDEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_qTpOaNVDEd--sr5_k25cmA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_qTpOadVDEd--sr5_k25cmA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_qTpOatVDEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_qTpOa9VDEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_qTpObNVDEd--sr5_k25cmA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_qTpOYtVDEd--sr5_k25cmA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Configuration.ecore#//QueryExecutionValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qTpOY9VDEd--sr5_k25cmA" x="215" y="450" width="162" height="63"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PD5qINVEEd--sr5_k25cmA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_PD5qI9VEEd--sr5_k25cmA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_PD5qJNVEEd--sr5_k25cmA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_PD5qJdVEEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PD5qJtVEEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PD5qJ9VEEd--sr5_k25cmA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PD5qKNVEEd--sr5_k25cmA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_PD5qKdVEEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PD5qKtVEEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PD5qK9VEEd--sr5_k25cmA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_PD5qIdVEEd--sr5_k25cmA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Configuration.ecore#//ConstantParameterValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PD5qItVEEd--sr5_k25cmA" x="435" y="450" height="63"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5MnHINXaEd-0J-FKW8HdHA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_5Mw4INXaEd-0J-FKW8HdHA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_5Mw4IdXaEd-0J-FKW8HdHA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_5Mw4ItXaEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5Mw4I9XaEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5Mw4JNXaEd-0J-FKW8HdHA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5Mw4JdXaEd-0J-FKW8HdHA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_5Mw4JtXaEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5Mw4J9XaEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5Mw4KNXaEd-0J-FKW8HdHA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_5MnHIdXaEd-0J-FKW8HdHA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Configuration.ecore#//ListParameterValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MnHItXaEd-0J-FKW8HdHA" x="655" y="450" width="152" height="63"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_QyE1MNXeEd-0J-FKW8HdHA" type="Note" description="Can return a single element or a collection of elements" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_QyE1NNXeEd-0J-FKW8HdHA" type="DiagramName">
+ <element xsi:nil="true"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_QyE1NdXeEd-0J-FKW8HdHA" type="Description">
+ <element xsi:nil="true"/>
+ </children>
+ <styles xmi:type="notation:TextStyle" xmi:id="_QyE1MdXeEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:LineTypeStyle" xmi:id="_QyE1MtXeEd-0J-FKW8HdHA"/>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyE1M9XeEd-0J-FKW8HdHA" x="35" y="550" width="211" height="46"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VuRpcNXeEd-0J-FKW8HdHA" type="Note" description="Returns only one element" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_VuRpdNXeEd-0J-FKW8HdHA" type="DiagramName">
+ <element xsi:nil="true"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_VuRpddXeEd-0J-FKW8HdHA" type="Description">
+ <element xsi:nil="true"/>
+ </children>
+ <styles xmi:type="notation:TextStyle" xmi:id="_VuRpcdXeEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:LineTypeStyle" xmi:id="_VuRpctXeEd-0J-FKW8HdHA"/>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VuRpc9XeEd-0J-FKW8HdHA" x="656" y="547" width="165" height="34"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_yhu7MtFTEd-fOo9it8hYhw"/>
+ <element xmi:type="ecore:EPackage" href="Configuration.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_NU2YaNFUEd-fOo9it8hYhw" type="3003" source="_7kfVINFTEd-fOo9it8hYhw" target="_NUtOcNFUEd-fOo9it8hYhw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_NU2YadFUEd-fOo9it8hYhw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NU2YatFUEd-fOo9it8hYhw"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NU2Ya9FUEd-fOo9it8hYhw" points="[-6, -20, 113, 381]$[-119, -400, 0, 1]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Pe_UsNFUEd-fOo9it8hYhw" type="3002" source="_7kfVINFTEd-fOo9it8hYhw" target="_PeY3wNFUEd-fOo9it8hYhw">
+ <children xmi:type="notation:Node" xmi:id="_Pe_UtNFUEd-fOo9it8hYhw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Pe_UtdFUEd-fOo9it8hYhw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Pe_UttFUEd-fOo9it8hYhw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Pe_Ut9FUEd-fOo9it8hYhw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Pe_UsdFUEd-fOo9it8hYhw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Pe_UstFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Configuration.ecore#//ModiscoQueryConfiguration/query"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Pe_Us9FUEd-fOo9it8hYhw" points="[-11, -20, 137, 256]$[-148, -275, 0, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_P-IHwNFUEd-fOo9it8hYhw" id="(0.9481865284974094,0.1853932584269663)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XPWSoNFUEd-fOo9it8hYhw" type="3002" source="_7kfVINFTEd-fOo9it8hYhw" target="_SV-I4NFUEd-fOo9it8hYhw">
+ <children xmi:type="notation:Node" xmi:id="_XPWSpNFUEd-fOo9it8hYhw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XPWSpdFUEd-fOo9it8hYhw" x="-40" y="21"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XPWSptFUEd-fOo9it8hYhw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XPWSp9FUEd-fOo9it8hYhw" x="1" y="-12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XPWSodFUEd-fOo9it8hYhw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XPWSotFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Configuration.ecore#//ModiscoQueryConfiguration/parameterValues"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XPWSo9FUEd-fOo9it8hYhw" points="[9, 20, -45, -101]$[55, 120, 1, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7GVAMNFYEd-fOo9it8hYhw" id="(0.9378238341968912,0.7358490566037735)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XPWSqNFUEd-fOo9it8hYhw" id="(0.04435483870967742,0.2037037037037037)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_brqF4NFUEd-fOo9it8hYhw" type="3002" source="_PeY3wNFUEd-fOo9it8hYhw" target="_brgU4NFUEd-fOo9it8hYhw">
+ <children xmi:type="notation:Node" xmi:id="_brqF5NFUEd-fOo9it8hYhw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_brqF5dFUEd-fOo9it8hYhw" x="-18" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_brqF5tFUEd-fOo9it8hYhw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_brqF59FUEd-fOo9it8hYhw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_brqF4dFUEd-fOo9it8hYhw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_brqF4tFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="platform:/resource/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery/parameters"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_brqF49FUEd-fOo9it8hYhw" points="[-90, -63, 373, 266]$[-462, -328, 1, 1]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5mVVUNVDEd--sr5_k25cmA" id="(0.03211009174311927,0.1962025316455696)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_ddpn8NFUEd-fOo9it8hYhw" type="3002" source="_SV-I4NFUEd-fOo9it8hYhw" target="_brgU4NFUEd-fOo9it8hYhw">
+ <children xmi:type="notation:Node" xmi:id="_ddpn9NFUEd-fOo9it8hYhw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ddpn9dFUEd-fOo9it8hYhw" x="-21" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ddpn9tFUEd-fOo9it8hYhw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ddpn99FUEd-fOo9it8hYhw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ddpn8dFUEd-fOo9it8hYhw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ddpn8tFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Configuration.ecore#//ParameterValue/parameter"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ddpn89FUEd-fOo9it8hYhw" points="[12, -1, -237, 32]$[141, -19, -108, 14]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ddpn-NFUEd-fOo9it8hYhw" id="(0.9516129032258065,0.08974358974358974)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_79uqgNVDEd--sr5_k25cmA" id="(0.0779816513761468,0.7278481012658228)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Ezr6MNK1Ed-6Cr0DOh7rhg" type="3002" source="_PD5qINVEEd--sr5_k25cmA" target="_EyyiUNK1Ed-6Cr0DOh7rhg">
+ <children xmi:type="notation:Node" xmi:id="_Ezr6NNK1Ed-6Cr0DOh7rhg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ezr6NdK1Ed-6Cr0DOh7rhg" x="-3" y="-46"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ezr6NtK1Ed-6Cr0DOh7rhg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ezr6N9K1Ed-6Cr0DOh7rhg" x="-3" y="17"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ezr6MdK1Ed-6Cr0DOh7rhg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Ezr6MtK1Ed-6Cr0DOh7rhg" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Configuration.ecore#//ConstantParameterValue/valueInstance"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ezr6M9K1Ed-6Cr0DOh7rhg" points="[-38, -38, 421, 421]$[-458, -458, 1, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GRG6cNK1Ed-6Cr0DOh7rhg" id="(0.4785276073619632,0.9523809523809523)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_tF3eYNVDEd--sr5_k25cmA" type="3003" source="_qTpOYdVDEd--sr5_k25cmA" target="_SV-I4NFUEd-fOo9it8hYhw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_tF3eYdVDEd--sr5_k25cmA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_tF3eYtVDEd--sr5_k25cmA"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tF3eY9VDEd--sr5_k25cmA" points="[50, -14, -205, 57]$[50, -39, -205, 32]$[240, -39, -15, 32]$[240, -63, -15, 8]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tGAoUNVDEd--sr5_k25cmA" id="(0.4074074074074074,0.22950819672131148)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kh7TwNVEEd--sr5_k25cmA" id="(0.5310077519379846,0.9259259259259259)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_vMRKMNVDEd--sr5_k25cmA" type="3002" source="_qTpOYdVDEd--sr5_k25cmA" target="_NUtOcNFUEd-fOo9it8hYhw">
+ <children xmi:type="notation:Node" xmi:id="_vMRKNNVDEd--sr5_k25cmA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vMRKNdVDEd--sr5_k25cmA" x="57" y="-13"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vMRKNtVDEd--sr5_k25cmA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vMRKN9VDEd--sr5_k25cmA" x="89" y="13"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_vMRKMdVDEd--sr5_k25cmA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_vMRKMtVDEd--sr5_k25cmA" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Configuration.ecore#//QueryExecutionValue/configuration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vMRKM9VDEd--sr5_k25cmA" points="[-9, -9, 15, 365]$[-208, -9, -184, 365]$[-208, -374, -184, 0]$[-104, -374, -80, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vMRKONVDEd--sr5_k25cmA" id="(0.06172839506172839,0.5737704918032787)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XtUXANVEEd--sr5_k25cmA" type="3003" source="_PD5qINVEEd--sr5_k25cmA" target="_SV-I4NFUEd-fOo9it8hYhw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XtUXAdVEEd--sr5_k25cmA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XtUXAtVEEd--sr5_k25cmA"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XtUXA9VEEd--sr5_k25cmA" points="[-31, -4, -26, 59]$[-31, -29, -26, 34]$[-2, -29, 3, 34]$[-2, -53, 3, 10]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XtUXBNVEEd--sr5_k25cmA" id="(0.5398773006134969,0.07936507936507936)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XtUXBdVEEd--sr5_k25cmA" id="(0.4573643410852713,0.9166666666666666)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_9AY6wNXaEd-0J-FKW8HdHA" type="3003" source="_5MnHINXaEd-0J-FKW8HdHA" target="_SV-I4NFUEd-fOo9it8hYhw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_9AY6wdXaEd-0J-FKW8HdHA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_9AY6wtXaEd-0J-FKW8HdHA"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9AY6w9XaEd-0J-FKW8HdHA" points="[-41, -4, 194, 61]$[-41, -29, 194, 36]$[-203, -29, 32, 36]$[-203, -53, 32, 12]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9AY6xNXaEd-0J-FKW8HdHA" id="(0.45394736842105265,0.07936507936507936)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9AY6xdXaEd-0J-FKW8HdHA" id="(0.3467741935483871,0.8888888888888888)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_BLQ_wNXbEd-0J-FKW8HdHA" type="3002" source="_5MnHINXaEd-0J-FKW8HdHA" target="_SV-I4NFUEd-fOo9it8hYhw">
+ <children xmi:type="notation:Node" xmi:id="_BLQ_xNXbEd-0J-FKW8HdHA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_BLQ_xdXbEd-0J-FKW8HdHA" x="5" y="14"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_BLQ_xtXbEd-0J-FKW8HdHA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_BLQ_x9XbEd-0J-FKW8HdHA" x="12" y="-11"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_BLQ_wdXbEd-0J-FKW8HdHA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_BLQ_wtXbEd-0J-FKW8HdHA" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Configuration.ecore#//ListParameterValue/values"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BLQ_w9XbEd-0J-FKW8HdHA" points="[0, -14, 121, 73]$[0, -87, 121, 0]$[-106, -87, 15, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BLQ_yNXbEd-0J-FKW8HdHA" id="(0.7171052631578947,0.23809523809523808)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BLQ_ydXbEd-0J-FKW8HdHA" id="(0.9395161290322581,0.7777777777777778)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Uh-1cNXeEd-0J-FKW8HdHA" type="NoteAttachment" source="_QyE1MNXeEd-0J-FKW8HdHA" target="_qTpOYdVDEd--sr5_k25cmA" lineWidth="1">
+ <styles xmi:type="notation:ArrowStyle" xmi:id="_Uh-1cdXeEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:LineTypeStyle" xmi:id="_Uh-1ctXeEd-0J-FKW8HdHA"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Uh-1c9XeEd-0J-FKW8HdHA" points="[6, -12, -29, 55]$[36, -51, 1, 16]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UiImcNXeEd-0J-FKW8HdHA" id="(0.7582938388625592,0.2608695652173913)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UiImcdXeEd-0J-FKW8HdHA" id="(0.09876543209876543,0.746031746031746)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_YSfSoNXeEd-0J-FKW8HdHA" type="NoteAttachment" source="_VuRpcNXeEd-0J-FKW8HdHA" target="_PD5qINVEEd--sr5_k25cmA" lineWidth="1">
+ <styles xmi:type="notation:ArrowStyle" xmi:id="_YSfSodXeEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:LineTypeStyle" xmi:id="_YSfSotXeEd-0J-FKW8HdHA"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YSfSo9XeEd-0J-FKW8HdHA" points="[-13, -8, 90, 60]$[-101, -44, 2, 24]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YSfSpNXeEd-0J-FKW8HdHA" id="(0.10909090909090909,0.23529411764705882)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YSfSpdXeEd-0J-FKW8HdHA" id="(0.8466257668711656,0.6190476190476191)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel
index f3e5af92bf1..d43b6887969 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel
@@ -1,41 +1,41 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.infra.queries.core.configuration/src-gen"
- editDirectory="/org.eclipse.papyrus.infra.queries.core.configuration.edit/src-gen"
- editorDirectory="/org.eclipse.papyrus.infra.queries.core.configuration.editor/src-gen"
- modelPluginID="org.eclipse.papyrus.infra.queries.core.configuration" modelName="Configuration"
- modelPluginClass="org.eclipse.papyrus.infra.queries.core.configuration.plugin.Activator"
- testsDirectory="/org.eclipse.papyrus.infra.queries.core.configuration.tests/src-gen"
- importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
- usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.genmodel#//query platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
- <foreignModel>Configuration.ecore</foreignModel>
- <genPackages prefix="Configuration" basePackage="org.eclipse.papyrus.infra.queries.core"
- resource="XML" disposableProviderFactory="true" ecorePackage="Configuration.ecore#/">
- <genClasses image="false" ecoreClass="Configuration.ecore#//QueryConfiguration">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Configuration.ecore#//QueryConfiguration/name"/>
- </genClasses>
- <genClasses ecoreClass="Configuration.ecore#//ModiscoQueryConfiguration">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Configuration.ecore#//ModiscoQueryConfiguration/query"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Configuration.ecore#//ModiscoQueryConfiguration/parameterValues"/>
- </genClasses>
- <genClasses image="false" ecoreClass="Configuration.ecore#//ParameterValue">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Configuration.ecore#//ParameterValue/parameter"/>
- </genClasses>
- <genClasses ecoreClass="Configuration.ecore#//QueryExecutionValue">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Configuration.ecore#//QueryExecutionValue/configuration"/>
- </genClasses>
- <genClasses ecoreClass="Configuration.ecore#//ConstantParameterValue">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Configuration.ecore#//ConstantParameterValue/valueInstance"/>
- </genClasses>
- <genClasses ecoreClass="Configuration.ecore#//ListParameterValue">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Configuration.ecore#//ListParameterValue/values"/>
- </genClasses>
- </genPackages>
- <genPackages prefix="Types" ecorePackage="http://www.eclipse.org/uml2/4.0.0/Types#/">
- <genDataTypes ecoreDataType="http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
- <genDataTypes ecoreDataType="http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
- <genDataTypes ecoreDataType="http://www.eclipse.org/uml2/4.0.0/Types#//Real"/>
- <genDataTypes ecoreDataType="http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
- <genDataTypes ecoreDataType="http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"/>
- </genPackages>
-</genmodel:GenModel>
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.infra.queries.core.configuration/src-gen"
+ editDirectory="/org.eclipse.papyrus.infra.queries.core.configuration.edit/src-gen"
+ editorDirectory="/org.eclipse.papyrus.infra.queries.core.configuration.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.infra.queries.core.configuration" modelName="Configuration"
+ modelPluginClass="org.eclipse.papyrus.infra.queries.core.configuration.plugin.Activator"
+ testsDirectory="/org.eclipse.papyrus.infra.queries.core.configuration.tests/src-gen"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.genmodel#//query platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
+ <foreignModel>Configuration.ecore</foreignModel>
+ <genPackages prefix="Configuration" basePackage="org.eclipse.papyrus.infra.queries.core"
+ resource="XML" disposableProviderFactory="true" ecorePackage="Configuration.ecore#/">
+ <genClasses image="false" ecoreClass="Configuration.ecore#//QueryConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Configuration.ecore#//QueryConfiguration/name"/>
+ </genClasses>
+ <genClasses ecoreClass="Configuration.ecore#//ModiscoQueryConfiguration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Configuration.ecore#//ModiscoQueryConfiguration/query"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Configuration.ecore#//ModiscoQueryConfiguration/parameterValues"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="Configuration.ecore#//ParameterValue">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Configuration.ecore#//ParameterValue/parameter"/>
+ </genClasses>
+ <genClasses ecoreClass="Configuration.ecore#//QueryExecutionValue">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Configuration.ecore#//QueryExecutionValue/configuration"/>
+ </genClasses>
+ <genClasses ecoreClass="Configuration.ecore#//ConstantParameterValue">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Configuration.ecore#//ConstantParameterValue/valueInstance"/>
+ </genClasses>
+ <genClasses ecoreClass="Configuration.ecore#//ListParameterValue">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Configuration.ecore#//ListParameterValue/values"/>
+ </genClasses>
+ </genPackages>
+ <genPackages prefix="Types" ecorePackage="http://www.eclipse.org/uml2/4.0.0/Types#/">
+ <genDataTypes ecoreDataType="http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+ <genDataTypes ecoreDataType="http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
+ <genDataTypes ecoreDataType="http://www.eclipse.org/uml2/4.0.0/Types#//Real"/>
+ <genDataTypes ecoreDataType="http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+ <genDataTypes ecoreDataType="http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"/>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/plugin.properties b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/plugin.properties
index 27eac336a7e..1a9f69dff87 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/plugin.properties
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/plugin.properties
@@ -1,12 +1,12 @@
-################################################################################
-# Copyright (c) 2008 CEA LIST.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - initial API and implementation
-################################################################################
-pluginName=Configuration Model for queries (Incubation)
-providerName=Eclipse Modeling Project
+################################################################################
+# Copyright (c) 2008 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - initial API and implementation
+################################################################################
+pluginName=Configuration Model for queries (Incubation)
+providerName=Eclipse Modeling Project
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/plugin.xml b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/plugin.xml
index 52cff66df0a..f8096d2d483 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/plugin.xml
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/plugin.xml
@@ -1,26 +1,26 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<!--
- <copyright>
- </copyright>
-
- $Id$
--->
-
-<plugin>
-
- <extension point="org.eclipse.emf.ecore.generated_package">
- <package
- uri="http://www.eclipse.org/papyrus/core/queries/0.7"
- class="org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage"
- genModel="model/Configuration.genmodel"/>
- </extension>
-
- <extension point="org.eclipse.emf.ecore.extension_parser">
- <parser
- type="configuration"
- class="org.eclipse.papyrus.infra.queries.core.configuration.util.ConfigurationResourceFactoryImpl"/>
- </extension>
-
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/papyrus/core/queries/0.7"
+ class="org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage"
+ genModel="model/Configuration.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="configuration"
+ class="org.eclipse.papyrus.infra.queries.core.configuration.util.ConfigurationResourceFactoryImpl"/>
+ </extension>
+
+</plugin>
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConfigurationFactory.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConfigurationFactory.java
index a41797e0838..019f14e5cc3 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConfigurationFactory.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConfigurationFactory.java
@@ -1,73 +1,73 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage
- * @generated
- */
-public interface ConfigurationFactory extends EFactory {
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ConfigurationFactory eINSTANCE = org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Modisco Query Configuration</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Modisco Query Configuration</em>'.
- * @generated
- */
- ModiscoQueryConfiguration createModiscoQueryConfiguration();
-
- /**
- * Returns a new object of class '<em>Query Execution Value</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Query Execution Value</em>'.
- * @generated
- */
- QueryExecutionValue createQueryExecutionValue();
-
- /**
- * Returns a new object of class '<em>Constant Parameter Value</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Constant Parameter Value</em>'.
- * @generated
- */
- ConstantParameterValue createConstantParameterValue();
-
- /**
- * Returns a new object of class '<em>List Parameter Value</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>List Parameter Value</em>'.
- * @generated
- */
- ListParameterValue createListParameterValue();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- ConfigurationPackage getConfigurationPackage();
-
-} //ConfigurationFactory
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage
+ * @generated
+ */
+public interface ConfigurationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ConfigurationFactory eINSTANCE = org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Modisco Query Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Modisco Query Configuration</em>'.
+ * @generated
+ */
+ ModiscoQueryConfiguration createModiscoQueryConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Query Execution Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Query Execution Value</em>'.
+ * @generated
+ */
+ QueryExecutionValue createQueryExecutionValue();
+
+ /**
+ * Returns a new object of class '<em>Constant Parameter Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Constant Parameter Value</em>'.
+ * @generated
+ */
+ ConstantParameterValue createConstantParameterValue();
+
+ /**
+ * Returns a new object of class '<em>List Parameter Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>List Parameter Value</em>'.
+ * @generated
+ */
+ ListParameterValue createListParameterValue();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ConfigurationPackage getConfigurationPackage();
+
+} //ConfigurationFactory
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConfigurationPackage.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConfigurationPackage.java
index 5560e67ef85..9c1e0cb7f80 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConfigurationPackage.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConfigurationPackage.java
@@ -1,553 +1,553 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationFactory
- * @model kind="package"
- * @generated
- */
-public interface ConfigurationPackage extends EPackage {
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "configuration";
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://www.eclipse.org/papyrus/core/queries/0.7";
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "configuration";
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ConfigurationPackage eINSTANCE = org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryConfigurationImpl <em>Query Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryConfigurationImpl
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getQueryConfiguration()
- * @generated
- */
- int QUERY_CONFIGURATION = 0;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int QUERY_CONFIGURATION__NAME = 0;
-
- /**
- * The number of structural features of the '<em>Query Configuration</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int QUERY_CONFIGURATION_FEATURE_COUNT = 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ModiscoQueryConfigurationImpl <em>Modisco Query Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ModiscoQueryConfigurationImpl
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getModiscoQueryConfiguration()
- * @generated
- */
- int MODISCO_QUERY_CONFIGURATION = 1;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MODISCO_QUERY_CONFIGURATION__NAME = QUERY_CONFIGURATION__NAME;
-
- /**
- * The feature id for the '<em><b>Query</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MODISCO_QUERY_CONFIGURATION__QUERY = QUERY_CONFIGURATION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Parameter Values</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES = QUERY_CONFIGURATION_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the '<em>Modisco Query Configuration</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MODISCO_QUERY_CONFIGURATION_FEATURE_COUNT = QUERY_CONFIGURATION_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ParameterValueImpl <em>Parameter Value</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ParameterValueImpl
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getParameterValue()
- * @generated
- */
- int PARAMETER_VALUE = 2;
-
- /**
- * The feature id for the '<em><b>Parameter</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_VALUE__PARAMETER = 0;
-
- /**
- * The number of structural features of the '<em>Parameter Value</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_VALUE_FEATURE_COUNT = 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryExecutionValueImpl <em>Query Execution Value</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryExecutionValueImpl
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getQueryExecutionValue()
- * @generated
- */
- int QUERY_EXECUTION_VALUE = 3;
-
- /**
- * The feature id for the '<em><b>Parameter</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int QUERY_EXECUTION_VALUE__PARAMETER = PARAMETER_VALUE__PARAMETER;
-
- /**
- * The feature id for the '<em><b>Configuration</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int QUERY_EXECUTION_VALUE__CONFIGURATION = PARAMETER_VALUE_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the '<em>Query Execution Value</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int QUERY_EXECUTION_VALUE_FEATURE_COUNT = PARAMETER_VALUE_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ConstantParameterValueImpl <em>Constant Parameter Value</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConstantParameterValueImpl
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getConstantParameterValue()
- * @generated
- */
- int CONSTANT_PARAMETER_VALUE = 4;
-
- /**
- * The feature id for the '<em><b>Parameter</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONSTANT_PARAMETER_VALUE__PARAMETER = PARAMETER_VALUE__PARAMETER;
-
- /**
- * The feature id for the '<em><b>Value Instance</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE = PARAMETER_VALUE_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the '<em>Constant Parameter Value</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONSTANT_PARAMETER_VALUE_FEATURE_COUNT = PARAMETER_VALUE_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ListParameterValueImpl <em>List Parameter Value</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ListParameterValueImpl
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getListParameterValue()
- * @generated
- */
- int LIST_PARAMETER_VALUE = 5;
-
- /**
- * The feature id for the '<em><b>Parameter</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int LIST_PARAMETER_VALUE__PARAMETER = PARAMETER_VALUE__PARAMETER;
-
- /**
- * The feature id for the '<em><b>Values</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int LIST_PARAMETER_VALUE__VALUES = PARAMETER_VALUE_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the '<em>List Parameter Value</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int LIST_PARAMETER_VALUE_FEATURE_COUNT = PARAMETER_VALUE_FEATURE_COUNT + 1;
-
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration <em>Query Configuration</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Query Configuration</em>'.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration
- * @generated
- */
- EClass getQueryConfiguration();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration#getName <em>Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Name</em>'.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration#getName()
- * @see #getQueryConfiguration()
- * @generated
- */
- EAttribute getQueryConfiguration_Name();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration <em>Modisco Query Configuration</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Modisco Query Configuration</em>'.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration
- * @generated
- */
- EClass getModiscoQueryConfiguration();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getQuery <em>Query</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Query</em>'.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getQuery()
- * @see #getModiscoQueryConfiguration()
- * @generated
- */
- EReference getModiscoQueryConfiguration_Query();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getParameterValues <em>Parameter Values</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Parameter Values</em>'.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getParameterValues()
- * @see #getModiscoQueryConfiguration()
- * @generated
- */
- EReference getModiscoQueryConfiguration_ParameterValues();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue <em>Parameter Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Parameter Value</em>'.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue
- * @generated
- */
- EClass getParameterValue();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue#getParameter <em>Parameter</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Parameter</em>'.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue#getParameter()
- * @see #getParameterValue()
- * @generated
- */
- EReference getParameterValue_Parameter();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue <em>Query Execution Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Query Execution Value</em>'.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue
- * @generated
- */
- EClass getQueryExecutionValue();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue#getConfiguration <em>Configuration</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Configuration</em>'.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue#getConfiguration()
- * @see #getQueryExecutionValue()
- * @generated
- */
- EReference getQueryExecutionValue_Configuration();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue <em>Constant Parameter Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Constant Parameter Value</em>'.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue
- * @generated
- */
- EClass getConstantParameterValue();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue#getValueInstance <em>Value Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Value Instance</em>'.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue#getValueInstance()
- * @see #getConstantParameterValue()
- * @generated
- */
- EReference getConstantParameterValue_ValueInstance();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue <em>List Parameter Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>List Parameter Value</em>'.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue
- * @generated
- */
- EClass getListParameterValue();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue#getValues <em>Values</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Values</em>'.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue#getValues()
- * @see #getListParameterValue()
- * @generated
- */
- EReference getListParameterValue_Values();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- ConfigurationFactory getConfigurationFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
- interface Literals {
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryConfigurationImpl <em>Query Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryConfigurationImpl
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getQueryConfiguration()
- * @generated
- */
- EClass QUERY_CONFIGURATION = eINSTANCE.getQueryConfiguration();
-
- /**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute QUERY_CONFIGURATION__NAME = eINSTANCE.getQueryConfiguration_Name();
-
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ModiscoQueryConfigurationImpl <em>Modisco Query Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ModiscoQueryConfigurationImpl
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getModiscoQueryConfiguration()
- * @generated
- */
- EClass MODISCO_QUERY_CONFIGURATION = eINSTANCE.getModiscoQueryConfiguration();
-
- /**
- * The meta object literal for the '<em><b>Query</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference MODISCO_QUERY_CONFIGURATION__QUERY = eINSTANCE.getModiscoQueryConfiguration_Query();
-
- /**
- * The meta object literal for the '<em><b>Parameter Values</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES = eINSTANCE.getModiscoQueryConfiguration_ParameterValues();
-
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ParameterValueImpl <em>Parameter Value</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ParameterValueImpl
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getParameterValue()
- * @generated
- */
- EClass PARAMETER_VALUE = eINSTANCE.getParameterValue();
-
- /**
- * The meta object literal for the '<em><b>Parameter</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference PARAMETER_VALUE__PARAMETER = eINSTANCE.getParameterValue_Parameter();
-
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryExecutionValueImpl <em>Query Execution Value</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryExecutionValueImpl
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getQueryExecutionValue()
- * @generated
- */
- EClass QUERY_EXECUTION_VALUE = eINSTANCE.getQueryExecutionValue();
-
- /**
- * The meta object literal for the '<em><b>Configuration</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference QUERY_EXECUTION_VALUE__CONFIGURATION = eINSTANCE.getQueryExecutionValue_Configuration();
-
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ConstantParameterValueImpl <em>Constant Parameter Value</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConstantParameterValueImpl
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getConstantParameterValue()
- * @generated
- */
- EClass CONSTANT_PARAMETER_VALUE = eINSTANCE.getConstantParameterValue();
-
- /**
- * The meta object literal for the '<em><b>Value Instance</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE = eINSTANCE.getConstantParameterValue_ValueInstance();
-
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ListParameterValueImpl <em>List Parameter Value</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ListParameterValueImpl
- * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getListParameterValue()
- * @generated
- */
- EClass LIST_PARAMETER_VALUE = eINSTANCE.getListParameterValue();
-
- /**
- * The meta object literal for the '<em><b>Values</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference LIST_PARAMETER_VALUE__VALUES = eINSTANCE.getListParameterValue_Values();
-
- }
-
-} //ConfigurationPackage
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ConfigurationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "configuration";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/core/queries/0.7";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "configuration";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ConfigurationPackage eINSTANCE = org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryConfigurationImpl <em>Query Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryConfigurationImpl
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getQueryConfiguration()
+ * @generated
+ */
+ int QUERY_CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CONFIGURATION__NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Query Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CONFIGURATION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ModiscoQueryConfigurationImpl <em>Modisco Query Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ModiscoQueryConfigurationImpl
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getModiscoQueryConfiguration()
+ * @generated
+ */
+ int MODISCO_QUERY_CONFIGURATION = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODISCO_QUERY_CONFIGURATION__NAME = QUERY_CONFIGURATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODISCO_QUERY_CONFIGURATION__QUERY = QUERY_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Parameter Values</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES = QUERY_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Modisco Query Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODISCO_QUERY_CONFIGURATION_FEATURE_COUNT = QUERY_CONFIGURATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ParameterValueImpl <em>Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ParameterValueImpl
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getParameterValue()
+ * @generated
+ */
+ int PARAMETER_VALUE = 2;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER_VALUE__PARAMETER = 0;
+
+ /**
+ * The number of structural features of the '<em>Parameter Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER_VALUE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryExecutionValueImpl <em>Query Execution Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryExecutionValueImpl
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getQueryExecutionValue()
+ * @generated
+ */
+ int QUERY_EXECUTION_VALUE = 3;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_EXECUTION_VALUE__PARAMETER = PARAMETER_VALUE__PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Configuration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_EXECUTION_VALUE__CONFIGURATION = PARAMETER_VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Query Execution Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_EXECUTION_VALUE_FEATURE_COUNT = PARAMETER_VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ConstantParameterValueImpl <em>Constant Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConstantParameterValueImpl
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getConstantParameterValue()
+ * @generated
+ */
+ int CONSTANT_PARAMETER_VALUE = 4;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTANT_PARAMETER_VALUE__PARAMETER = PARAMETER_VALUE__PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Value Instance</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE = PARAMETER_VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Constant Parameter Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTANT_PARAMETER_VALUE_FEATURE_COUNT = PARAMETER_VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ListParameterValueImpl <em>List Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ListParameterValueImpl
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getListParameterValue()
+ * @generated
+ */
+ int LIST_PARAMETER_VALUE = 5;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_PARAMETER_VALUE__PARAMETER = PARAMETER_VALUE__PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_PARAMETER_VALUE__VALUES = PARAMETER_VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>List Parameter Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_PARAMETER_VALUE_FEATURE_COUNT = PARAMETER_VALUE_FEATURE_COUNT + 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration <em>Query Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration
+ * @generated
+ */
+ EClass getQueryConfiguration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration#getName()
+ * @see #getQueryConfiguration()
+ * @generated
+ */
+ EAttribute getQueryConfiguration_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration <em>Modisco Query Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Modisco Query Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration
+ * @generated
+ */
+ EClass getModiscoQueryConfiguration();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getQuery <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Query</em>'.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getQuery()
+ * @see #getModiscoQueryConfiguration()
+ * @generated
+ */
+ EReference getModiscoQueryConfiguration_Query();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getParameterValues <em>Parameter Values</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Parameter Values</em>'.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getParameterValues()
+ * @see #getModiscoQueryConfiguration()
+ * @generated
+ */
+ EReference getModiscoQueryConfiguration_ParameterValues();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue <em>Parameter Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Parameter Value</em>'.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue
+ * @generated
+ */
+ EClass getParameterValue();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue#getParameter <em>Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Parameter</em>'.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue#getParameter()
+ * @see #getParameterValue()
+ * @generated
+ */
+ EReference getParameterValue_Parameter();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue <em>Query Execution Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query Execution Value</em>'.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue
+ * @generated
+ */
+ EClass getQueryExecutionValue();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue#getConfiguration <em>Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue#getConfiguration()
+ * @see #getQueryExecutionValue()
+ * @generated
+ */
+ EReference getQueryExecutionValue_Configuration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue <em>Constant Parameter Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Constant Parameter Value</em>'.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue
+ * @generated
+ */
+ EClass getConstantParameterValue();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue#getValueInstance <em>Value Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Value Instance</em>'.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue#getValueInstance()
+ * @see #getConstantParameterValue()
+ * @generated
+ */
+ EReference getConstantParameterValue_ValueInstance();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue <em>List Parameter Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>List Parameter Value</em>'.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue
+ * @generated
+ */
+ EClass getListParameterValue();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue#getValues <em>Values</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Values</em>'.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue#getValues()
+ * @see #getListParameterValue()
+ * @generated
+ */
+ EReference getListParameterValue_Values();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ConfigurationFactory getConfigurationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryConfigurationImpl <em>Query Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryConfigurationImpl
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getQueryConfiguration()
+ * @generated
+ */
+ EClass QUERY_CONFIGURATION = eINSTANCE.getQueryConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute QUERY_CONFIGURATION__NAME = eINSTANCE.getQueryConfiguration_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ModiscoQueryConfigurationImpl <em>Modisco Query Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ModiscoQueryConfigurationImpl
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getModiscoQueryConfiguration()
+ * @generated
+ */
+ EClass MODISCO_QUERY_CONFIGURATION = eINSTANCE.getModiscoQueryConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Query</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODISCO_QUERY_CONFIGURATION__QUERY = eINSTANCE.getModiscoQueryConfiguration_Query();
+
+ /**
+ * The meta object literal for the '<em><b>Parameter Values</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES = eINSTANCE.getModiscoQueryConfiguration_ParameterValues();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ParameterValueImpl <em>Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ParameterValueImpl
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getParameterValue()
+ * @generated
+ */
+ EClass PARAMETER_VALUE = eINSTANCE.getParameterValue();
+
+ /**
+ * The meta object literal for the '<em><b>Parameter</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PARAMETER_VALUE__PARAMETER = eINSTANCE.getParameterValue_Parameter();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryExecutionValueImpl <em>Query Execution Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryExecutionValueImpl
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getQueryExecutionValue()
+ * @generated
+ */
+ EClass QUERY_EXECUTION_VALUE = eINSTANCE.getQueryExecutionValue();
+
+ /**
+ * The meta object literal for the '<em><b>Configuration</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUERY_EXECUTION_VALUE__CONFIGURATION = eINSTANCE.getQueryExecutionValue_Configuration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ConstantParameterValueImpl <em>Constant Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConstantParameterValueImpl
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getConstantParameterValue()
+ * @generated
+ */
+ EClass CONSTANT_PARAMETER_VALUE = eINSTANCE.getConstantParameterValue();
+
+ /**
+ * The meta object literal for the '<em><b>Value Instance</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE = eINSTANCE.getConstantParameterValue_ValueInstance();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ListParameterValueImpl <em>List Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ListParameterValueImpl
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.impl.ConfigurationPackageImpl#getListParameterValue()
+ * @generated
+ */
+ EClass LIST_PARAMETER_VALUE = eINSTANCE.getListParameterValue();
+
+ /**
+ * The meta object literal for the '<em><b>Values</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LIST_PARAMETER_VALUE__VALUES = eINSTANCE.getListParameterValue_Values();
+
+ }
+
+} //ConfigurationPackage
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConstantParameterValue.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConstantParameterValue.java
index c7a98e250b4..c203a65f395 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConstantParameterValue.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ConstantParameterValue.java
@@ -1,54 +1,54 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration;
-
-import org.eclipse.uml2.uml.ValueSpecification;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Constant Parameter Value</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue#getValueInstance <em>Value Instance</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getConstantParameterValue()
- * @model
- * @generated
- */
-public interface ConstantParameterValue extends ParameterValue {
- /**
- * Returns the value of the '<em><b>Value Instance</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Value Instance</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Value Instance</em>' containment reference.
- * @see #setValueInstance(ValueSpecification)
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getConstantParameterValue_ValueInstance()
- * @model containment="true"
- * @generated
- */
- ValueSpecification getValueInstance();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue#getValueInstance <em>Value Instance</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Value Instance</em>' containment reference.
- * @see #getValueInstance()
- * @generated
- */
- void setValueInstance(ValueSpecification value);
-
-} // ConstantParameterValue
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration;
+
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Constant Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue#getValueInstance <em>Value Instance</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getConstantParameterValue()
+ * @model
+ * @generated
+ */
+public interface ConstantParameterValue extends ParameterValue {
+ /**
+ * Returns the value of the '<em><b>Value Instance</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value Instance</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value Instance</em>' containment reference.
+ * @see #setValueInstance(ValueSpecification)
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getConstantParameterValue_ValueInstance()
+ * @model containment="true"
+ * @generated
+ */
+ ValueSpecification getValueInstance();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue#getValueInstance <em>Value Instance</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value Instance</em>' containment reference.
+ * @see #getValueInstance()
+ * @generated
+ */
+ void setValueInstance(ValueSpecification value);
+
+} // ConstantParameterValue
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ListParameterValue.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ListParameterValue.java
index a15a622ece5..e4a9bc3d6ad 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ListParameterValue.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ListParameterValue.java
@@ -1,44 +1,44 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>List Parameter Value</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue#getValues <em>Values</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getListParameterValue()
- * @model
- * @generated
- */
-public interface ListParameterValue extends ParameterValue {
- /**
- * Returns the value of the '<em><b>Values</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Values</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>Values</em>' reference list.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getListParameterValue_Values()
- * @model
- * @generated
- */
- EList<ParameterValue> getValues();
-
-} // ListParameterValue
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>List Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getListParameterValue()
+ * @model
+ * @generated
+ */
+public interface ListParameterValue extends ParameterValue {
+ /**
+ * Returns the value of the '<em><b>Values</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Values</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>Values</em>' reference list.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getListParameterValue_Values()
+ * @model
+ * @generated
+ */
+ EList<ParameterValue> getValues();
+
+} // ListParameterValue
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ModiscoQueryConfiguration.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ModiscoQueryConfiguration.java
index e6316e5443c..3c91e0475e9 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ModiscoQueryConfiguration.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ModiscoQueryConfiguration.java
@@ -1,72 +1,72 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.facet.infra.query.ModelQuery;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Modisco Query Configuration</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getQuery <em>Query</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getParameterValues <em>Parameter Values</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getModiscoQueryConfiguration()
- * @model
- * @generated
- */
-public interface ModiscoQueryConfiguration extends QueryConfiguration {
- /**
- * Returns the value of the '<em><b>Query</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Query</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Query</em>' reference.
- * @see #setQuery(ModelQuery)
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getModiscoQueryConfiguration_Query()
- * @model required="true"
- * @generated
- */
- ModelQuery getQuery();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getQuery <em>Query</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Query</em>' reference.
- * @see #getQuery()
- * @generated
- */
- void setQuery(ModelQuery value);
-
- /**
- * Returns the value of the '<em><b>Parameter Values</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Parameter Values</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>Parameter Values</em>' containment reference list.
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getModiscoQueryConfiguration_ParameterValues()
- * @model containment="true"
- * @generated
- */
- EList<ParameterValue> getParameterValues();
-
-} // ModiscoQueryConfiguration
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.facet.infra.query.ModelQuery;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Modisco Query Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getParameterValues <em>Parameter Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getModiscoQueryConfiguration()
+ * @model
+ * @generated
+ */
+public interface ModiscoQueryConfiguration extends QueryConfiguration {
+ /**
+ * Returns the value of the '<em><b>Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Query</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Query</em>' reference.
+ * @see #setQuery(ModelQuery)
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getModiscoQueryConfiguration_Query()
+ * @model required="true"
+ * @generated
+ */
+ ModelQuery getQuery();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration#getQuery <em>Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Query</em>' reference.
+ * @see #getQuery()
+ * @generated
+ */
+ void setQuery(ModelQuery value);
+
+ /**
+ * Returns the value of the '<em><b>Parameter Values</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parameter Values</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>Parameter Values</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getModiscoQueryConfiguration_ParameterValues()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ParameterValue> getParameterValues();
+
+} // ModiscoQueryConfiguration
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ParameterValue.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ParameterValue.java
index 2f82772c2c2..1eacb81705d 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ParameterValue.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/ParameterValue.java
@@ -1,55 +1,55 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.facet.infra.query.ModelQueryParameter;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Parameter Value</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue#getParameter <em>Parameter</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getParameterValue()
- * @model abstract="true"
- * @generated
- */
-public interface ParameterValue extends EObject {
- /**
- * Returns the value of the '<em><b>Parameter</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Parameter</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Parameter</em>' reference.
- * @see #setParameter(ModelQueryParameter)
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getParameterValue_Parameter()
- * @model required="true"
- * @generated
- */
- ModelQueryParameter getParameter();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue#getParameter <em>Parameter</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Parameter</em>' reference.
- * @see #getParameter()
- * @generated
- */
- void setParameter(ModelQueryParameter value);
-
-} // ParameterValue
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.infra.query.ModelQueryParameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue#getParameter <em>Parameter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getParameterValue()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ParameterValue extends EObject {
+ /**
+ * Returns the value of the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parameter</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parameter</em>' reference.
+ * @see #setParameter(ModelQueryParameter)
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getParameterValue_Parameter()
+ * @model required="true"
+ * @generated
+ */
+ ModelQueryParameter getParameter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue#getParameter <em>Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parameter</em>' reference.
+ * @see #getParameter()
+ * @generated
+ */
+ void setParameter(ModelQueryParameter value);
+
+} // ParameterValue
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/QueryConfiguration.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/QueryConfiguration.java
index a97e1cc6261..61acc04d6a8 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/QueryConfiguration.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/QueryConfiguration.java
@@ -1,54 +1,54 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Query Configuration</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getQueryConfiguration()
- * @model abstract="true"
- * @generated
- */
-public interface QueryConfiguration extends EObject {
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getQueryConfiguration_Name()
- * @model required="true"
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
-} // QueryConfiguration
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getQueryConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface QueryConfiguration extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getQueryConfiguration_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // QueryConfiguration
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/QueryExecutionValue.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/QueryExecutionValue.java
index 768f82c46da..135d84a1108 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/QueryExecutionValue.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/QueryExecutionValue.java
@@ -1,53 +1,53 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Query Execution Value</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue#getConfiguration <em>Configuration</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getQueryExecutionValue()
- * @model
- * @generated
- */
-public interface QueryExecutionValue extends ParameterValue {
- /**
- * Returns the value of the '<em><b>Configuration</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Configuration</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Configuration</em>' reference.
- * @see #setConfiguration(QueryConfiguration)
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getQueryExecutionValue_Configuration()
- * @model required="true"
- * @generated
- */
- QueryConfiguration getConfiguration();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue#getConfiguration <em>Configuration</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Configuration</em>' reference.
- * @see #getConfiguration()
- * @generated
- */
- void setConfiguration(QueryConfiguration value);
-
-} // QueryExecutionValue
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query Execution Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue#getConfiguration <em>Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getQueryExecutionValue()
+ * @model
+ * @generated
+ */
+public interface QueryExecutionValue extends ParameterValue {
+ /**
+ * Returns the value of the '<em><b>Configuration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configuration</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Configuration</em>' reference.
+ * @see #setConfiguration(QueryConfiguration)
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#getQueryExecutionValue_Configuration()
+ * @model required="true"
+ * @generated
+ */
+ QueryConfiguration getConfiguration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue#getConfiguration <em>Configuration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Configuration</em>' reference.
+ * @see #getConfiguration()
+ * @generated
+ */
+ void setConfiguration(QueryConfiguration value);
+
+} // QueryExecutionValue
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConfigurationFactoryImpl.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConfigurationFactoryImpl.java
index c08ed885209..af052f72cd2 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConfigurationFactoryImpl.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConfigurationFactoryImpl.java
@@ -1,134 +1,134 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.impl;
-
-import org.eclipse.emf.ecore.EClass;
-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.queries.core.configuration.ConfigurationFactory;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ConfigurationFactoryImpl extends EFactoryImpl implements ConfigurationFactory {
- /**
- * Creates the default factory implementation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static ConfigurationFactory init() {
- try {
- ConfigurationFactory theConfigurationFactory = (ConfigurationFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/core/queries/0.7");
- if (theConfigurationFactory != null) {
- return theConfigurationFactory;
- }
- }
- catch (Exception exception) {
- EcorePlugin.INSTANCE.log(exception);
- }
- return new ConfigurationFactoryImpl();
- }
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConfigurationFactoryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION: return createModiscoQueryConfiguration();
- case ConfigurationPackage.QUERY_EXECUTION_VALUE: return createQueryExecutionValue();
- case ConfigurationPackage.CONSTANT_PARAMETER_VALUE: return createConstantParameterValue();
- case ConfigurationPackage.LIST_PARAMETER_VALUE: return createListParameterValue();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ModiscoQueryConfiguration createModiscoQueryConfiguration() {
- ModiscoQueryConfigurationImpl modiscoQueryConfiguration = new ModiscoQueryConfigurationImpl();
- return modiscoQueryConfiguration;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public QueryExecutionValue createQueryExecutionValue() {
- QueryExecutionValueImpl queryExecutionValue = new QueryExecutionValueImpl();
- return queryExecutionValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConstantParameterValue createConstantParameterValue() {
- ConstantParameterValueImpl constantParameterValue = new ConstantParameterValueImpl();
- return constantParameterValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ListParameterValue createListParameterValue() {
- ListParameterValueImpl listParameterValue = new ListParameterValueImpl();
- return listParameterValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConfigurationPackage getConfigurationPackage() {
- return (ConfigurationPackage)getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @deprecated
- * @generated
- */
- @Deprecated
- public static ConfigurationPackage getPackage() {
- return ConfigurationPackage.eINSTANCE;
- }
-
-} //ConfigurationFactoryImpl
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+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.queries.core.configuration.ConfigurationFactory;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConfigurationFactoryImpl extends EFactoryImpl implements ConfigurationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ConfigurationFactory init() {
+ try {
+ ConfigurationFactory theConfigurationFactory = (ConfigurationFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/core/queries/0.7");
+ if (theConfigurationFactory != null) {
+ return theConfigurationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ConfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION: return createModiscoQueryConfiguration();
+ case ConfigurationPackage.QUERY_EXECUTION_VALUE: return createQueryExecutionValue();
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE: return createConstantParameterValue();
+ case ConfigurationPackage.LIST_PARAMETER_VALUE: return createListParameterValue();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModiscoQueryConfiguration createModiscoQueryConfiguration() {
+ ModiscoQueryConfigurationImpl modiscoQueryConfiguration = new ModiscoQueryConfigurationImpl();
+ return modiscoQueryConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryExecutionValue createQueryExecutionValue() {
+ QueryExecutionValueImpl queryExecutionValue = new QueryExecutionValueImpl();
+ return queryExecutionValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConstantParameterValue createConstantParameterValue() {
+ ConstantParameterValueImpl constantParameterValue = new ConstantParameterValueImpl();
+ return constantParameterValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ListParameterValue createListParameterValue() {
+ ListParameterValueImpl listParameterValue = new ListParameterValueImpl();
+ return listParameterValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationPackage getConfigurationPackage() {
+ return (ConfigurationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ConfigurationPackage getPackage() {
+ return ConfigurationPackage.eINSTANCE;
+ }
+
+} //ConfigurationFactoryImpl
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConfigurationPackageImpl.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConfigurationPackageImpl.java
index 66153d6db8a..cadf7992d6d 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConfigurationPackageImpl.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConfigurationPackageImpl.java
@@ -1,372 +1,372 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.emf.facet.infra.query.QueryPackage;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationFactory;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
-import org.eclipse.uml2.types.TypesPackage;
-import org.eclipse.uml2.types.internal.impl.TypesPackageImpl;
-import org.eclipse.uml2.uml.UMLPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ConfigurationPackageImpl extends EPackageImpl implements ConfigurationPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass queryConfigurationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass modiscoQueryConfigurationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass parameterValueEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass queryExecutionValueEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass constantParameterValueEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass listParameterValueEClass = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>Note: the correct way to create the package is via the static
- * factory method {@link #init init()}, which also performs
- * initialization of the package, or returns the registered package,
- * if one already exists.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#eNS_URI
- * @see #init()
- * @generated
- */
- private ConfigurationPackageImpl() {
- super(eNS_URI, ConfigurationFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
- *
- * <p>This method is used to initialize {@link ConfigurationPackage#eINSTANCE} when that field is accessed.
- * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static ConfigurationPackage init() {
- if (isInited) return (ConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(ConfigurationPackage.eNS_URI);
-
- // Obtain or create and register package
- ConfigurationPackageImpl theConfigurationPackage = (ConfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ConfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ConfigurationPackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- QueryPackage.eINSTANCE.eClass();
- UMLPackage.eINSTANCE.eClass();
-
- // Obtain or create and register interdependencies
- TypesPackageImpl theTypesPackage = (TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI) instanceof TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI) : TypesPackage.eINSTANCE);
-
- // Create package meta-data objects
- theConfigurationPackage.createPackageContents();
- theTypesPackage.createPackageContents();
-
- // Initialize created meta-data
- theConfigurationPackage.initializePackageContents();
- theTypesPackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- theConfigurationPackage.freeze();
-
-
- // Update the registry and return the package
- EPackage.Registry.INSTANCE.put(ConfigurationPackage.eNS_URI, theConfigurationPackage);
- return theConfigurationPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getQueryConfiguration() {
- return queryConfigurationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getQueryConfiguration_Name() {
- return (EAttribute)queryConfigurationEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getModiscoQueryConfiguration() {
- return modiscoQueryConfigurationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getModiscoQueryConfiguration_Query() {
- return (EReference)modiscoQueryConfigurationEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getModiscoQueryConfiguration_ParameterValues() {
- return (EReference)modiscoQueryConfigurationEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getParameterValue() {
- return parameterValueEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getParameterValue_Parameter() {
- return (EReference)parameterValueEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getQueryExecutionValue() {
- return queryExecutionValueEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getQueryExecutionValue_Configuration() {
- return (EReference)queryExecutionValueEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getConstantParameterValue() {
- return constantParameterValueEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getConstantParameterValue_ValueInstance() {
- return (EReference)constantParameterValueEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getListParameterValue() {
- return listParameterValueEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getListParameterValue_Values() {
- return (EReference)listParameterValueEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConfigurationFactory getConfigurationFactory() {
- return (ConfigurationFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents() {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- queryConfigurationEClass = createEClass(QUERY_CONFIGURATION);
- createEAttribute(queryConfigurationEClass, QUERY_CONFIGURATION__NAME);
-
- modiscoQueryConfigurationEClass = createEClass(MODISCO_QUERY_CONFIGURATION);
- createEReference(modiscoQueryConfigurationEClass, MODISCO_QUERY_CONFIGURATION__QUERY);
- createEReference(modiscoQueryConfigurationEClass, MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES);
-
- parameterValueEClass = createEClass(PARAMETER_VALUE);
- createEReference(parameterValueEClass, PARAMETER_VALUE__PARAMETER);
-
- queryExecutionValueEClass = createEClass(QUERY_EXECUTION_VALUE);
- createEReference(queryExecutionValueEClass, QUERY_EXECUTION_VALUE__CONFIGURATION);
-
- constantParameterValueEClass = createEClass(CONSTANT_PARAMETER_VALUE);
- createEReference(constantParameterValueEClass, CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE);
-
- listParameterValueEClass = createEClass(LIST_PARAMETER_VALUE);
- createEReference(listParameterValueEClass, LIST_PARAMETER_VALUE__VALUES);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Obtain other dependent packages
- QueryPackage theQueryPackage = (QueryPackage)EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI);
- UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
-
- // Create type parameters
-
- // Set bounds for type parameters
-
- // Add supertypes to classes
- modiscoQueryConfigurationEClass.getESuperTypes().add(this.getQueryConfiguration());
- queryExecutionValueEClass.getESuperTypes().add(this.getParameterValue());
- constantParameterValueEClass.getESuperTypes().add(this.getParameterValue());
- listParameterValueEClass.getESuperTypes().add(this.getParameterValue());
-
- // Initialize classes and features; add operations and parameters
- initEClass(queryConfigurationEClass, QueryConfiguration.class, "QueryConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getQueryConfiguration_Name(), ecorePackage.getEString(), "name", null, 1, 1, QueryConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(modiscoQueryConfigurationEClass, ModiscoQueryConfiguration.class, "ModiscoQueryConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getModiscoQueryConfiguration_Query(), theQueryPackage.getModelQuery(), null, "query", null, 1, 1, ModiscoQueryConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getModiscoQueryConfiguration_ParameterValues(), this.getParameterValue(), null, "parameterValues", null, 0, -1, ModiscoQueryConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(parameterValueEClass, ParameterValue.class, "ParameterValue", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getParameterValue_Parameter(), theQueryPackage.getModelQueryParameter(), null, "parameter", null, 1, 1, ParameterValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(queryExecutionValueEClass, QueryExecutionValue.class, "QueryExecutionValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getQueryExecutionValue_Configuration(), this.getQueryConfiguration(), null, "configuration", null, 1, 1, QueryExecutionValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(constantParameterValueEClass, ConstantParameterValue.class, "ConstantParameterValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getConstantParameterValue_ValueInstance(), theUMLPackage.getValueSpecification(), null, "valueInstance", null, 0, 1, ConstantParameterValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(listParameterValueEClass, ListParameterValue.class, "ListParameterValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getListParameterValue_Values(), this.getParameterValue(), null, "values", null, 0, -1, ListParameterValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- // Create resource
- createResource(eNS_URI);
- }
-
-} //ConfigurationPackageImpl
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.facet.infra.query.QueryPackage;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationFactory;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
+import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.types.internal.impl.TypesPackageImpl;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConfigurationPackageImpl extends EPackageImpl implements ConfigurationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass queryConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass modiscoQueryConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass parameterValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass queryExecutionValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass constantParameterValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass listParameterValueEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ConfigurationPackageImpl() {
+ super(eNS_URI, ConfigurationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link ConfigurationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ConfigurationPackage init() {
+ if (isInited) return (ConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(ConfigurationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ ConfigurationPackageImpl theConfigurationPackage = (ConfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ConfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ConfigurationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ QueryPackage.eINSTANCE.eClass();
+ UMLPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ TypesPackageImpl theTypesPackage = (TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI) instanceof TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI) : TypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theConfigurationPackage.createPackageContents();
+ theTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theConfigurationPackage.initializePackageContents();
+ theTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theConfigurationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ConfigurationPackage.eNS_URI, theConfigurationPackage);
+ return theConfigurationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQueryConfiguration() {
+ return queryConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getQueryConfiguration_Name() {
+ return (EAttribute)queryConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getModiscoQueryConfiguration() {
+ return modiscoQueryConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModiscoQueryConfiguration_Query() {
+ return (EReference)modiscoQueryConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModiscoQueryConfiguration_ParameterValues() {
+ return (EReference)modiscoQueryConfigurationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParameterValue() {
+ return parameterValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParameterValue_Parameter() {
+ return (EReference)parameterValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQueryExecutionValue() {
+ return queryExecutionValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQueryExecutionValue_Configuration() {
+ return (EReference)queryExecutionValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConstantParameterValue() {
+ return constantParameterValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConstantParameterValue_ValueInstance() {
+ return (EReference)constantParameterValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getListParameterValue() {
+ return listParameterValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getListParameterValue_Values() {
+ return (EReference)listParameterValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationFactory getConfigurationFactory() {
+ return (ConfigurationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ queryConfigurationEClass = createEClass(QUERY_CONFIGURATION);
+ createEAttribute(queryConfigurationEClass, QUERY_CONFIGURATION__NAME);
+
+ modiscoQueryConfigurationEClass = createEClass(MODISCO_QUERY_CONFIGURATION);
+ createEReference(modiscoQueryConfigurationEClass, MODISCO_QUERY_CONFIGURATION__QUERY);
+ createEReference(modiscoQueryConfigurationEClass, MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES);
+
+ parameterValueEClass = createEClass(PARAMETER_VALUE);
+ createEReference(parameterValueEClass, PARAMETER_VALUE__PARAMETER);
+
+ queryExecutionValueEClass = createEClass(QUERY_EXECUTION_VALUE);
+ createEReference(queryExecutionValueEClass, QUERY_EXECUTION_VALUE__CONFIGURATION);
+
+ constantParameterValueEClass = createEClass(CONSTANT_PARAMETER_VALUE);
+ createEReference(constantParameterValueEClass, CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE);
+
+ listParameterValueEClass = createEClass(LIST_PARAMETER_VALUE);
+ createEReference(listParameterValueEClass, LIST_PARAMETER_VALUE__VALUES);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ QueryPackage theQueryPackage = (QueryPackage)EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ modiscoQueryConfigurationEClass.getESuperTypes().add(this.getQueryConfiguration());
+ queryExecutionValueEClass.getESuperTypes().add(this.getParameterValue());
+ constantParameterValueEClass.getESuperTypes().add(this.getParameterValue());
+ listParameterValueEClass.getESuperTypes().add(this.getParameterValue());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(queryConfigurationEClass, QueryConfiguration.class, "QueryConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getQueryConfiguration_Name(), ecorePackage.getEString(), "name", null, 1, 1, QueryConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(modiscoQueryConfigurationEClass, ModiscoQueryConfiguration.class, "ModiscoQueryConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getModiscoQueryConfiguration_Query(), theQueryPackage.getModelQuery(), null, "query", null, 1, 1, ModiscoQueryConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModiscoQueryConfiguration_ParameterValues(), this.getParameterValue(), null, "parameterValues", null, 0, -1, ModiscoQueryConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(parameterValueEClass, ParameterValue.class, "ParameterValue", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getParameterValue_Parameter(), theQueryPackage.getModelQueryParameter(), null, "parameter", null, 1, 1, ParameterValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(queryExecutionValueEClass, QueryExecutionValue.class, "QueryExecutionValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getQueryExecutionValue_Configuration(), this.getQueryConfiguration(), null, "configuration", null, 1, 1, QueryExecutionValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(constantParameterValueEClass, ConstantParameterValue.class, "ConstantParameterValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConstantParameterValue_ValueInstance(), theUMLPackage.getValueSpecification(), null, "valueInstance", null, 0, 1, ConstantParameterValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(listParameterValueEClass, ListParameterValue.class, "ListParameterValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getListParameterValue_Values(), this.getParameterValue(), null, "values", null, 0, -1, ListParameterValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //ConfigurationPackageImpl
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConstantParameterValueImpl.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConstantParameterValueImpl.java
index dde0ce6ecd6..cd533462195 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConstantParameterValueImpl.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ConstantParameterValueImpl.java
@@ -1,176 +1,176 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
-import org.eclipse.uml2.uml.ValueSpecification;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Constant Parameter Value</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ConstantParameterValueImpl#getValueInstance <em>Value Instance</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ConstantParameterValueImpl extends ParameterValueImpl implements ConstantParameterValue {
- /**
- * The cached value of the '{@link #getValueInstance() <em>Value Instance</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getValueInstance()
- * @generated
- * @ordered
- */
- protected ValueSpecification valueInstance;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ConstantParameterValueImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ValueSpecification getValueInstance() {
- return valueInstance;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetValueInstance(ValueSpecification newValueInstance, NotificationChain msgs) {
- ValueSpecification oldValueInstance = valueInstance;
- valueInstance = newValueInstance;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE, oldValueInstance, newValueInstance);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setValueInstance(ValueSpecification newValueInstance) {
- if (newValueInstance != valueInstance) {
- NotificationChain msgs = null;
- if (valueInstance != null)
- msgs = ((InternalEObject)valueInstance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE, null, msgs);
- if (newValueInstance != null)
- msgs = ((InternalEObject)newValueInstance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE, null, msgs);
- msgs = basicSetValueInstance(newValueInstance, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE, newValueInstance, newValueInstance));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
- return basicSetValueInstance(null, 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 ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
- return getValueInstance();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
- setValueInstance((ValueSpecification)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
- setValueInstance((ValueSpecification)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
- return valueInstance != null;
- }
- return super.eIsSet(featureID);
- }
-
-} //ConstantParameterValueImpl
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Constant Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ConstantParameterValueImpl#getValueInstance <em>Value Instance</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConstantParameterValueImpl extends ParameterValueImpl implements ConstantParameterValue {
+ /**
+ * The cached value of the '{@link #getValueInstance() <em>Value Instance</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValueInstance()
+ * @generated
+ * @ordered
+ */
+ protected ValueSpecification valueInstance;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConstantParameterValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getValueInstance() {
+ return valueInstance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetValueInstance(ValueSpecification newValueInstance, NotificationChain msgs) {
+ ValueSpecification oldValueInstance = valueInstance;
+ valueInstance = newValueInstance;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE, oldValueInstance, newValueInstance);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValueInstance(ValueSpecification newValueInstance) {
+ if (newValueInstance != valueInstance) {
+ NotificationChain msgs = null;
+ if (valueInstance != null)
+ msgs = ((InternalEObject)valueInstance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE, null, msgs);
+ if (newValueInstance != null)
+ msgs = ((InternalEObject)newValueInstance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE, null, msgs);
+ msgs = basicSetValueInstance(newValueInstance, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE, newValueInstance, newValueInstance));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
+ return basicSetValueInstance(null, 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 ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
+ return getValueInstance();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
+ setValueInstance((ValueSpecification)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
+ setValueInstance((ValueSpecification)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
+ return valueInstance != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConstantParameterValueImpl
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ListParameterValueImpl.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ListParameterValueImpl.java
index a99d8db56bc..0914ee739ef 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ListParameterValueImpl.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ListParameterValueImpl.java
@@ -1,133 +1,133 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.util.EObjectResolvingEList;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
-import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>List Parameter Value</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ListParameterValueImpl#getValues <em>Values</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ListParameterValueImpl extends ParameterValueImpl implements ListParameterValue {
- /**
- * The cached value of the '{@link #getValues() <em>Values</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getValues()
- * @generated
- * @ordered
- */
- protected EList<ParameterValue> values;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ListParameterValueImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ConfigurationPackage.Literals.LIST_PARAMETER_VALUE;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<ParameterValue> getValues() {
- if (values == null) {
- values = new EObjectResolvingEList<ParameterValue>(ParameterValue.class, this, ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES);
- }
- return values;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES:
- return getValues();
- }
- 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 ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES:
- getValues().clear();
- getValues().addAll((Collection<? extends ParameterValue>)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES:
- getValues().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES:
- return values != null && !values.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
-} //ListParameterValueImpl
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>List Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ListParameterValueImpl#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ListParameterValueImpl extends ParameterValueImpl implements ListParameterValue {
+ /**
+ * The cached value of the '{@link #getValues() <em>Values</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValues()
+ * @generated
+ * @ordered
+ */
+ protected EList<ParameterValue> values;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListParameterValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConfigurationPackage.Literals.LIST_PARAMETER_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParameterValue> getValues() {
+ if (values == null) {
+ values = new EObjectResolvingEList<ParameterValue>(ParameterValue.class, this, ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES);
+ }
+ return values;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES:
+ return getValues();
+ }
+ 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 ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES:
+ getValues().clear();
+ getValues().addAll((Collection<? extends ParameterValue>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES:
+ getValues().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES:
+ return values != null && !values.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ListParameterValueImpl
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ModiscoQueryConfigurationImpl.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ModiscoQueryConfigurationImpl.java
index d68c0622dca..3551a15c338 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ModiscoQueryConfigurationImpl.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ModiscoQueryConfigurationImpl.java
@@ -1,213 +1,213 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.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.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.emf.facet.infra.query.ModelQuery;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
-import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Modisco Query Configuration</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ModiscoQueryConfigurationImpl#getQuery <em>Query</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ModiscoQueryConfigurationImpl#getParameterValues <em>Parameter Values</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ModiscoQueryConfigurationImpl extends QueryConfigurationImpl implements ModiscoQueryConfiguration {
- /**
- * The cached value of the '{@link #getQuery() <em>Query</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getQuery()
- * @generated
- * @ordered
- */
- protected ModelQuery query;
-
- /**
- * The cached value of the '{@link #getParameterValues() <em>Parameter Values</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getParameterValues()
- * @generated
- * @ordered
- */
- protected EList<ParameterValue> parameterValues;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ModiscoQueryConfigurationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ConfigurationPackage.Literals.MODISCO_QUERY_CONFIGURATION;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ModelQuery getQuery() {
- if (query != null && query.eIsProxy()) {
- InternalEObject oldQuery = (InternalEObject)query;
- query = (ModelQuery)eResolveProxy(oldQuery);
- if (query != oldQuery) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY, oldQuery, query));
- }
- }
- return query;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ModelQuery basicGetQuery() {
- return query;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setQuery(ModelQuery newQuery) {
- ModelQuery oldQuery = query;
- query = newQuery;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY, oldQuery, query));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<ParameterValue> getParameterValues() {
- if (parameterValues == null) {
- parameterValues = new EObjectContainmentEList<ParameterValue>(ParameterValue.class, this, ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES);
- }
- return parameterValues;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
- return ((InternalEList<?>)getParameterValues()).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 ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY:
- if (resolve) return getQuery();
- return basicGetQuery();
- case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
- return getParameterValues();
- }
- 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 ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY:
- setQuery((ModelQuery)newValue);
- return;
- case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
- getParameterValues().clear();
- getParameterValues().addAll((Collection<? extends ParameterValue>)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY:
- setQuery((ModelQuery)null);
- return;
- case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
- getParameterValues().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY:
- return query != null;
- case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
- return parameterValues != null && !parameterValues.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
-} //ModiscoQueryConfigurationImpl
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.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.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.facet.infra.query.ModelQuery;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
+import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Modisco Query Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ModiscoQueryConfigurationImpl#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ModiscoQueryConfigurationImpl#getParameterValues <em>Parameter Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModiscoQueryConfigurationImpl extends QueryConfigurationImpl implements ModiscoQueryConfiguration {
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected ModelQuery query;
+
+ /**
+ * The cached value of the '{@link #getParameterValues() <em>Parameter Values</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParameterValues()
+ * @generated
+ * @ordered
+ */
+ protected EList<ParameterValue> parameterValues;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModiscoQueryConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConfigurationPackage.Literals.MODISCO_QUERY_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelQuery getQuery() {
+ if (query != null && query.eIsProxy()) {
+ InternalEObject oldQuery = (InternalEObject)query;
+ query = (ModelQuery)eResolveProxy(oldQuery);
+ if (query != oldQuery) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY, oldQuery, query));
+ }
+ }
+ return query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelQuery basicGetQuery() {
+ return query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQuery(ModelQuery newQuery) {
+ ModelQuery oldQuery = query;
+ query = newQuery;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY, oldQuery, query));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParameterValue> getParameterValues() {
+ if (parameterValues == null) {
+ parameterValues = new EObjectContainmentEList<ParameterValue>(ParameterValue.class, this, ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES);
+ }
+ return parameterValues;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
+ return ((InternalEList<?>)getParameterValues()).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 ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY:
+ if (resolve) return getQuery();
+ return basicGetQuery();
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
+ return getParameterValues();
+ }
+ 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 ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY:
+ setQuery((ModelQuery)newValue);
+ return;
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
+ getParameterValues().clear();
+ getParameterValues().addAll((Collection<? extends ParameterValue>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY:
+ setQuery((ModelQuery)null);
+ return;
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
+ getParameterValues().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY:
+ return query != null;
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
+ return parameterValues != null && !parameterValues.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ModiscoQueryConfigurationImpl
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ParameterValueImpl.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ParameterValueImpl.java
index 6b2f1f9f252..4d683cadfb5 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ParameterValueImpl.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/ParameterValueImpl.java
@@ -1,158 +1,158 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-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.EObjectImpl;
-import org.eclipse.emf.facet.infra.query.ModelQueryParameter;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
-import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Parameter Value</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ParameterValueImpl#getParameter <em>Parameter</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public abstract class ParameterValueImpl extends EObjectImpl implements ParameterValue {
- /**
- * The cached value of the '{@link #getParameter() <em>Parameter</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getParameter()
- * @generated
- * @ordered
- */
- protected ModelQueryParameter parameter;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ParameterValueImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ConfigurationPackage.Literals.PARAMETER_VALUE;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ModelQueryParameter getParameter() {
- if (parameter != null && parameter.eIsProxy()) {
- InternalEObject oldParameter = (InternalEObject)parameter;
- parameter = (ModelQueryParameter)eResolveProxy(oldParameter);
- if (parameter != oldParameter) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConfigurationPackage.PARAMETER_VALUE__PARAMETER, oldParameter, parameter));
- }
- }
- return parameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ModelQueryParameter basicGetParameter() {
- return parameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setParameter(ModelQueryParameter newParameter) {
- ModelQueryParameter oldParameter = parameter;
- parameter = newParameter;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.PARAMETER_VALUE__PARAMETER, oldParameter, parameter));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case ConfigurationPackage.PARAMETER_VALUE__PARAMETER:
- if (resolve) return getParameter();
- return basicGetParameter();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case ConfigurationPackage.PARAMETER_VALUE__PARAMETER:
- setParameter((ModelQueryParameter)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ConfigurationPackage.PARAMETER_VALUE__PARAMETER:
- setParameter((ModelQueryParameter)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ConfigurationPackage.PARAMETER_VALUE__PARAMETER:
- return parameter != null;
- }
- return super.eIsSet(featureID);
- }
-
-} //ParameterValueImpl
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+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.EObjectImpl;
+import org.eclipse.emf.facet.infra.query.ModelQueryParameter;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.ParameterValueImpl#getParameter <em>Parameter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ParameterValueImpl extends EObjectImpl implements ParameterValue {
+ /**
+ * The cached value of the '{@link #getParameter() <em>Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParameter()
+ * @generated
+ * @ordered
+ */
+ protected ModelQueryParameter parameter;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParameterValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConfigurationPackage.Literals.PARAMETER_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelQueryParameter getParameter() {
+ if (parameter != null && parameter.eIsProxy()) {
+ InternalEObject oldParameter = (InternalEObject)parameter;
+ parameter = (ModelQueryParameter)eResolveProxy(oldParameter);
+ if (parameter != oldParameter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConfigurationPackage.PARAMETER_VALUE__PARAMETER, oldParameter, parameter));
+ }
+ }
+ return parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelQueryParameter basicGetParameter() {
+ return parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParameter(ModelQueryParameter newParameter) {
+ ModelQueryParameter oldParameter = parameter;
+ parameter = newParameter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.PARAMETER_VALUE__PARAMETER, oldParameter, parameter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ConfigurationPackage.PARAMETER_VALUE__PARAMETER:
+ if (resolve) return getParameter();
+ return basicGetParameter();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ConfigurationPackage.PARAMETER_VALUE__PARAMETER:
+ setParameter((ModelQueryParameter)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.PARAMETER_VALUE__PARAMETER:
+ setParameter((ModelQueryParameter)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.PARAMETER_VALUE__PARAMETER:
+ return parameter != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ParameterValueImpl
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/QueryConfigurationImpl.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/QueryConfigurationImpl.java
index 95bbfb9e23c..16ba793ee3b 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/QueryConfigurationImpl.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/QueryConfigurationImpl.java
@@ -1,164 +1,164 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Query Configuration</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryConfigurationImpl#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public abstract class QueryConfigurationImpl extends EObjectImpl implements QueryConfiguration {
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected QueryConfigurationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ConfigurationPackage.Literals.QUERY_CONFIGURATION;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName() {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setName(String newName) {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.QUERY_CONFIGURATION__NAME, oldName, name));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case ConfigurationPackage.QUERY_CONFIGURATION__NAME:
- return getName();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case ConfigurationPackage.QUERY_CONFIGURATION__NAME:
- setName((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ConfigurationPackage.QUERY_CONFIGURATION__NAME:
- setName(NAME_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ConfigurationPackage.QUERY_CONFIGURATION__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (name: ");
- result.append(name);
- result.append(')');
- return result.toString();
- }
-
-} //QueryConfigurationImpl
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryConfigurationImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class QueryConfigurationImpl extends EObjectImpl implements QueryConfiguration {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QueryConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConfigurationPackage.Literals.QUERY_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.QUERY_CONFIGURATION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_CONFIGURATION__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_CONFIGURATION__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_CONFIGURATION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_CONFIGURATION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //QueryConfigurationImpl
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/QueryExecutionValueImpl.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/QueryExecutionValueImpl.java
index 767a4719dc3..6423163a636 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/QueryExecutionValueImpl.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/impl/QueryExecutionValueImpl.java
@@ -1,157 +1,157 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Query Execution Value</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryExecutionValueImpl#getConfiguration <em>Configuration</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class QueryExecutionValueImpl extends ParameterValueImpl implements QueryExecutionValue {
- /**
- * The cached value of the '{@link #getConfiguration() <em>Configuration</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getConfiguration()
- * @generated
- * @ordered
- */
- protected QueryConfiguration configuration;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected QueryExecutionValueImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ConfigurationPackage.Literals.QUERY_EXECUTION_VALUE;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public QueryConfiguration getConfiguration() {
- if (configuration != null && configuration.eIsProxy()) {
- InternalEObject oldConfiguration = (InternalEObject)configuration;
- configuration = (QueryConfiguration)eResolveProxy(oldConfiguration);
- if (configuration != oldConfiguration) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION, oldConfiguration, configuration));
- }
- }
- return configuration;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public QueryConfiguration basicGetConfiguration() {
- return configuration;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setConfiguration(QueryConfiguration newConfiguration) {
- QueryConfiguration oldConfiguration = configuration;
- configuration = newConfiguration;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION, oldConfiguration, configuration));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
- if (resolve) return getConfiguration();
- return basicGetConfiguration();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
- setConfiguration((QueryConfiguration)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
- setConfiguration((QueryConfiguration)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
- return configuration != null;
- }
- return super.eIsSet(featureID);
- }
-
-} //QueryExecutionValueImpl
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query Execution Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.queries.core.configuration.impl.QueryExecutionValueImpl#getConfiguration <em>Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class QueryExecutionValueImpl extends ParameterValueImpl implements QueryExecutionValue {
+ /**
+ * The cached value of the '{@link #getConfiguration() <em>Configuration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected QueryConfiguration configuration;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QueryExecutionValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConfigurationPackage.Literals.QUERY_EXECUTION_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryConfiguration getConfiguration() {
+ if (configuration != null && configuration.eIsProxy()) {
+ InternalEObject oldConfiguration = (InternalEObject)configuration;
+ configuration = (QueryConfiguration)eResolveProxy(oldConfiguration);
+ if (configuration != oldConfiguration) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION, oldConfiguration, configuration));
+ }
+ }
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryConfiguration basicGetConfiguration() {
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConfiguration(QueryConfiguration newConfiguration) {
+ QueryConfiguration oldConfiguration = configuration;
+ configuration = newConfiguration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION, oldConfiguration, configuration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
+ if (resolve) return getConfiguration();
+ return basicGetConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
+ setConfiguration((QueryConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
+ setConfiguration((QueryConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
+ return configuration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //QueryExecutionValueImpl
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/plugin/Activator.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/plugin/Activator.java
index 3f795c4cb92..62ddd2bbb09 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/plugin/Activator.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/plugin/Activator.java
@@ -1,90 +1,90 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.plugin;
-
-import org.eclipse.emf.common.EMFPlugin;
-import org.eclipse.emf.common.util.ResourceLocator;
-
-/**
- * This is the central singleton for the Configuration model plugin.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public final class Activator extends EMFPlugin {
- /**
- * Keep track of the singleton.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final Activator INSTANCE = new Activator();
-
- /**
- * Keep track of the singleton.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static Implementation plugin;
-
- /**
- * Create the instance.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Activator() {
- super(new ResourceLocator [] {});
- }
-
- /**
- * Returns the singleton instance of the Eclipse plugin.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the singleton instance.
- * @generated
- */
- @Override
- public ResourceLocator getPluginResourceLocator() {
- return plugin;
- }
-
- /**
- * Returns the singleton instance of the Eclipse plugin.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the singleton instance.
- * @generated
- */
- public static Implementation getPlugin() {
- return plugin;
- }
-
- /**
- * The actual implementation of the Eclipse <b>Plugin</b>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static class Implementation extends EclipsePlugin {
- /**
- * Creates an instance.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Implementation() {
- super();
-
- // Remember the static instance.
- //
- plugin = this;
- }
- }
-
-}
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.plugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Configuration model plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class Activator extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final Activator INSTANCE = new Activator();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activator() {
+ super(new ResourceLocator [] {});
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationAdapterFactory.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationAdapterFactory.java
index 7222535c6d5..dcde9a3ae11 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationAdapterFactory.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationAdapterFactory.java
@@ -1,217 +1,217 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage
- * @generated
- */
-public class ConfigurationAdapterFactory extends AdapterFactoryImpl {
- /**
- * The cached model package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static ConfigurationPackage modelPackage;
-
- /**
- * Creates an instance of the adapter factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConfigurationAdapterFactory() {
- if (modelPackage == null) {
- modelPackage = ConfigurationPackage.eINSTANCE;
- }
- }
-
- /**
- * Returns whether this factory is applicable for the type of the object.
- * <!-- begin-user-doc -->
- * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
- * <!-- end-user-doc -->
- * @return whether this factory is applicable for the type of the object.
- * @generated
- */
- @Override
- public boolean isFactoryForType(Object object) {
- if (object == modelPackage) {
- return true;
- }
- if (object instanceof EObject) {
- return ((EObject)object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch that delegates to the <code>createXXX</code> methods.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ConfigurationSwitch<Adapter> modelSwitch =
- new ConfigurationSwitch<Adapter>() {
- @Override
- public Adapter caseQueryConfiguration(QueryConfiguration object) {
- return createQueryConfigurationAdapter();
- }
- @Override
- public Adapter caseModiscoQueryConfiguration(ModiscoQueryConfiguration object) {
- return createModiscoQueryConfigurationAdapter();
- }
- @Override
- public Adapter caseParameterValue(ParameterValue object) {
- return createParameterValueAdapter();
- }
- @Override
- public Adapter caseQueryExecutionValue(QueryExecutionValue object) {
- return createQueryExecutionValueAdapter();
- }
- @Override
- public Adapter caseConstantParameterValue(ConstantParameterValue object) {
- return createConstantParameterValueAdapter();
- }
- @Override
- public Adapter caseListParameterValue(ListParameterValue object) {
- return createListParameterValueAdapter();
- }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
-
- /**
- * Creates an adapter for the <code>target</code>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param target the object to adapt.
- * @return the adapter for the <code>target</code>.
- * @generated
- */
- @Override
- public Adapter createAdapter(Notifier target) {
- return modelSwitch.doSwitch((EObject)target);
- }
-
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration <em>Query Configuration</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.queries.core.configuration.QueryConfiguration
- * @generated
- */
- public Adapter createQueryConfigurationAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration <em>Modisco Query Configuration</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.queries.core.configuration.ModiscoQueryConfiguration
- * @generated
- */
- public Adapter createModiscoQueryConfigurationAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue <em>Parameter Value</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.queries.core.configuration.ParameterValue
- * @generated
- */
- public Adapter createParameterValueAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue <em>Query Execution Value</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.queries.core.configuration.QueryExecutionValue
- * @generated
- */
- public Adapter createQueryExecutionValueAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue <em>Constant Parameter Value</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.queries.core.configuration.ConstantParameterValue
- * @generated
- */
- public Adapter createConstantParameterValueAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue <em>List Parameter Value</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.queries.core.configuration.ListParameterValue
- * @generated
- */
- public Adapter createListParameterValueAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case.
- * <!-- begin-user-doc -->
- * This default implementation returns null.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter() {
- return null;
- }
-
-} //ConfigurationAdapterFactory
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
+import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage
+ * @generated
+ */
+public class ConfigurationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationSwitch<Adapter> modelSwitch =
+ new ConfigurationSwitch<Adapter>() {
+ @Override
+ public Adapter caseQueryConfiguration(QueryConfiguration object) {
+ return createQueryConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseModiscoQueryConfiguration(ModiscoQueryConfiguration object) {
+ return createModiscoQueryConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseParameterValue(ParameterValue object) {
+ return createParameterValueAdapter();
+ }
+ @Override
+ public Adapter caseQueryExecutionValue(QueryExecutionValue object) {
+ return createQueryExecutionValueAdapter();
+ }
+ @Override
+ public Adapter caseConstantParameterValue(ConstantParameterValue object) {
+ return createConstantParameterValueAdapter();
+ }
+ @Override
+ public Adapter caseListParameterValue(ListParameterValue object) {
+ return createListParameterValueAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration <em>Query Configuration</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.queries.core.configuration.QueryConfiguration
+ * @generated
+ */
+ public Adapter createQueryConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration <em>Modisco Query Configuration</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.queries.core.configuration.ModiscoQueryConfiguration
+ * @generated
+ */
+ public Adapter createModiscoQueryConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue <em>Parameter Value</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.queries.core.configuration.ParameterValue
+ * @generated
+ */
+ public Adapter createParameterValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue <em>Query Execution Value</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.queries.core.configuration.QueryExecutionValue
+ * @generated
+ */
+ public Adapter createQueryExecutionValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue <em>Constant Parameter Value</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.queries.core.configuration.ConstantParameterValue
+ * @generated
+ */
+ public Adapter createConstantParameterValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue <em>List Parameter Value</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.queries.core.configuration.ListParameterValue
+ * @generated
+ */
+ public Adapter createListParameterValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //ConfigurationAdapterFactory
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationResourceFactoryImpl.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationResourceFactoryImpl.java
index cf45077cb5e..ed42229c231 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationResourceFactoryImpl.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationResourceFactoryImpl.java
@@ -1,53 +1,53 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.util;
-
-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.queries.core.configuration.util.ConfigurationResourceImpl
- * @generated
- */
-public class ConfigurationResourceFactoryImpl extends ResourceFactoryImpl {
- /**
- * Creates an instance of the resource factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConfigurationResourceFactoryImpl() {
- super();
- }
-
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Resource createResource(URI uri) {
- XMLResource result = new ConfigurationResourceImpl(uri);
- result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
- result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
-
- result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
-
- result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
- result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
-
- result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
- return result;
- }
-
-} //ConfigurationResourceFactoryImpl
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.util;
+
+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.queries.core.configuration.util.ConfigurationResourceImpl
+ * @generated
+ */
+public class ConfigurationResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new ConfigurationResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //ConfigurationResourceFactoryImpl
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationResourceImpl.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationResourceImpl.java
index 6f579e7873e..37f5d548fe3 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationResourceImpl.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationResourceImpl.java
@@ -1,31 +1,31 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.util;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource </b> associated with the package.
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.util.ConfigurationResourceFactoryImpl
- * @generated
- */
-public class ConfigurationResourceImpl extends XMLResourceImpl {
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param uri the URI of the new resource.
- * @generated
- */
- public ConfigurationResourceImpl(URI uri) {
- super(uri);
- }
-
-} //ConfigurationResourceImpl
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.util.ConfigurationResourceFactoryImpl
+ * @generated
+ */
+public class ConfigurationResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public ConfigurationResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //ConfigurationResourceImpl
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationSwitch.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationSwitch.java
index 726b23f70ab..007c272d4a3 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationSwitch.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationSwitch.java
@@ -1,227 +1,227 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.util;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.util.Switch;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage
- * @generated
- */
-public class ConfigurationSwitch<T> extends Switch<T> {
- /**
- * The cached model package
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static ConfigurationPackage modelPackage;
-
- /**
- * Creates an instance of the switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConfigurationSwitch() {
- if (modelPackage == null) {
- modelPackage = ConfigurationPackage.eINSTANCE;
- }
- }
-
- /**
- * Checks whether this is a switch for the given package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @parameter ePackage the package in question.
- * @return whether this is a switch for the given package.
- * @generated
- */
- @Override
- protected boolean isSwitchFor(EPackage ePackage) {
- return ePackage == modelPackage;
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- @Override
- protected T doSwitch(int classifierID, EObject theEObject) {
- switch (classifierID) {
- case ConfigurationPackage.QUERY_CONFIGURATION: {
- QueryConfiguration queryConfiguration = (QueryConfiguration)theEObject;
- T result = caseQueryConfiguration(queryConfiguration);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION: {
- ModiscoQueryConfiguration modiscoQueryConfiguration = (ModiscoQueryConfiguration)theEObject;
- T result = caseModiscoQueryConfiguration(modiscoQueryConfiguration);
- if (result == null) result = caseQueryConfiguration(modiscoQueryConfiguration);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ConfigurationPackage.PARAMETER_VALUE: {
- ParameterValue parameterValue = (ParameterValue)theEObject;
- T result = caseParameterValue(parameterValue);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ConfigurationPackage.QUERY_EXECUTION_VALUE: {
- QueryExecutionValue queryExecutionValue = (QueryExecutionValue)theEObject;
- T result = caseQueryExecutionValue(queryExecutionValue);
- if (result == null) result = caseParameterValue(queryExecutionValue);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ConfigurationPackage.CONSTANT_PARAMETER_VALUE: {
- ConstantParameterValue constantParameterValue = (ConstantParameterValue)theEObject;
- T result = caseConstantParameterValue(constantParameterValue);
- if (result == null) result = caseParameterValue(constantParameterValue);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ConfigurationPackage.LIST_PARAMETER_VALUE: {
- ListParameterValue listParameterValue = (ListParameterValue)theEObject;
- T result = caseListParameterValue(listParameterValue);
- if (result == null) result = caseParameterValue(listParameterValue);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- default: return defaultCase(theEObject);
- }
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Query Configuration</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>Query Configuration</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseQueryConfiguration(QueryConfiguration object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Modisco Query Configuration</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>Modisco Query Configuration</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseModiscoQueryConfiguration(ModiscoQueryConfiguration object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Parameter Value</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>Parameter Value</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseParameterValue(ParameterValue object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Query Execution Value</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>Query Execution Value</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseQueryExecutionValue(QueryExecutionValue object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Constant Parameter Value</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>Constant Parameter Value</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseConstantParameterValue(ConstantParameterValue object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>List Parameter Value</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>List Parameter Value</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseListParameterValue(ListParameterValue object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch, but this is the last case anyway.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject)
- * @generated
- */
- @Override
- public T defaultCase(EObject object) {
- return null;
- }
-
-} //ConfigurationSwitch
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
+import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage
+ * @generated
+ */
+public class ConfigurationSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ConfigurationPackage.QUERY_CONFIGURATION: {
+ QueryConfiguration queryConfiguration = (QueryConfiguration)theEObject;
+ T result = caseQueryConfiguration(queryConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION: {
+ ModiscoQueryConfiguration modiscoQueryConfiguration = (ModiscoQueryConfiguration)theEObject;
+ T result = caseModiscoQueryConfiguration(modiscoQueryConfiguration);
+ if (result == null) result = caseQueryConfiguration(modiscoQueryConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigurationPackage.PARAMETER_VALUE: {
+ ParameterValue parameterValue = (ParameterValue)theEObject;
+ T result = caseParameterValue(parameterValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigurationPackage.QUERY_EXECUTION_VALUE: {
+ QueryExecutionValue queryExecutionValue = (QueryExecutionValue)theEObject;
+ T result = caseQueryExecutionValue(queryExecutionValue);
+ if (result == null) result = caseParameterValue(queryExecutionValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE: {
+ ConstantParameterValue constantParameterValue = (ConstantParameterValue)theEObject;
+ T result = caseConstantParameterValue(constantParameterValue);
+ if (result == null) result = caseParameterValue(constantParameterValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigurationPackage.LIST_PARAMETER_VALUE: {
+ ListParameterValue listParameterValue = (ListParameterValue)theEObject;
+ T result = caseListParameterValue(listParameterValue);
+ if (result == null) result = caseParameterValue(listParameterValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query Configuration</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>Query Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQueryConfiguration(QueryConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Modisco Query Configuration</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>Modisco Query Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModiscoQueryConfiguration(ModiscoQueryConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Parameter Value</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>Parameter Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParameterValue(ParameterValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query Execution Value</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>Query Execution Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQueryExecutionValue(QueryExecutionValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Constant Parameter Value</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>Constant Parameter Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConstantParameterValue(ConstantParameterValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>List Parameter Value</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>List Parameter Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseListParameterValue(ListParameterValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //ConfigurationSwitch
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationXMLProcessor.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationXMLProcessor.java
index e1d7197cc16..b27dc090cbc 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationXMLProcessor.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core.configuration/src-gen/org/eclipse/papyrus/infra/queries/core/configuration/util/ConfigurationXMLProcessor.java
@@ -1,51 +1,51 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.infra.queries.core.configuration.util;
-
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
-
-/**
- * This class contains helper methods to serialize and deserialize XML documents
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class ConfigurationXMLProcessor extends XMLProcessor {
-
- /**
- * Public constructor to instantiate the helper.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConfigurationXMLProcessor() {
- super((EPackage.Registry.INSTANCE));
- ConfigurationPackage.eINSTANCE.eClass();
- }
-
- /**
- * Register for "*" and "xml" file extensions the ConfigurationResourceFactoryImpl factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected Map<String, Resource.Factory> getRegistrations() {
- if (registrations == null) {
- super.getRegistrations();
- registrations.put(XML_EXTENSION, new ConfigurationResourceFactoryImpl());
- registrations.put(STAR_EXTENSION, new ConfigurationResourceFactoryImpl());
- }
- return registrations;
- }
-
-} //ConfigurationXMLProcessor
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.queries.core.configuration.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConfigurationPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConfigurationXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ ConfigurationPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the ConfigurationResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new ConfigurationResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new ConfigurationResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //ConfigurationXMLProcessor
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.classpath b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.classpath
index 2d1a4302f04..64c5e31b7a2 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.classpath
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.classpath
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.project b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.project
index 35970c3736b..657ec413eef 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.project
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.project
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.infra.queries.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.queries.core</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.settings/org.eclipse.core.resources.prefs b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.settings/org.eclipse.core.resources.prefs
index a960e953d11..c5665986601 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.settings/org.eclipse.core.resources.prefs
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.settings/org.eclipse.core.resources.prefs
@@ -1,4 +1,4 @@
-#Wed Oct 06 13:30:31 CEST 2010
-eclipse.preferences.version=1
-encoding//resources/ToolConfiguration.ecore=UTF-8
-encoding//resources/ToolConfiguration.ecorediag=UTF-8
+#Wed Oct 06 13:30:31 CEST 2010
+eclipse.preferences.version=1
+encoding//resources/ToolConfiguration.ecore=UTF-8
+encoding//resources/ToolConfiguration.ecorediag=UTF-8
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.settings/org.eclipse.jdt.core.prefs
index 3b447f78043..96d4eca7949 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,8 @@
-#Thu Sep 30 07:35:59 CEST 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+#Thu Sep 30 07:35:59 CEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/META-INF/MANIFEST.MF b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/META-INF/MANIFEST.MF
index 6db74f27731..90761dfb8bd 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/META-INF/MANIFEST.MF
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/META-INF/MANIFEST.MF
@@ -1,24 +1,24 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui;bundle-version="3.7.0",
- org.eclipse.core.runtime;bundle-version="3.7.0",
- org.eclipse.emf.facet.infra.query;bundle-version="0.1.0",
- org.eclipse.emf.facet.infra.query.core;bundle-version="0.1.0",
- org.eclipse.emf.facet.infra.common.core;bundle-version="0.1.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="0.10.1",
- org.eclipse.core.databinding;bundle-version="1.3.100",
- org.eclipse.papyrus.infra.queries.core.configuration;bundle-version="0.10.1",
- org.eclipse.uml2.uml;bundle-version="4.0.0"
-Export-Package: org.eclipse.papyrus.infra.queries.core,
- org.eclipse.papyrus.infra.queries.core.converter,
- org.eclipse.papyrus.infra.queries.core.modisco
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 0.10.1.qualifier
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.infra.queries.core.Activator
-Bundle-SymbolicName: org.eclipse.papyrus.infra.queries.core;singleton:
- =true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui;bundle-version="3.7.0",
+ org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.eclipse.emf.facet.infra.query;bundle-version="0.1.0",
+ org.eclipse.emf.facet.infra.query.core;bundle-version="0.1.0",
+ org.eclipse.emf.facet.infra.common.core;bundle-version="0.1.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="0.10.0",
+ org.eclipse.core.databinding;bundle-version="1.3.100",
+ org.eclipse.papyrus.infra.queries.core.configuration;bundle-version="0.10.1",
+ org.eclipse.uml2.uml;bundle-version="4.0.0"
+Export-Package: org.eclipse.papyrus.infra.queries.core,
+ org.eclipse.papyrus.infra.queries.core.converter,
+ org.eclipse.papyrus.infra.queries.core.modisco
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.10.1.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.infra.queries.core.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.infra.queries.core;singleton:
+ =true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/about.html b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/about.html
index 82d49bf5f81..d35d5aed64c 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/about.html
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/about.html
@@ -1,28 +1,28 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2007</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/build.properties b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/build.properties
index bfc183478ca..3438cb0d926 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/build.properties
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/build.properties
@@ -1,7 +1,7 @@
-#
-#Mon Sep 12 09:29:38 CEST 2011
-bin.includes=META-INF/,.,about.html,plugin.properties,resources/
-output..=bin/
-src.includes = about.html
-source..=src/
-bin..=bin/
+#
+#Mon Sep 12 09:29:38 CEST 2011
+bin.includes=META-INF/,.,about.html,plugin.properties,resources/
+output..=bin/
+src.includes = about.html
+source..=src/
+bin..=bin/
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/plugin.properties b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/plugin.properties
index fe4e8ecaa6a..0ce9f408ec0 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/plugin.properties
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/plugin.properties
@@ -1,16 +1,16 @@
-#################################################################################
-# Copyright (c) 2010 CEA LIST.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Remi Schnekenburger remi.schnekenburger@cea.fr - Initial API and implementation
-##################################################################################
-pluginName=Papyrus Core Queries Plugin (Incubation)
-providerName=Eclipse Modeling Project
-
-
-
-
+#################################################################################
+# Copyright (c) 2010 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Remi Schnekenburger remi.schnekenburger@cea.fr - Initial API and implementation
+##################################################################################
+pluginName=Papyrus Core Queries Plugin (Incubation)
+providerName=Eclipse Modeling Project
+
+
+
+
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/resources/ToolConfiguration.ecore b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/resources/ToolConfiguration.ecore
index 9d21ce6e9db..7bcd7a82921 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/resources/ToolConfiguration.ecore
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/resources/ToolConfiguration.ecore
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="toolconfiguration"
- nsURI="http://toolconfiguration/1.0" nsPrefix="toolconfiguration">
- <eClassifiers xsi:type="ecore:EClass" name="ToolConfigurationSet">
- <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="configuration" upperBound="-1"
- eType="#//ToolConfiguration" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ToolConfiguration">
- <eStructuralFeatures xsi:type="ecore:EReference" name="preValidation" upperBound="-1"
- eType="#//ValidationQuery" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ValidationQuery" abstract="true"/>
- <eClassifiers xsi:type="ecore:EClass" name="ModiscoQuery" eSuperTypes="#//ValidationQuery">
- <eStructuralFeatures xsi:type="ecore:EReference" name="query" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="parameterValue" upperBound="-1"
- eType="ecore:EClass platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//runtime/ModelQueryParameterValue"
- containment="true"/>
- </eClassifiers>
-</ecore:EPackage>
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="toolconfiguration"
+ nsURI="http://toolconfiguration/1.0" nsPrefix="toolconfiguration">
+ <eClassifiers xsi:type="ecore:EClass" name="ToolConfigurationSet">
+ <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="configuration" upperBound="-1"
+ eType="#//ToolConfiguration" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ToolConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preValidation" upperBound="-1"
+ eType="#//ValidationQuery" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ValidationQuery" abstract="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ModiscoQuery" eSuperTypes="#//ValidationQuery">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="query" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameterValue" upperBound="-1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//runtime/ModelQueryParameterValue"
+ containment="true"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/resources/ToolConfiguration.ecorediag b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/resources/ToolConfiguration.ecorediag
index 88be98ad0bd..6e3920a47df 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/resources/ToolConfiguration.ecorediag
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/resources/ToolConfiguration.ecorediag
@@ -1,173 +1,173 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_ILDrgNE9Ed-U3ZF7RVMhSQ" type="EcoreTools" name="ToolConfiguration" measurementUnit="Pixel">
- <children xmi:type="notation:Node" xmi:id="_J0aO8NE9Ed-U3ZF7RVMhSQ" type="1001">
- <children xmi:type="notation:Node" xmi:id="_J0aO89E9Ed-U3ZF7RVMhSQ" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_J0aO9NE9Ed-U3ZF7RVMhSQ" type="5001">
- <children xmi:type="notation:Node" xmi:id="_LfssENE9Ed-U3ZF7RVMhSQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="ToolConfiguration.ecore#//ToolConfigurationSet/Name"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_LfssEdE9Ed-U3ZF7RVMhSQ"/>
- </children>
- <styles xmi:type="notation:DrawerStyle" xmi:id="_J0aO9dE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_J0aO9tE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_J0aO99E9Ed-U3ZF7RVMhSQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_J0aO-NE9Ed-U3ZF7RVMhSQ" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_J0aO-dE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_J0aO-tE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_J0aO-9E9Ed-U3ZF7RVMhSQ"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_J0aO8dE9Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="ToolConfiguration.ecore#//ToolConfigurationSet"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J0aO8tE9Ed-U3ZF7RVMhSQ" x="25" y="75"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_PyUX0NE9Ed-U3ZF7RVMhSQ" type="1001">
- <children xmi:type="notation:Node" xmi:id="_PyeI0NE9Ed-U3ZF7RVMhSQ" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_PyeI0dE9Ed-U3ZF7RVMhSQ" type="5001">
- <children xmi:type="notation:Node" xmi:id="_Un8NgNE-Ed-U3ZF7RVMhSQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="ToolConfiguration.ecore#//ToolConfiguration/name"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Un8NgdE-Ed-U3ZF7RVMhSQ"/>
- </children>
- <styles xmi:type="notation:DrawerStyle" xmi:id="_PyeI0tE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_PyeI09E9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_PyeI1NE9Ed-U3ZF7RVMhSQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_PyeI1dE9Ed-U3ZF7RVMhSQ" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_PyeI1tE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_PyeI19E9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_PyeI2NE9Ed-U3ZF7RVMhSQ"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_PyUX0dE9Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="ToolConfiguration.ecore#//ToolConfiguration"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PyUX0tE9Ed-U3ZF7RVMhSQ" x="230" y="75"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_ZWv7cNE9Ed-U3ZF7RVMhSQ" type="1001">
- <children xmi:type="notation:Node" xmi:id="_ZWv7c9E9Ed-U3ZF7RVMhSQ" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_ZWv7dNE9Ed-U3ZF7RVMhSQ" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_ZWv7ddE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_ZWv7dtE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_ZWv7d9E9Ed-U3ZF7RVMhSQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_ZWv7eNE9Ed-U3ZF7RVMhSQ" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_ZWv7edE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_ZWv7etE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_ZWv7e9E9Ed-U3ZF7RVMhSQ"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_ZWv7cdE9Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="ToolConfiguration.ecore#//ValidationQuery"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZWv7ctE9Ed-U3ZF7RVMhSQ" x="450" y="80"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_olbFENE9Ed-U3ZF7RVMhSQ" type="1001">
- <children xmi:type="notation:Node" xmi:id="_olbFE9E9Ed-U3ZF7RVMhSQ" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_olbFFNE9Ed-U3ZF7RVMhSQ" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_olbFFdE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_olbFFtE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_olbFF9E9Ed-U3ZF7RVMhSQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_olbFGNE9Ed-U3ZF7RVMhSQ" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_olbFGdE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_olbFGtE9Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_olbFG9E9Ed-U3ZF7RVMhSQ"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_olbFEdE9Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="ToolConfiguration.ecore#//ModiscoQuery"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_olbFEtE9Ed-U3ZF7RVMhSQ" x="420" y="190" width="128" height="103"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_Ie270NE-Ed-U3ZF7RVMhSQ" type="1001">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IfvsoNE-Ed-U3ZF7RVMhSQ" source="Shortcut">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IfvsodE-Ed-U3ZF7RVMhSQ" key="modelID" value="EcoreTools"/>
- </eAnnotations>
- <children xmi:type="notation:Node" xmi:id="_IfAFwNE-Ed-U3ZF7RVMhSQ" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_IfAFwdE-Ed-U3ZF7RVMhSQ" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_IfAFwtE-Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_IfAFw9E-Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_IfAFxNE-Ed-U3ZF7RVMhSQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_IfAFxdE-Ed-U3ZF7RVMhSQ" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_IfAFxtE-Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_IfAFx9E-Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_IfAFyNE-Ed-U3ZF7RVMhSQ"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_Ie270dE-Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ie270tE-Ed-U3ZF7RVMhSQ" x="30" y="185"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_N9LlsNE-Ed-U3ZF7RVMhSQ" type="1001">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N9xbkNE-Ed-U3ZF7RVMhSQ" source="Shortcut">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N9xbkdE-Ed-U3ZF7RVMhSQ" key="modelID" value="EcoreTools"/>
- </eAnnotations>
- <children xmi:type="notation:Node" xmi:id="_N9UvoNE-Ed-U3ZF7RVMhSQ" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_N9UvodE-Ed-U3ZF7RVMhSQ" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_N9UvotE-Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_N9Uvo9E-Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_N9UvpNE-Ed-U3ZF7RVMhSQ"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_N9UvpdE-Ed-U3ZF7RVMhSQ" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_N9UvptE-Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_N9Uvp9E-Ed-U3ZF7RVMhSQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_N9UvqNE-Ed-U3ZF7RVMhSQ"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_N9LlsdE-Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//runtime/ModelQueryParameterValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N9LlstE-Ed-U3ZF7RVMhSQ" x="234" y="435"/>
- </children>
- <styles xmi:type="notation:DiagramStyle" xmi:id="_ILDrgdE9Ed-U3ZF7RVMhSQ"/>
- <element xmi:type="ecore:EPackage" href="ToolConfiguration.ecore#/"/>
- <edges xmi:type="notation:Edge" xmi:id="_R-ZN0NE9Ed-U3ZF7RVMhSQ" type="3002" source="_J0aO8NE9Ed-U3ZF7RVMhSQ" target="_PyUX0NE9Ed-U3ZF7RVMhSQ">
- <children xmi:type="notation:Node" xmi:id="_R-ZN1NE9Ed-U3ZF7RVMhSQ" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_R-ZN1dE9Ed-U3ZF7RVMhSQ" x="-9" y="-20"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_R-ZN1tE9Ed-U3ZF7RVMhSQ" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_R-ZN19E9Ed-U3ZF7RVMhSQ" x="10" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_R-ZN0dE9Ed-U3ZF7RVMhSQ" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_R-ZN0tE9Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="ToolConfiguration.ecore#//ToolConfigurationSet/configuration"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R-ZN09E9Ed-U3ZF7RVMhSQ" points="[32, 2, -186, -17]$[138, -16, -80, -35]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_uqkNE9Ed-U3ZF7RVMhSQ" id="(0.8614718614718615,0.5311203319502075)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_aluQANE9Ed-U3ZF7RVMhSQ" type="3002" source="_PyUX0NE9Ed-U3ZF7RVMhSQ" target="_ZWv7cNE9Ed-U3ZF7RVMhSQ">
- <children xmi:type="notation:Node" xmi:id="_aluQBNE9Ed-U3ZF7RVMhSQ" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_aluQBdE9Ed-U3ZF7RVMhSQ" x="-22" y="-8"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_aluQBtE9Ed-U3ZF7RVMhSQ" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_aluQB9E9Ed-U3ZF7RVMhSQ" x="10" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_aluQAdE9Ed-U3ZF7RVMhSQ" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_aluQAtE9Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="ToolConfiguration.ecore#//ToolConfiguration/preValidation"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aluQA9E9Ed-U3ZF7RVMhSQ" points="[20, 20, -64, -62]$[85, 66, 1, -16]"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_al4BANE9Ed-U3ZF7RVMhSQ" id="(0.03571428571428571,0.40476190476190477)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_pp0hUNE9Ed-U3ZF7RVMhSQ" type="3003" source="_olbFENE9Ed-U3ZF7RVMhSQ" target="_ZWv7cNE9Ed-U3ZF7RVMhSQ">
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_pp0hUdE9Ed-U3ZF7RVMhSQ" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_pp0hUtE9Ed-U3ZF7RVMhSQ"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pp0hU9E9Ed-U3ZF7RVMhSQ" points="[1, -7, -6, 74]$[9, -61, 2, 20]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pp9rQNE9Ed-U3ZF7RVMhSQ" id="(0.6568627450980392,0.19047619047619047)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_IfcxsNE-Ed-U3ZF7RVMhSQ" type="3002" source="_olbFENE9Ed-U3ZF7RVMhSQ" target="_Ie270NE-Ed-U3ZF7RVMhSQ">
- <children xmi:type="notation:Node" xmi:id="_IfcxtNE-Ed-U3ZF7RVMhSQ" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_IfcxtdE-Ed-U3ZF7RVMhSQ" x="-10" y="-10"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_IfcxttE-Ed-U3ZF7RVMhSQ" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Ifcxt9E-Ed-U3ZF7RVMhSQ" x="10" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_IfcxsdE-Ed-U3ZF7RVMhSQ" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_IfcxstE-Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="ToolConfiguration.ecore#//ModiscoQuery/query"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ifcxs9E-Ed-U3ZF7RVMhSQ" points="[-63, -33, 366, 188]$[-428, -221, 1, 0]"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_O6HvENE-Ed-U3ZF7RVMhSQ" type="3002" source="_olbFENE9Ed-U3ZF7RVMhSQ" target="_N9LlsNE-Ed-U3ZF7RVMhSQ">
- <children xmi:type="notation:Node" xmi:id="_O6HvFNE-Ed-U3ZF7RVMhSQ" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_O6HvFdE-Ed-U3ZF7RVMhSQ" x="-12" y="-32"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_O6HvFtE-Ed-U3ZF7RVMhSQ" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_O6HvF9E-Ed-U3ZF7RVMhSQ" x="10" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_O6HvEdE-Ed-U3ZF7RVMhSQ" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_O6HvEtE-Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="ToolConfiguration.ecore#//ModiscoQuery/parameterValue"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O6HvE9E-Ed-U3ZF7RVMhSQ" points="[-10, 20, 95, -195]$[-102, 184, 3, -31]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O6HvGNE-Ed-U3ZF7RVMhSQ" id="(0.5,0.8058252427184466)"/>
- </edges>
-</notation:Diagram>
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_ILDrgNE9Ed-U3ZF7RVMhSQ" type="EcoreTools" name="ToolConfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_J0aO8NE9Ed-U3ZF7RVMhSQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_J0aO89E9Ed-U3ZF7RVMhSQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_J0aO9NE9Ed-U3ZF7RVMhSQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_LfssENE9Ed-U3ZF7RVMhSQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ToolConfiguration.ecore#//ToolConfigurationSet/Name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LfssEdE9Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_J0aO9dE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_J0aO9tE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_J0aO99E9Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_J0aO-NE9Ed-U3ZF7RVMhSQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_J0aO-dE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_J0aO-tE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_J0aO-9E9Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_J0aO8dE9Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ToolConfiguration.ecore#//ToolConfigurationSet"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J0aO8tE9Ed-U3ZF7RVMhSQ" x="25" y="75"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PyUX0NE9Ed-U3ZF7RVMhSQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_PyeI0NE9Ed-U3ZF7RVMhSQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_PyeI0dE9Ed-U3ZF7RVMhSQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_Un8NgNE-Ed-U3ZF7RVMhSQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ToolConfiguration.ecore#//ToolConfiguration/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Un8NgdE-Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_PyeI0tE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PyeI09E9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PyeI1NE9Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PyeI1dE9Ed-U3ZF7RVMhSQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_PyeI1tE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PyeI19E9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PyeI2NE9Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_PyUX0dE9Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ToolConfiguration.ecore#//ToolConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PyUX0tE9Ed-U3ZF7RVMhSQ" x="230" y="75"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ZWv7cNE9Ed-U3ZF7RVMhSQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_ZWv7c9E9Ed-U3ZF7RVMhSQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_ZWv7dNE9Ed-U3ZF7RVMhSQ" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ZWv7ddE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ZWv7dtE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ZWv7d9E9Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ZWv7eNE9Ed-U3ZF7RVMhSQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ZWv7edE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ZWv7etE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ZWv7e9E9Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ZWv7cdE9Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ToolConfiguration.ecore#//ValidationQuery"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZWv7ctE9Ed-U3ZF7RVMhSQ" x="450" y="80"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_olbFENE9Ed-U3ZF7RVMhSQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_olbFE9E9Ed-U3ZF7RVMhSQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_olbFFNE9Ed-U3ZF7RVMhSQ" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_olbFFdE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_olbFFtE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_olbFF9E9Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_olbFGNE9Ed-U3ZF7RVMhSQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_olbFGdE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_olbFGtE9Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_olbFG9E9Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_olbFEdE9Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ToolConfiguration.ecore#//ModiscoQuery"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_olbFEtE9Ed-U3ZF7RVMhSQ" x="420" y="190" width="128" height="103"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ie270NE-Ed-U3ZF7RVMhSQ" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IfvsoNE-Ed-U3ZF7RVMhSQ" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IfvsodE-Ed-U3ZF7RVMhSQ" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_IfAFwNE-Ed-U3ZF7RVMhSQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_IfAFwdE-Ed-U3ZF7RVMhSQ" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IfAFwtE-Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IfAFw9E-Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IfAFxNE-Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IfAFxdE-Ed-U3ZF7RVMhSQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IfAFxtE-Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IfAFx9E-Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IfAFyNE-Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Ie270dE-Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ie270tE-Ed-U3ZF7RVMhSQ" x="30" y="185"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_N9LlsNE-Ed-U3ZF7RVMhSQ" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N9xbkNE-Ed-U3ZF7RVMhSQ" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N9xbkdE-Ed-U3ZF7RVMhSQ" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_N9UvoNE-Ed-U3ZF7RVMhSQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_N9UvodE-Ed-U3ZF7RVMhSQ" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_N9UvotE-Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_N9Uvo9E-Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_N9UvpNE-Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_N9UvpdE-Ed-U3ZF7RVMhSQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_N9UvptE-Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_N9Uvp9E-Ed-U3ZF7RVMhSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_N9UvqNE-Ed-U3ZF7RVMhSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_N9LlsdE-Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//runtime/ModelQueryParameterValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N9LlstE-Ed-U3ZF7RVMhSQ" x="234" y="435"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_ILDrgdE9Ed-U3ZF7RVMhSQ"/>
+ <element xmi:type="ecore:EPackage" href="ToolConfiguration.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_R-ZN0NE9Ed-U3ZF7RVMhSQ" type="3002" source="_J0aO8NE9Ed-U3ZF7RVMhSQ" target="_PyUX0NE9Ed-U3ZF7RVMhSQ">
+ <children xmi:type="notation:Node" xmi:id="_R-ZN1NE9Ed-U3ZF7RVMhSQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_R-ZN1dE9Ed-U3ZF7RVMhSQ" x="-9" y="-20"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_R-ZN1tE9Ed-U3ZF7RVMhSQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_R-ZN19E9Ed-U3ZF7RVMhSQ" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_R-ZN0dE9Ed-U3ZF7RVMhSQ" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_R-ZN0tE9Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ToolConfiguration.ecore#//ToolConfigurationSet/configuration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R-ZN09E9Ed-U3ZF7RVMhSQ" points="[32, 2, -186, -17]$[138, -16, -80, -35]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_uqkNE9Ed-U3ZF7RVMhSQ" id="(0.8614718614718615,0.5311203319502075)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_aluQANE9Ed-U3ZF7RVMhSQ" type="3002" source="_PyUX0NE9Ed-U3ZF7RVMhSQ" target="_ZWv7cNE9Ed-U3ZF7RVMhSQ">
+ <children xmi:type="notation:Node" xmi:id="_aluQBNE9Ed-U3ZF7RVMhSQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aluQBdE9Ed-U3ZF7RVMhSQ" x="-22" y="-8"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_aluQBtE9Ed-U3ZF7RVMhSQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aluQB9E9Ed-U3ZF7RVMhSQ" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_aluQAdE9Ed-U3ZF7RVMhSQ" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_aluQAtE9Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ToolConfiguration.ecore#//ToolConfiguration/preValidation"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aluQA9E9Ed-U3ZF7RVMhSQ" points="[20, 20, -64, -62]$[85, 66, 1, -16]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_al4BANE9Ed-U3ZF7RVMhSQ" id="(0.03571428571428571,0.40476190476190477)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_pp0hUNE9Ed-U3ZF7RVMhSQ" type="3003" source="_olbFENE9Ed-U3ZF7RVMhSQ" target="_ZWv7cNE9Ed-U3ZF7RVMhSQ">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_pp0hUdE9Ed-U3ZF7RVMhSQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_pp0hUtE9Ed-U3ZF7RVMhSQ"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pp0hU9E9Ed-U3ZF7RVMhSQ" points="[1, -7, -6, 74]$[9, -61, 2, 20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pp9rQNE9Ed-U3ZF7RVMhSQ" id="(0.6568627450980392,0.19047619047619047)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IfcxsNE-Ed-U3ZF7RVMhSQ" type="3002" source="_olbFENE9Ed-U3ZF7RVMhSQ" target="_Ie270NE-Ed-U3ZF7RVMhSQ">
+ <children xmi:type="notation:Node" xmi:id="_IfcxtNE-Ed-U3ZF7RVMhSQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IfcxtdE-Ed-U3ZF7RVMhSQ" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IfcxttE-Ed-U3ZF7RVMhSQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ifcxt9E-Ed-U3ZF7RVMhSQ" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IfcxsdE-Ed-U3ZF7RVMhSQ" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IfcxstE-Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ToolConfiguration.ecore#//ModiscoQuery/query"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ifcxs9E-Ed-U3ZF7RVMhSQ" points="[-63, -33, 366, 188]$[-428, -221, 1, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_O6HvENE-Ed-U3ZF7RVMhSQ" type="3002" source="_olbFENE9Ed-U3ZF7RVMhSQ" target="_N9LlsNE-Ed-U3ZF7RVMhSQ">
+ <children xmi:type="notation:Node" xmi:id="_O6HvFNE-Ed-U3ZF7RVMhSQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_O6HvFdE-Ed-U3ZF7RVMhSQ" x="-12" y="-32"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_O6HvFtE-Ed-U3ZF7RVMhSQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_O6HvF9E-Ed-U3ZF7RVMhSQ" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_O6HvEdE-Ed-U3ZF7RVMhSQ" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_O6HvEtE-Ed-U3ZF7RVMhSQ" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ToolConfiguration.ecore#//ModiscoQuery/parameterValue"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O6HvE9E-Ed-U3ZF7RVMhSQ" points="[-10, 20, 95, -195]$[-102, 184, 3, -31]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O6HvGNE-Ed-U3ZF7RVMhSQ" id="(0.5,0.8058252427184466)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/Activator.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/Activator.java
index 33bc5c2b73d..f46195b4e56 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/Activator.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/Activator.java
@@ -1,69 +1,69 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.queries.core;
-
-import org.eclipse.papyrus.infra.core.log.LogHelper;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
- /** The plug-in ID */
- public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.queries.core"; //$NON-NLS-1$
-
- /** The shared instance */
- private static Activator plugin;
-
- /** Logging helper */
- public static LogHelper log;
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
-
- // register the login helper
- log = new LogHelper(plugin);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- log = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.queries.core;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ /** The plug-in ID */
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.queries.core"; //$NON-NLS-1$
+
+ /** The shared instance */
+ private static Activator plugin;
+
+ /** Logging helper */
+ public static LogHelper log;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+
+ // register the login helper
+ log = new LogHelper(plugin);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ log = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ConverterNotfoundException.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ConverterNotfoundException.java
index ce3c5be4356..2974805ca09 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ConverterNotfoundException.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ConverterNotfoundException.java
@@ -1,70 +1,70 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.queries.core.converter;
-
-import org.eclipse.uml2.uml.ValueSpecification;
-
-
-/**
- * Exception thrown when no converter was found
- */
-public class ConverterNotfoundException extends Exception {
-
- /** serialization id */
- private static final long serialVersionUID = -8863603362830475612L;
-
- /** target parameter type */
- private final Class<?> parameterType;
-
- /** source value instance */
- private final ValueSpecification valueInstance;
-
- /**
- * Creates a new {@link ConverterNotfoundException}.
- *
- * @param parameterType
- * the target type of the value
- * @param valueInstance
- * the value specification defining the entering value and type
- */
- public ConverterNotfoundException(Class<?> parameterType, ValueSpecification valueInstance) {
- this.parameterType = parameterType;
- this.valueInstance = valueInstance;
- }
-
- /**
- * Returns the target parameter type
- *
- * @return the target parameter type
- */
- public Class<?> getParameterType() {
- return parameterType;
- }
-
- /**
- * Returns the value specification defining the entering value and type
- *
- * @return the value specification defining the entering value and type
- */
- public ValueSpecification getValueInstance() {
- return valueInstance;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public String getMessage() {
- return "Converter not found for target type: " + getParameterType() + " and for initial value: " + getValueInstance();
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.queries.core.converter;
+
+import org.eclipse.uml2.uml.ValueSpecification;
+
+
+/**
+ * Exception thrown when no converter was found
+ */
+public class ConverterNotfoundException extends Exception {
+
+ /** serialization id */
+ private static final long serialVersionUID = -8863603362830475612L;
+
+ /** target parameter type */
+ private final Class<?> parameterType;
+
+ /** source value instance */
+ private final ValueSpecification valueInstance;
+
+ /**
+ * Creates a new {@link ConverterNotfoundException}.
+ *
+ * @param parameterType
+ * the target type of the value
+ * @param valueInstance
+ * the value specification defining the entering value and type
+ */
+ public ConverterNotfoundException(Class<?> parameterType, ValueSpecification valueInstance) {
+ this.parameterType = parameterType;
+ this.valueInstance = valueInstance;
+ }
+
+ /**
+ * Returns the target parameter type
+ *
+ * @return the target parameter type
+ */
+ public Class<?> getParameterType() {
+ return parameterType;
+ }
+
+ /**
+ * Returns the value specification defining the entering value and type
+ *
+ * @return the value specification defining the entering value and type
+ */
+ public ValueSpecification getValueInstance() {
+ return valueInstance;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getMessage() {
+ return "Converter not found for target type: " + getParameterType() + " and for initial value: " + getValueInstance();
+ }
+
+}
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ConverterRegistry.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ConverterRegistry.java
index 5d2bef8bc11..ed00a682e7e 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ConverterRegistry.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ConverterRegistry.java
@@ -1,163 +1,163 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.queries.core.converter;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.databinding.conversion.IConverter;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.infra.queries.core.Activator;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.util.ConfigurationSwitch;
-import org.eclipse.papyrus.infra.queries.core.modisco.QueryUtil;
-import org.eclipse.uml2.uml.ValueSpecification;
-
-/**
- * Registry to store converters.
- */
-public class ConverterRegistry {
-
- /** singleton instance */
- private static ConverterRegistry instance;
-
- /** map to store converters, identified by their class */
- private Map<Class<?>, IConverter> converterMaps = new HashMap<Class<?>, IConverter>();
-
- /**
- * Constructor (not visible: singleton pattern)
- */
- private ConverterRegistry() {
- }
-
- /**
- * Returns the single instance of this registry
- *
- * @return the single instance of this registry
- */
- public static synchronized ConverterRegistry getSingleton() {
- if(instance == null) {
- instance = new ConverterRegistry();
- instance.initializeRegistry();
- }
- return instance;
- }
-
- /**
- * Initialize the registry
- */
- protected void initializeRegistry() {
- converterMaps.put(String.class, new ValueSpecificationToStringConverter());
- converterMaps.put(int.class, new ValueSpecificationToIntegerConverter());
- converterMaps.put(boolean.class, new ValueSpecificationToBooleanConverter());
- }
-
- /**
- * Returns the converter for the convenient type, from an {@link Object}
- *
- * @param toType
- * the class into which the element should be transformed
- *
- * @return the converter for the convenient type
- */
- public IConverter getConverter(Class<?> toType) {
- return converterMaps.get(toType);
- }
-
- public Object convert(Class<?> parameterType, ValueSpecification valueInstance) throws ConverterNotfoundException {
- // retrieve the converter
- IConverter converter = getConverter(parameterType);
-
- if(converter != null) {
- return converter.convert(valueInstance);
- } else {
- throw new ConverterNotfoundException(parameterType, valueInstance);
- }
- }
-
- /**
- * Converts a parameter value into a list of values
- *
- * @param context
- * the context of the evaluation of the query
- * @param parameterType
- * the type of the list
- * @param parameterValue
- * the parameter value to transform into a list
- * @return the list of values contained by the parameter value
- */
- public List<?> convertToList(final EObject context, final Class<?> parameterType, final ParameterValue parameterValue) {
- return new ConfigurationSwitch<List<?>>() {
-
- /**
- * {@inheritDoc}
- */
- @Override
- public java.util.List<?> caseConstantParameterValue(ConstantParameterValue constantParameterValue) {
- IConverter converter = getConverter(parameterType);
-
- if(converter != null) {
- return Arrays.asList(converter.convert(constantParameterValue.getValueInstance()));
- } else {
- Activator.log.error("Impossible to find a converter for type: " + parameterType, null);
- return Collections.emptyList();
- }
- };
-
- /**
- * {@inheritDoc}
- */
- @Override
- public java.util.List<?> caseQueryExecutionValue(QueryExecutionValue queryExecutionValue) {
- // if query returns a list, returns it, else creates an array of one element
- QueryConfiguration queryConfiguration = queryExecutionValue.getConfiguration();
- if(!(queryConfiguration instanceof ModiscoQueryConfiguration)) {
- throw new RuntimeException("List conversion not implemented for this type of configuration. " + queryConfiguration.eClass().getName());
- }
- Object executionResult = null;
- try {
- executionResult = QueryUtil.evaluateBooleanQuery(context, queryConfiguration);
- } catch (Exception e) {
- Activator.log.error(e);
- }
- int upperBound = ((ModiscoQueryConfiguration)queryConfiguration).getQuery().getUpperBound();
- if(upperBound == 1) {
- return Arrays.asList(executionResult);
- } else {
- return (List<?>)executionResult;
- }
- };
-
- /**
- * {@inheritDoc}
- */
- @Override
- public java.util.List<?> caseListParameterValue(ListParameterValue listParameterValue) {
- List<Object> values = new ArrayList<Object>();
- for(ParameterValue parameterValue : listParameterValue.getValues()) {
- values.addAll(convertToList(context, parameterType, parameterValue));
- }
- return values;
- };
-
- }.doSwitch(parameterValue);
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.queries.core.converter;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.databinding.conversion.IConverter;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.queries.core.Activator;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
+import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.util.ConfigurationSwitch;
+import org.eclipse.papyrus.infra.queries.core.modisco.QueryUtil;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * Registry to store converters.
+ */
+public class ConverterRegistry {
+
+ /** singleton instance */
+ private static ConverterRegistry instance;
+
+ /** map to store converters, identified by their class */
+ private Map<Class<?>, IConverter> converterMaps = new HashMap<Class<?>, IConverter>();
+
+ /**
+ * Constructor (not visible: singleton pattern)
+ */
+ private ConverterRegistry() {
+ }
+
+ /**
+ * Returns the single instance of this registry
+ *
+ * @return the single instance of this registry
+ */
+ public static synchronized ConverterRegistry getSingleton() {
+ if(instance == null) {
+ instance = new ConverterRegistry();
+ instance.initializeRegistry();
+ }
+ return instance;
+ }
+
+ /**
+ * Initialize the registry
+ */
+ protected void initializeRegistry() {
+ converterMaps.put(String.class, new ValueSpecificationToStringConverter());
+ converterMaps.put(int.class, new ValueSpecificationToIntegerConverter());
+ converterMaps.put(boolean.class, new ValueSpecificationToBooleanConverter());
+ }
+
+ /**
+ * Returns the converter for the convenient type, from an {@link Object}
+ *
+ * @param toType
+ * the class into which the element should be transformed
+ *
+ * @return the converter for the convenient type
+ */
+ public IConverter getConverter(Class<?> toType) {
+ return converterMaps.get(toType);
+ }
+
+ public Object convert(Class<?> parameterType, ValueSpecification valueInstance) throws ConverterNotfoundException {
+ // retrieve the converter
+ IConverter converter = getConverter(parameterType);
+
+ if(converter != null) {
+ return converter.convert(valueInstance);
+ } else {
+ throw new ConverterNotfoundException(parameterType, valueInstance);
+ }
+ }
+
+ /**
+ * Converts a parameter value into a list of values
+ *
+ * @param context
+ * the context of the evaluation of the query
+ * @param parameterType
+ * the type of the list
+ * @param parameterValue
+ * the parameter value to transform into a list
+ * @return the list of values contained by the parameter value
+ */
+ public List<?> convertToList(final EObject context, final Class<?> parameterType, final ParameterValue parameterValue) {
+ return new ConfigurationSwitch<List<?>>() {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public java.util.List<?> caseConstantParameterValue(ConstantParameterValue constantParameterValue) {
+ IConverter converter = getConverter(parameterType);
+
+ if(converter != null) {
+ return Arrays.asList(converter.convert(constantParameterValue.getValueInstance()));
+ } else {
+ Activator.log.error("Impossible to find a converter for type: " + parameterType, null);
+ return Collections.emptyList();
+ }
+ };
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public java.util.List<?> caseQueryExecutionValue(QueryExecutionValue queryExecutionValue) {
+ // if query returns a list, returns it, else creates an array of one element
+ QueryConfiguration queryConfiguration = queryExecutionValue.getConfiguration();
+ if(!(queryConfiguration instanceof ModiscoQueryConfiguration)) {
+ throw new RuntimeException("List conversion not implemented for this type of configuration. " + queryConfiguration.eClass().getName());
+ }
+ Object executionResult = null;
+ try {
+ executionResult = QueryUtil.evaluateBooleanQuery(context, queryConfiguration);
+ } catch (Exception e) {
+ Activator.log.error(e);
+ }
+ int upperBound = ((ModiscoQueryConfiguration)queryConfiguration).getQuery().getUpperBound();
+ if(upperBound == 1) {
+ return Arrays.asList(executionResult);
+ } else {
+ return (List<?>)executionResult;
+ }
+ };
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public java.util.List<?> caseListParameterValue(ListParameterValue listParameterValue) {
+ List<Object> values = new ArrayList<Object>();
+ for(ParameterValue parameterValue : listParameterValue.getValues()) {
+ values.addAll(convertToList(context, parameterType, parameterValue));
+ }
+ return values;
+ };
+
+ }.doSwitch(parameterValue);
+ }
+}
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ObjectToBooleanConverter.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ObjectToBooleanConverter.java
index facfdeb5920..3b468a26d14 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ObjectToBooleanConverter.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ObjectToBooleanConverter.java
@@ -1,49 +1,49 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.queries.core.converter;
-
-import org.eclipse.core.databinding.conversion.Converter;
-import org.eclipse.core.databinding.conversion.IConverter;
-
-
-/**
- * Converter for Objects to Boolean value
- */
-public class ObjectToBooleanConverter extends Converter implements IConverter {
-
- /**
- * Creates a new ObjectToBooleanConverter
- */
- public ObjectToBooleanConverter() {
- super(Object.class, Boolean.class);
- }
-
- /**
- * {@inheritDoc}
- */
- public Boolean convert(Object fromObject) {
- if(fromObject == null) {
- return null;
- }
-
- if(fromObject instanceof Boolean) {
- return ((Boolean)fromObject);
- }
-
- if(fromObject instanceof String) {
- return Boolean.valueOf((String)fromObject);
- }
-
- return null;
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.queries.core.converter;
+
+import org.eclipse.core.databinding.conversion.Converter;
+import org.eclipse.core.databinding.conversion.IConverter;
+
+
+/**
+ * Converter for Objects to Boolean value
+ */
+public class ObjectToBooleanConverter extends Converter implements IConverter {
+
+ /**
+ * Creates a new ObjectToBooleanConverter
+ */
+ public ObjectToBooleanConverter() {
+ super(Object.class, Boolean.class);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Boolean convert(Object fromObject) {
+ if(fromObject == null) {
+ return null;
+ }
+
+ if(fromObject instanceof Boolean) {
+ return ((Boolean)fromObject);
+ }
+
+ if(fromObject instanceof String) {
+ return Boolean.valueOf((String)fromObject);
+ }
+
+ return null;
+ }
+
+}
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ObjectToIntegerConverter.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ObjectToIntegerConverter.java
index c6a8735690d..da8df394357 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ObjectToIntegerConverter.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ObjectToIntegerConverter.java
@@ -1,48 +1,48 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.queries.core.converter;
-
-import org.eclipse.core.databinding.conversion.Converter;
-import org.eclipse.core.databinding.conversion.IConverter;
-
-/**
- * Converter from an object to an integer
- */
-public class ObjectToIntegerConverter extends Converter implements IConverter {
-
- /**
- * Default constructor.
- */
- public ObjectToIntegerConverter() {
- super(Object.class, Integer.class);
- }
-
- /**
- * {@inheritDoc}
- */
- public Integer convert(Object fromObject) {
- if(fromObject == null) {
- return null;
- }
-
- if(fromObject instanceof Integer) {
- return (Integer)fromObject;
- }
-
- if(fromObject instanceof String) {
- return Integer.parseInt((String)fromObject);
- }
-
- return null;
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.queries.core.converter;
+
+import org.eclipse.core.databinding.conversion.Converter;
+import org.eclipse.core.databinding.conversion.IConverter;
+
+/**
+ * Converter from an object to an integer
+ */
+public class ObjectToIntegerConverter extends Converter implements IConverter {
+
+ /**
+ * Default constructor.
+ */
+ public ObjectToIntegerConverter() {
+ super(Object.class, Integer.class);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Integer convert(Object fromObject) {
+ if(fromObject == null) {
+ return null;
+ }
+
+ if(fromObject instanceof Integer) {
+ return (Integer)fromObject;
+ }
+
+ if(fromObject instanceof String) {
+ return Integer.parseInt((String)fromObject);
+ }
+
+ return null;
+ }
+
+}
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToBooleanConverter.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToBooleanConverter.java
index fe244a435bb..7f050fc1244 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToBooleanConverter.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToBooleanConverter.java
@@ -1,37 +1,37 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.queries.core.converter;
-
-import org.eclipse.core.databinding.conversion.Converter;
-import org.eclipse.core.databinding.conversion.IConverter;
-import org.eclipse.uml2.uml.ValueSpecification;
-
-/**
- * Converter from a {@link ValueSpecification} to a {@link Boolean} value
- */
-public class ValueSpecificationToBooleanConverter extends Converter implements IConverter {
-
- /**
- * Creates a new ValueSpecificationToBooleanConverter.
- */
- public ValueSpecificationToBooleanConverter() {
- super(ValueSpecification.class, boolean.class);
- }
-
- /**
- * {@inheritDoc}
- */
- public Object convert(Object fromObject) {
- return ((ValueSpecification)fromObject).booleanValue();
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.queries.core.converter;
+
+import org.eclipse.core.databinding.conversion.Converter;
+import org.eclipse.core.databinding.conversion.IConverter;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * Converter from a {@link ValueSpecification} to a {@link Boolean} value
+ */
+public class ValueSpecificationToBooleanConverter extends Converter implements IConverter {
+
+ /**
+ * Creates a new ValueSpecificationToBooleanConverter.
+ */
+ public ValueSpecificationToBooleanConverter() {
+ super(ValueSpecification.class, boolean.class);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object convert(Object fromObject) {
+ return ((ValueSpecification)fromObject).booleanValue();
+ }
+
+}
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToIntegerConverter.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToIntegerConverter.java
index b7393eace12..03b12bc4c78 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToIntegerConverter.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToIntegerConverter.java
@@ -1,36 +1,36 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.queries.core.converter;
-
-import org.eclipse.core.databinding.conversion.Converter;
-import org.eclipse.core.databinding.conversion.IConverter;
-import org.eclipse.uml2.uml.ValueSpecification;
-
-/**
- * Converter from a {@link ValueSpecification} to an {@link Integer}.
- */
-public class ValueSpecificationToIntegerConverter extends Converter implements IConverter {
-
- /**
- * Creates a new {@link ValueSpecificationToIntegerConverter}.
- */
- public ValueSpecificationToIntegerConverter() {
- super(ValueSpecification.class, int.class);
- }
-
- /**
- * {@inheritDoc}
- */
- public Object convert(Object fromObject) {
- return ((ValueSpecification)fromObject).integerValue();
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.queries.core.converter;
+
+import org.eclipse.core.databinding.conversion.Converter;
+import org.eclipse.core.databinding.conversion.IConverter;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * Converter from a {@link ValueSpecification} to an {@link Integer}.
+ */
+public class ValueSpecificationToIntegerConverter extends Converter implements IConverter {
+
+ /**
+ * Creates a new {@link ValueSpecificationToIntegerConverter}.
+ */
+ public ValueSpecificationToIntegerConverter() {
+ super(ValueSpecification.class, int.class);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object convert(Object fromObject) {
+ return ((ValueSpecification)fromObject).integerValue();
+ }
+}
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToStringConverter.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToStringConverter.java
index b2987996f4f..8de6251a65c 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToStringConverter.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/converter/ValueSpecificationToStringConverter.java
@@ -1,37 +1,37 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.queries.core.converter;
-
-import org.eclipse.core.databinding.conversion.Converter;
-import org.eclipse.core.databinding.conversion.IConverter;
-import org.eclipse.uml2.uml.ValueSpecification;
-
-/**
- * Converter from a {@link ValueSpecification} to an {@link String}.
- */
-public class ValueSpecificationToStringConverter extends Converter implements IConverter {
-
- /**
- * Creates a new {@link ValueSpecificationToStringConverter}.
- */
- public ValueSpecificationToStringConverter() {
- super(ValueSpecification.class, String.class);
- }
-
- /**
- * {@inheritDoc}
- */
- public Object convert(Object fromObject) {
- return ((ValueSpecification)fromObject).stringValue();
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.queries.core.converter;
+
+import org.eclipse.core.databinding.conversion.Converter;
+import org.eclipse.core.databinding.conversion.IConverter;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * Converter from a {@link ValueSpecification} to an {@link String}.
+ */
+public class ValueSpecificationToStringConverter extends Converter implements IConverter {
+
+ /**
+ * Creates a new {@link ValueSpecificationToStringConverter}.
+ */
+ public ValueSpecificationToStringConverter() {
+ super(ValueSpecification.class, String.class);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object convert(Object fromObject) {
+ return ((ValueSpecification)fromObject).stringValue();
+ }
+
+}
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/ModelQueryNotFoundException.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/ModelQueryNotFoundException.java
index b6b5a445a07..bdd2dd9bf28 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/ModelQueryNotFoundException.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/ModelQueryNotFoundException.java
@@ -1,40 +1,40 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.queries.core.modisco;
-
-/**
- * Exception thrown when the query set can not be found
- */
-public class ModelQueryNotFoundException extends RuntimeException {
-
- /** serial version UID */
- private static final long serialVersionUID = 7224687861468142052L;
-
- /** name of the model query to find */
- private final String modelQueryName;
-
- /**
- * Creates a new {@link ModelQueryNotFoundException}.
- * @param modelQueryName the name of the query to find
- */
- public ModelQueryNotFoundException(String modelQueryName) {
- this.modelQueryName = modelQueryName;
- }
-
- /**
- * Returns the name of the model query to find
- * @return the name of the model query to find
- */
- public String getModelQueryName() {
- return modelQueryName;
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.queries.core.modisco;
+
+/**
+ * Exception thrown when the query set can not be found
+ */
+public class ModelQueryNotFoundException extends RuntimeException {
+
+ /** serial version UID */
+ private static final long serialVersionUID = 7224687861468142052L;
+
+ /** name of the model query to find */
+ private final String modelQueryName;
+
+ /**
+ * Creates a new {@link ModelQueryNotFoundException}.
+ * @param modelQueryName the name of the query to find
+ */
+ public ModelQueryNotFoundException(String modelQueryName) {
+ this.modelQueryName = modelQueryName;
+ }
+
+ /**
+ * Returns the name of the model query to find
+ * @return the name of the model query to find
+ */
+ public String getModelQueryName() {
+ return modelQueryName;
+ }
+}
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/ModelQuerySetNotFoundException.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/ModelQuerySetNotFoundException.java
index efe014c6678..4156c7103a9 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/ModelQuerySetNotFoundException.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/ModelQuerySetNotFoundException.java
@@ -1,40 +1,40 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.queries.core.modisco;
-
-/**
- * Exception thrown when the query set can not be found
- */
-public class ModelQuerySetNotFoundException extends RuntimeException {
-
- /** serial version UID */
- private static final long serialVersionUID = -3189129139020152378L;
-
- /** name of the model query set to find */
- private final String modelQuerySetName;
-
- /**
- * Creates a new {@link ModelQuerySetNotFoundException}.
- * @param modelQuerySetName the name of the model query set not found
- */
- public ModelQuerySetNotFoundException(String modelQuerySetName) {
- this.modelQuerySetName = modelQuerySetName;
- }
-
- /**
- * Returns the name of the model query set to find
- * @return the name of the model query set to find
- */
- public String getModelQuerySetName() {
- return modelQuerySetName;
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.queries.core.modisco;
+
+/**
+ * Exception thrown when the query set can not be found
+ */
+public class ModelQuerySetNotFoundException extends RuntimeException {
+
+ /** serial version UID */
+ private static final long serialVersionUID = -3189129139020152378L;
+
+ /** name of the model query set to find */
+ private final String modelQuerySetName;
+
+ /**
+ * Creates a new {@link ModelQuerySetNotFoundException}.
+ * @param modelQuerySetName the name of the model query set not found
+ */
+ public ModelQuerySetNotFoundException(String modelQuerySetName) {
+ this.modelQuerySetName = modelQuerySetName;
+ }
+
+ /**
+ * Returns the name of the model query set to find
+ * @return the name of the model query set to find
+ */
+ public String getModelQuerySetName() {
+ return modelQuerySetName;
+ }
+}
diff --git a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/QueryUtil.java b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/QueryUtil.java
index 4ff17948d52..63d274cda6c 100644
--- a/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/QueryUtil.java
+++ b/plugins/infra/queries/org.eclipse.papyrus.infra.queries.core/src/org/eclipse/papyrus/infra/queries/core/modisco/QueryUtil.java
@@ -1,447 +1,447 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.queries.core.modisco;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.facet.infra.query.ModelQuery;
-import org.eclipse.emf.facet.infra.query.ModelQueryParameter;
-import org.eclipse.emf.facet.infra.query.ModelQuerySet;
-import org.eclipse.emf.facet.infra.query.core.AbstractModelQuery;
-import org.eclipse.emf.facet.infra.query.core.ModelQuerySetCatalog;
-import org.eclipse.emf.facet.infra.query.core.java.ParameterValueList;
-import org.eclipse.emf.facet.infra.query.runtime.ModelQueryParameterValue;
-import org.eclipse.emf.facet.infra.query.runtime.ModelQueryResult;
-import org.eclipse.papyrus.infra.queries.core.Activator;
-import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
-import org.eclipse.papyrus.infra.queries.core.configuration.util.ConfigurationSwitch;
-import org.eclipse.papyrus.infra.queries.core.converter.ConverterNotfoundException;
-import org.eclipse.papyrus.infra.queries.core.converter.ConverterRegistry;
-
-/**
- * Utility class for modisco queries
- */
-public class QueryUtil {
-
- /** default value in case the query is not valid */
- protected static final boolean defaultReturnValue = false;
-
- /**
- * Constructor.
- * Note: can not be instanciated, as it provides only static methods.
- */
- protected QueryUtil() {
- }
-
- /**
- * Evaluates a modisco query, that should only return a boolean value.
- *
- * @param query
- * the query to check and evaluate
- * @param context
- * the eobject on which the query is evaluated
- * @param parameters
- * a map containing the name of parameters and their values
- * @return <code>true</code> if the context fills the condition given by the query
- * @throws Exception
- * exception thrown when the query could not be correctly evaluated
- */
- public static final boolean evaluateBooleanQuery(final ModelQuery query, EObject context, Map<String, Object> parameters) throws Exception {
- // construct the structure parameterValues if the query is valid
- IStatus queryStatus = isValidQuery(query);
- if(!queryStatus.isOK()) {
- throw new Exception(queryStatus.getMessage());
- }
-
- // if no parameters, evaluate
- List<ModelQueryParameter> queryParameters = query.getParameters();
- List<ModelQueryParameterValue> parameterValues = new ArrayList<ModelQueryParameterValue>();
- if(queryParameters == null || queryParameters.isEmpty()) {
- return evaluateBooleanQuery(query, context, parameterValues);
- }
-
- // check the parameters given and the set of required parameters
- IStatus parameterCheck = isValidParameterSet(query, parameters);
- if(IStatus.CANCEL == parameterCheck.getSeverity() || IStatus.ERROR == parameterCheck.getSeverity()) {
- Activator.log.error(parameterCheck.getMessage(), null);
- throw new Exception(parameterCheck.getMessage());
- } else if(IStatus.WARNING == parameterCheck.getSeverity()) {
- Activator.log.warn(parameterCheck.getMessage());
- } else if(IStatus.INFO == parameterCheck.getSeverity()) {
- Activator.log.info(parameterCheck.getMessage());
- }
-
- // construct parameter structure for Modisco solver
- for(ModelQueryParameter parameter : queryParameters) {
- String parametername = parameter.getName();
- Object value = parameters.get(parametername);
- ModelQueryParameterValue parameterValue = ParameterValueList.createParameterValue(value, parameter);
-
- // should try to bind elements here..
- parameterValues.add(parameterValue);
- }
-
- // execute the query
- return evaluateBooleanQuery(query, context, parameterValues);
- }
-
- /**
- * Evaluates a query.
- *
- * @param context
- * the eobject on which the query is evaluated
- * @param queryConfiguration
- * the query configuration, containing all values for the parameters of the query
- * @return the result of the execution of the query
- * @throws Exception
- * exception thrown when the query could not be correctly evaluated
- */
- public static final Object evaluateQuery(EObject context, QueryConfiguration queryConfiguration) throws Exception {
- if(queryConfiguration instanceof ModiscoQueryConfiguration) {
- return evaluateQuery(context, (ModiscoQueryConfiguration)queryConfiguration);
- }
- throw new Exception("Unhandled kind of query");
- }
-
- /**
- * Evaluates a query, that should only return a boolean value.
- *
- * @param context
- * the eobject on which the query is evaluated
- * @param queryConfiguration
- * the query configuration, containing all values for the parameters of the query
- * @return <code>true</code> if the context fills the condition given by the query
- * @throws Exception
- * exception thrown when the query could not be correctly evaluated
- */
- public static final boolean evaluateBooleanQuery(EObject context, QueryConfiguration queryConfiguration) throws Exception {
- if(queryConfiguration instanceof ModiscoQueryConfiguration) {
- return evaluateBooleanQuery(context, (ModiscoQueryConfiguration)queryConfiguration);
- }
- throw new Exception("Unhandled kind of query");
- }
-
- /**
- * Evaluates a modisco query, that should only return a boolean value.
- *
- * @param context
- * the eobject on which the query is evaluated
- * @param queryConfiguration
- * the query configuration, containing all values for the parameters of the query
- * @return <code>true</code> if the context fills the condition given by the query
- * @throws Exception
- * exception thrown when the query could not be correctly evaluated
- */
- public static final boolean evaluateBooleanQuery(EObject context, ModiscoQueryConfiguration queryConfiguration) throws Exception {
- Object result = evaluateQuery(context, queryConfiguration);
- if(result instanceof Boolean) {
- return (Boolean)result;
- }
- Activator.log.error("Not a boolean result: " + result, null);
- return defaultReturnValue;
- }
-
- /**
- * Evaluates a modisco query, that should only return a boolean value.
- *
- * @param context
- * the eobject on which the query is evaluated
- * @param queryConfiguration
- * the query configuration, containing all values for the parameters of the query
- * @return <code>true</code> if the context fills the condition given by the query
- * @throws Exception
- * exception thrown when the query could not be correctly evaluated
- */
- public static final Object evaluateQuery(EObject context, ModiscoQueryConfiguration queryConfiguration) throws Exception {
- // retrieve query (problem of bundle loader if not used correctly)
- ModelQuery query = queryConfiguration.getQuery();
- String modelQuerySetName = query.getModelQuerySet().getName();
- String modelQueryName = query.getName();
-
- ModelQuery finalModelQuery = retrieveModelQuery(modelQueryName, modelQuerySetName);
-
- // construct the structure parameterValues if the query is valid
- IStatus queryValidation = isValidQuery(finalModelQuery);
- if(!queryValidation.isOK()) {
- throw new Exception(queryValidation.getMessage(), queryValidation.getException());
- }
-
- // create the set of parameter values
- List<ModelQueryParameterValue> parameterValues = createParameterValuesListFromConfiguration(context, queryConfiguration);
-
- // execute the query
- return evaluateQuery(finalModelQuery, context, parameterValues);
- }
-
- /**
- * Creates the {@link ModelQueryParameterValue} list from a configuration
- *
- * @param queryConfiguration
- * the configuration to check
- * @return the list of parameter values
- */
- private static List<ModelQueryParameterValue> createParameterValuesListFromConfiguration(EObject context, ModiscoQueryConfiguration queryConfiguration) {
- List<ModelQueryParameterValue> parameterValues = new ArrayList<ModelQueryParameterValue>();
-
- List<ModelQueryParameter> parameters = queryConfiguration.getQuery().getParameters();
- for(ModelQueryParameter parameter : parameters) {
- Object value = retrieveParameterValue(context, parameter, queryConfiguration);
- // resolve the value for the parameters
- ModelQueryParameterValue parameterValue = ParameterValueList.createParameterValue(value, parameter);
- parameterValues.add(parameterValue);
- }
- return parameterValues;
- }
-
- /**
- * Retrieves the value of a parameter.
- *
- * @param parameter
- * the parameter for which the value is computed
- * @return the parameter value associated to the parameter
- */
- private static Object retrieveParameterValue(final EObject context, final ModelQueryParameter parameter, ModiscoQueryConfiguration configuration) {
- for(final ParameterValue parameterValue : configuration.getParameterValues()) {
- if(parameter.equals(parameterValue.getParameter())) {
- // This is the right parameter. Compute the value, depending on the type of the parameters
- return new ConfigurationSwitch<Object>() {
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Object caseListParameterValue(ListParameterValue listParameterValue) {
- ArrayList<Object> values = new ArrayList<Object>();
- Class<?> parameterType = parameter.getType().getInstanceClass();
- for(ParameterValue parameterValue : listParameterValue.getValues()) {
- values.addAll(ConverterRegistry.getSingleton().convertToList(context, parameterType, parameterValue));
- }
- return values;
- };
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Object caseConstantParameterValue(ConstantParameterValue constantParameterValue) {
- Class<?> parameterType = parameter.getType().getInstanceClass();
- try {
- Object convertedValue = ConverterRegistry.getSingleton().convert(parameterType, constantParameterValue.getValueInstance());
- return convertedValue;
- } catch (ConverterNotfoundException e) {
- Activator.log.error(e);
- }
- return null;
- };
-
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Object caseQueryExecutionValue(QueryExecutionValue queryExecutionValue) {
- // retrieves the associated configuration and launch it.
- QueryConfiguration configuration = queryExecutionValue.getConfiguration();
- try {
- return QueryUtil.evaluateQuery(context, configuration);
- } catch (Exception e) {
- Activator.log.error(e);
- }
- return null;
-
- };
- }.doSwitch(parameterValue);
- }
- }
- return null;
-
- }
-
- /**
- * Evaluates a modisco query.
- *
- * @param query
- * the query to evaluate
- * @param context
- * the context element against which the query is evaluated
- * @param parameterValues
- * the list of parameters for the query
- * @return the result of the query evaluation
- * @throws Exception
- * exception thrown in case of problem during evaluation of the query
- */
- public static final Object evaluateQuery(final ModelQuery query, EObject context, List<ModelQueryParameterValue> parameterValues) throws Exception {
- // checks that the query is valid
- if(isValidQuery(query).isOK()) {
- AbstractModelQuery myModelQuery;
- myModelQuery = ModelQuerySetCatalog.getSingleton().getModelQueryImpl(query);
- //the model query set evaluation
- ModelQueryResult result = myModelQuery.evaluate(context, parameterValues);
- if(result.getException() != null) {
- throw new Exception();
- }
- return result.getValue();
- }
- throw new Exception("Query was not a valid query: " + query, null);
- }
-
- /**
- * Evaluates a modisco query, that should only return a boolean value.
- *
- * @param query
- * the query to check and evaluate
- * @param context
- * the eobject on which the query is evaluated
- * @param parameterValues
- * the list of parameter values for the evaluation
- * @return <code>true</code> if the context fills the condition given by the query
- * @throws Exception
- * exception thrown when the query can not be correctly evaluated
- */
- public static final boolean evaluateBooleanQuery(final ModelQuery query, EObject context, List<ModelQueryParameterValue> parameterValues) throws Exception {
- Object result = evaluateQuery(query, context, parameterValues);
- if(result instanceof Boolean) {
- // try to cast into a boolean
- return (Boolean)result;
- }
- Activator.log.error("Query did not return a boolean: " + result, null);
- return defaultReturnValue;
- }
-
- /**
- * Retrieves a model query, given its name and its query set.
- *
- * @param queryName
- * the name of the query
- * @param querySetName
- * the name of the query set
- * @return the found model query or <code>null</code>.
- * @throws ModelQueryNotFoundException
- * exception thrown when the the query set was found but not the model query was not found.
- * @throws ModelQuerySetNotFoundException
- * exception thrown when the the query set was not found.
- */
- public static final ModelQuery retrieveModelQuery(String queryName, String querySetName) throws ModelQueryNotFoundException, ModelQuerySetNotFoundException {
- ModelQuerySet querySet = ModelQuerySetCatalog.getSingleton().getModelQuerySet(querySetName);
- if(querySet == null) {
- throw new ModelQuerySetNotFoundException(querySetName);
- }
-
- ModelQuery query = querySet.getQuery(queryName);
- if(query == null) {
- throw new ModelQueryNotFoundException(queryName);
- }
-
- return query;
- }
-
- /**
- * Checks if the query is valid, i.e. not <code>null</code>, returning a boolean value, etc.
- *
- * @param query
- * the query to test
- * @return <code>true</code> if the query is valid
- */
- public static final IStatus isValidQuery(ModelQuery query) {
- if(query == null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Query should not be null.");
- }
- return Status.OK_STATUS;
- }
-
- /**
- * Checks if the query is valid, i.e. not <code>null</code>, returning a boolean value, etc.
- * @param query the query to test
- * @return <code>true</code> if the query is valid
- */
- public static final IStatus isValidBooleanQuery(ModelQuery query) {
- IStatus status = isValidQuery(query);
- if(status.isOK()) {
- // check the instance type is compatible with boolean
- EClassifier returnType = query.getReturnType();
- if(returnType == null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Query " + query.getName() + " does not have a return value, whereas it should have a boolean return status");
- } else {
- Class<?> instanceClass = returnType.getInstanceClass();
- if(!boolean.class.isAssignableFrom(instanceClass)) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Query " + query.getName() + " should return a value that can be cast into Boolean value. Currently: " + returnType.getInstanceClass());
- }
- // check return size of the query... should be 0..1 or 1..1 (even 0..1 could be difficult to handle, but we let this possible)
- if(query.getUpperBound() > 1 || query.getUpperBound() < 0) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Query " + query.getName() + " should return only one value. Currently: " + query.getUpperBound());
- }
- }
- }
- return status;
- }
-
- /**
- * Check if the set of given parameters is compatible with the query
- * @param query the query against which the set of parameters is tested
- * @param parameters the map of parameter names and their value
- * @return the status corresponding to the validation
- */
- public static final IStatus isValidParameterSet(ModelQuery query, Map<String, Object> parameters) {
- // check size, which should be equal.
- int querySize = query.getParameters().size();
- int parameterSize = parameters.keySet().size();
-
- if(querySize != parameterSize) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "The given parameters set do not have the same size (" + parameterSize + ") than the query parameter set (" + querySize + ")");
- }
-
- List<IStatus> status = new ArrayList<IStatus>();
-
- // size is ok, checking names, type, multiplicity
- for(String parameterName : parameters.keySet()) {
- // retrieve the equivalent parameter in the query
- ModelQueryParameter queryParameter = retrieveParameterByName(query, parameterName);
- if(queryParameter == null) {
- status.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Impossible to find the parameter " + parameterName + " in the query parameters list for query: " + query.getName()));
- }
- }
- if(status.size() > 0) {
- return new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, status.toArray(new IStatus[status.size()]), "", null);
- }
- return Status.OK_STATUS;
- }
-
- /**
- * Retrieves a parameter, given the query to look into and the name of the parameter
- *
- * @param query
- * the query where the parameter is stored
- * @param parameterName
- * the name of the parameter
- * @return the parameter
- */
- private final static ModelQueryParameter retrieveParameterByName(ModelQuery query, String parameterName) {
- for(ModelQueryParameter queryParameter : query.getParameters()) {
- if(parameterName.equals(queryParameter.getName())) {
- return queryParameter;
- }
- }
- return null;
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.queries.core.modisco;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.infra.query.ModelQuery;
+import org.eclipse.emf.facet.infra.query.ModelQueryParameter;
+import org.eclipse.emf.facet.infra.query.ModelQuerySet;
+import org.eclipse.emf.facet.infra.query.core.AbstractModelQuery;
+import org.eclipse.emf.facet.infra.query.core.ModelQuerySetCatalog;
+import org.eclipse.emf.facet.infra.query.core.java.ParameterValueList;
+import org.eclipse.emf.facet.infra.query.runtime.ModelQueryParameterValue;
+import org.eclipse.emf.facet.infra.query.runtime.ModelQueryResult;
+import org.eclipse.papyrus.infra.queries.core.Activator;
+import org.eclipse.papyrus.infra.queries.core.configuration.ConstantParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.ListParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.ModiscoQueryConfiguration;
+import org.eclipse.papyrus.infra.queries.core.configuration.ParameterValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
+import org.eclipse.papyrus.infra.queries.core.configuration.QueryExecutionValue;
+import org.eclipse.papyrus.infra.queries.core.configuration.util.ConfigurationSwitch;
+import org.eclipse.papyrus.infra.queries.core.converter.ConverterNotfoundException;
+import org.eclipse.papyrus.infra.queries.core.converter.ConverterRegistry;
+
+/**
+ * Utility class for modisco queries
+ */
+public class QueryUtil {
+
+ /** default value in case the query is not valid */
+ protected static final boolean defaultReturnValue = false;
+
+ /**
+ * Constructor.
+ * Note: can not be instanciated, as it provides only static methods.
+ */
+ protected QueryUtil() {
+ }
+
+ /**
+ * Evaluates a modisco query, that should only return a boolean value.
+ *
+ * @param query
+ * the query to check and evaluate
+ * @param context
+ * the eobject on which the query is evaluated
+ * @param parameters
+ * a map containing the name of parameters and their values
+ * @return <code>true</code> if the context fills the condition given by the query
+ * @throws Exception
+ * exception thrown when the query could not be correctly evaluated
+ */
+ public static final boolean evaluateBooleanQuery(final ModelQuery query, EObject context, Map<String, Object> parameters) throws Exception {
+ // construct the structure parameterValues if the query is valid
+ IStatus queryStatus = isValidQuery(query);
+ if(!queryStatus.isOK()) {
+ throw new Exception(queryStatus.getMessage());
+ }
+
+ // if no parameters, evaluate
+ List<ModelQueryParameter> queryParameters = query.getParameters();
+ List<ModelQueryParameterValue> parameterValues = new ArrayList<ModelQueryParameterValue>();
+ if(queryParameters == null || queryParameters.isEmpty()) {
+ return evaluateBooleanQuery(query, context, parameterValues);
+ }
+
+ // check the parameters given and the set of required parameters
+ IStatus parameterCheck = isValidParameterSet(query, parameters);
+ if(IStatus.CANCEL == parameterCheck.getSeverity() || IStatus.ERROR == parameterCheck.getSeverity()) {
+ Activator.log.error(parameterCheck.getMessage(), null);
+ throw new Exception(parameterCheck.getMessage());
+ } else if(IStatus.WARNING == parameterCheck.getSeverity()) {
+ Activator.log.warn(parameterCheck.getMessage());
+ } else if(IStatus.INFO == parameterCheck.getSeverity()) {
+ Activator.log.info(parameterCheck.getMessage());
+ }
+
+ // construct parameter structure for Modisco solver
+ for(ModelQueryParameter parameter : queryParameters) {
+ String parametername = parameter.getName();
+ Object value = parameters.get(parametername);
+ ModelQueryParameterValue parameterValue = ParameterValueList.createParameterValue(value, parameter);
+
+ // should try to bind elements here..
+ parameterValues.add(parameterValue);
+ }
+
+ // execute the query
+ return evaluateBooleanQuery(query, context, parameterValues);
+ }
+
+ /**
+ * Evaluates a query.
+ *
+ * @param context
+ * the eobject on which the query is evaluated
+ * @param queryConfiguration
+ * the query configuration, containing all values for the parameters of the query
+ * @return the result of the execution of the query
+ * @throws Exception
+ * exception thrown when the query could not be correctly evaluated
+ */
+ public static final Object evaluateQuery(EObject context, QueryConfiguration queryConfiguration) throws Exception {
+ if(queryConfiguration instanceof ModiscoQueryConfiguration) {
+ return evaluateQuery(context, (ModiscoQueryConfiguration)queryConfiguration);
+ }
+ throw new Exception("Unhandled kind of query");
+ }
+
+ /**
+ * Evaluates a query, that should only return a boolean value.
+ *
+ * @param context
+ * the eobject on which the query is evaluated
+ * @param queryConfiguration
+ * the query configuration, containing all values for the parameters of the query
+ * @return <code>true</code> if the context fills the condition given by the query
+ * @throws Exception
+ * exception thrown when the query could not be correctly evaluated
+ */
+ public static final boolean evaluateBooleanQuery(EObject context, QueryConfiguration queryConfiguration) throws Exception {
+ if(queryConfiguration instanceof ModiscoQueryConfiguration) {
+ return evaluateBooleanQuery(context, (ModiscoQueryConfiguration)queryConfiguration);
+ }
+ throw new Exception("Unhandled kind of query");
+ }
+
+ /**
+ * Evaluates a modisco query, that should only return a boolean value.
+ *
+ * @param context
+ * the eobject on which the query is evaluated
+ * @param queryConfiguration
+ * the query configuration, containing all values for the parameters of the query
+ * @return <code>true</code> if the context fills the condition given by the query
+ * @throws Exception
+ * exception thrown when the query could not be correctly evaluated
+ */
+ public static final boolean evaluateBooleanQuery(EObject context, ModiscoQueryConfiguration queryConfiguration) throws Exception {
+ Object result = evaluateQuery(context, queryConfiguration);
+ if(result instanceof Boolean) {
+ return (Boolean)result;
+ }
+ Activator.log.error("Not a boolean result: " + result, null);
+ return defaultReturnValue;
+ }
+
+ /**
+ * Evaluates a modisco query, that should only return a boolean value.
+ *
+ * @param context
+ * the eobject on which the query is evaluated
+ * @param queryConfiguration
+ * the query configuration, containing all values for the parameters of the query
+ * @return <code>true</code> if the context fills the condition given by the query
+ * @throws Exception
+ * exception thrown when the query could not be correctly evaluated
+ */
+ public static final Object evaluateQuery(EObject context, ModiscoQueryConfiguration queryConfiguration) throws Exception {
+ // retrieve query (problem of bundle loader if not used correctly)
+ ModelQuery query = queryConfiguration.getQuery();
+ String modelQuerySetName = query.getModelQuerySet().getName();
+ String modelQueryName = query.getName();
+
+ ModelQuery finalModelQuery = retrieveModelQuery(modelQueryName, modelQuerySetName);
+
+ // construct the structure parameterValues if the query is valid
+ IStatus queryValidation = isValidQuery(finalModelQuery);
+ if(!queryValidation.isOK()) {
+ throw new Exception(queryValidation.getMessage(), queryValidation.getException());
+ }
+
+ // create the set of parameter values
+ List<ModelQueryParameterValue> parameterValues = createParameterValuesListFromConfiguration(context, queryConfiguration);
+
+ // execute the query
+ return evaluateQuery(finalModelQuery, context, parameterValues);
+ }
+
+ /**
+ * Creates the {@link ModelQueryParameterValue} list from a configuration
+ *
+ * @param queryConfiguration
+ * the configuration to check
+ * @return the list of parameter values
+ */
+ private static List<ModelQueryParameterValue> createParameterValuesListFromConfiguration(EObject context, ModiscoQueryConfiguration queryConfiguration) {
+ List<ModelQueryParameterValue> parameterValues = new ArrayList<ModelQueryParameterValue>();
+
+ List<ModelQueryParameter> parameters = queryConfiguration.getQuery().getParameters();
+ for(ModelQueryParameter parameter : parameters) {
+ Object value = retrieveParameterValue(context, parameter, queryConfiguration);
+ // resolve the value for the parameters
+ ModelQueryParameterValue parameterValue = ParameterValueList.createParameterValue(value, parameter);
+ parameterValues.add(parameterValue);
+ }
+ return parameterValues;
+ }
+
+ /**
+ * Retrieves the value of a parameter.
+ *
+ * @param parameter
+ * the parameter for which the value is computed
+ * @return the parameter value associated to the parameter
+ */
+ private static Object retrieveParameterValue(final EObject context, final ModelQueryParameter parameter, ModiscoQueryConfiguration configuration) {
+ for(final ParameterValue parameterValue : configuration.getParameterValues()) {
+ if(parameter.equals(parameterValue.getParameter())) {
+ // This is the right parameter. Compute the value, depending on the type of the parameters
+ return new ConfigurationSwitch<Object>() {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Object caseListParameterValue(ListParameterValue listParameterValue) {
+ ArrayList<Object> values = new ArrayList<Object>();
+ Class<?> parameterType = parameter.getType().getInstanceClass();
+ for(ParameterValue parameterValue : listParameterValue.getValues()) {
+ values.addAll(ConverterRegistry.getSingleton().convertToList(context, parameterType, parameterValue));
+ }
+ return values;
+ };
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Object caseConstantParameterValue(ConstantParameterValue constantParameterValue) {
+ Class<?> parameterType = parameter.getType().getInstanceClass();
+ try {
+ Object convertedValue = ConverterRegistry.getSingleton().convert(parameterType, constantParameterValue.getValueInstance());
+ return convertedValue;
+ } catch (ConverterNotfoundException e) {
+ Activator.log.error(e);
+ }
+ return null;
+ };
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Object caseQueryExecutionValue(QueryExecutionValue queryExecutionValue) {
+ // retrieves the associated configuration and launch it.
+ QueryConfiguration configuration = queryExecutionValue.getConfiguration();
+ try {
+ return QueryUtil.evaluateQuery(context, configuration);
+ } catch (Exception e) {
+ Activator.log.error(e);
+ }
+ return null;
+
+ };
+ }.doSwitch(parameterValue);
+ }
+ }
+ return null;
+
+ }
+
+ /**
+ * Evaluates a modisco query.
+ *
+ * @param query
+ * the query to evaluate
+ * @param context
+ * the context element against which the query is evaluated
+ * @param parameterValues
+ * the list of parameters for the query
+ * @return the result of the query evaluation
+ * @throws Exception
+ * exception thrown in case of problem during evaluation of the query
+ */
+ public static final Object evaluateQuery(final ModelQuery query, EObject context, List<ModelQueryParameterValue> parameterValues) throws Exception {
+ // checks that the query is valid
+ if(isValidQuery(query).isOK()) {
+ AbstractModelQuery myModelQuery;
+ myModelQuery = ModelQuerySetCatalog.getSingleton().getModelQueryImpl(query);
+ //the model query set evaluation
+ ModelQueryResult result = myModelQuery.evaluate(context, parameterValues);
+ if(result.getException() != null) {
+ throw new Exception();
+ }
+ return result.getValue();
+ }
+ throw new Exception("Query was not a valid query: " + query, null);
+ }
+
+ /**
+ * Evaluates a modisco query, that should only return a boolean value.
+ *
+ * @param query
+ * the query to check and evaluate
+ * @param context
+ * the eobject on which the query is evaluated
+ * @param parameterValues
+ * the list of parameter values for the evaluation
+ * @return <code>true</code> if the context fills the condition given by the query
+ * @throws Exception
+ * exception thrown when the query can not be correctly evaluated
+ */
+ public static final boolean evaluateBooleanQuery(final ModelQuery query, EObject context, List<ModelQueryParameterValue> parameterValues) throws Exception {
+ Object result = evaluateQuery(query, context, parameterValues);
+ if(result instanceof Boolean) {
+ // try to cast into a boolean
+ return (Boolean)result;
+ }
+ Activator.log.error("Query did not return a boolean: " + result, null);
+ return defaultReturnValue;
+ }
+
+ /**
+ * Retrieves a model query, given its name and its query set.
+ *
+ * @param queryName
+ * the name of the query
+ * @param querySetName
+ * the name of the query set
+ * @return the found model query or <code>null</code>.
+ * @throws ModelQueryNotFoundException
+ * exception thrown when the the query set was found but not the model query was not found.
+ * @throws ModelQuerySetNotFoundException
+ * exception thrown when the the query set was not found.
+ */
+ public static final ModelQuery retrieveModelQuery(String queryName, String querySetName) throws ModelQueryNotFoundException, ModelQuerySetNotFoundException {
+ ModelQuerySet querySet = ModelQuerySetCatalog.getSingleton().getModelQuerySet(querySetName);
+ if(querySet == null) {
+ throw new ModelQuerySetNotFoundException(querySetName);
+ }
+
+ ModelQuery query = querySet.getQuery(queryName);
+ if(query == null) {
+ throw new ModelQueryNotFoundException(queryName);
+ }
+
+ return query;
+ }
+
+ /**
+ * Checks if the query is valid, i.e. not <code>null</code>, returning a boolean value, etc.
+ *
+ * @param query
+ * the query to test
+ * @return <code>true</code> if the query is valid
+ */
+ public static final IStatus isValidQuery(ModelQuery query) {
+ if(query == null) {
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Query should not be null.");
+ }
+ return Status.OK_STATUS;
+ }
+
+ /**
+ * Checks if the query is valid, i.e. not <code>null</code>, returning a boolean value, etc.
+ * @param query the query to test
+ * @return <code>true</code> if the query is valid
+ */
+ public static final IStatus isValidBooleanQuery(ModelQuery query) {
+ IStatus status = isValidQuery(query);
+ if(status.isOK()) {
+ // check the instance type is compatible with boolean
+ EClassifier returnType = query.getReturnType();
+ if(returnType == null) {
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Query " + query.getName() + " does not have a return value, whereas it should have a boolean return status");
+ } else {
+ Class<?> instanceClass = returnType.getInstanceClass();
+ if(!boolean.class.isAssignableFrom(instanceClass)) {
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Query " + query.getName() + " should return a value that can be cast into Boolean value. Currently: " + returnType.getInstanceClass());
+ }
+ // check return size of the query... should be 0..1 or 1..1 (even 0..1 could be difficult to handle, but we let this possible)
+ if(query.getUpperBound() > 1 || query.getUpperBound() < 0) {
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Query " + query.getName() + " should return only one value. Currently: " + query.getUpperBound());
+ }
+ }
+ }
+ return status;
+ }
+
+ /**
+ * Check if the set of given parameters is compatible with the query
+ * @param query the query against which the set of parameters is tested
+ * @param parameters the map of parameter names and their value
+ * @return the status corresponding to the validation
+ */
+ public static final IStatus isValidParameterSet(ModelQuery query, Map<String, Object> parameters) {
+ // check size, which should be equal.
+ int querySize = query.getParameters().size();
+ int parameterSize = parameters.keySet().size();
+
+ if(querySize != parameterSize) {
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "The given parameters set do not have the same size (" + parameterSize + ") than the query parameter set (" + querySize + ")");
+ }
+
+ List<IStatus> status = new ArrayList<IStatus>();
+
+ // size is ok, checking names, type, multiplicity
+ for(String parameterName : parameters.keySet()) {
+ // retrieve the equivalent parameter in the query
+ ModelQueryParameter queryParameter = retrieveParameterByName(query, parameterName);
+ if(queryParameter == null) {
+ status.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Impossible to find the parameter " + parameterName + " in the query parameters list for query: " + query.getName()));
+ }
+ }
+ if(status.size() > 0) {
+ return new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, status.toArray(new IStatus[status.size()]), "", null);
+ }
+ return Status.OK_STATUS;
+ }
+
+ /**
+ * Retrieves a parameter, given the query to look into and the name of the parameter
+ *
+ * @param query
+ * the query where the parameter is stored
+ * @param parameterName
+ * the name of the parameter
+ * @return the parameter
+ */
+ private final static ModelQueryParameter retrieveParameterByName(ModelQuery query, String parameterName) {
+ for(ModelQueryParameter queryParameter : query.getParameters()) {
+ if(parameterName.equals(queryParameter.getName())) {
+ return queryParameter;
+ }
+ }
+ return null;
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/.classpath b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/.classpath
new file mode 100644
index 00000000000..756f4289006
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/.project b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/.project
new file mode 100644
index 00000000000..8142bc10d56
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.uml.tools.extendedtypes.edit</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/META-INF/MANIFEST.MF b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..5918769c188
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.uml.tools.extendedtypes.edit;singleton:=true
+Bundle-Version: 0.10.1.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.provider.StereotypedElementMatcherConfigurationEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.provider,
+ org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.uml.tools.extendedtypes;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ org.eclipse.papyrus.infra.queries.core.configuration;visibility:=reexport,
+ org.eclipse.papyrus.infra.queries.core.configuration.edit;visibility:=reexport,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.edit;visibility:=reexport,
+ org.eclipse.papyrus.infra.extendedtypes;visibility:=reexport,
+ org.eclipse.papyrus.infra.extendedtypes.edit;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query.edit;visibility:=reexport,
+ org.eclipse.uml2.types;visibility:=reexport,
+ org.eclipse.uml2.uml;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/build.properties b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/build.properties
new file mode 100644
index 00000000000..bcdb260b1dd
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/build.properties
@@ -0,0 +1,20 @@
+# Copyright (c) 2013 CEA LIST.
+#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - Initial API and implementation
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src-gen/,\
+ src/
+output.. = bin/
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/icons/full/obj16/InvariantStereotypeConfiguration.gif b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/icons/full/obj16/InvariantStereotypeConfiguration.gif
new file mode 100644
index 00000000000..c4a8af41844
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/icons/full/obj16/InvariantStereotypeConfiguration.gif
Binary files differ
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/icons/full/obj16/StereotypedElementMatcher.gif b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/icons/full/obj16/StereotypedElementMatcher.gif
new file mode 100644
index 00000000000..badaab0664a
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/icons/full/obj16/StereotypedElementMatcher.gif
Binary files differ
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/icons/full/obj16/StereotypedElementMatcherConfiguration.gif b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/icons/full/obj16/StereotypedElementMatcherConfiguration.gif
new file mode 100644
index 00000000000..d3dc5a9ad81
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/icons/full/obj16/StereotypedElementMatcherConfiguration.gif
Binary files differ
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/plugin.properties b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/plugin.properties
new file mode 100644
index 00000000000..6ad2e720134
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/plugin.properties
@@ -0,0 +1,36 @@
+# Copyright (c) 2013 CEA LIST.
+#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - Initial API and implementation
+
+pluginName = StereotypedElementMatcher Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_StereotypedElementMatcher_type = Stereotyped Element Matcher
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_StereotypedElementMatcher_stereotypedQualifiedName_feature = Stereotyped Qualified Name
+_UI_Unknown_feature = Unspecified
+
+_UI_StereotypedElementMatcherConfiguration_type = Configuration
+_UI_StereotypedElementMatcherConfiguration_stereotypedQualifiedName_feature = Stereotyped Qualified Name
+_UI_InvariantStereotypeConfiguration_type = Invariant Stereotype Configuration
+_UI_InvariantStereotypeConfiguration_stereotypeQualifiedName_feature = Stereotype Qualified Name
+_UI_InvariantStereotypeConfiguration_requiredProfile_feature = Required Profile
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/plugin.xml b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/plugin.xml
new file mode 100644
index 00000000000..01793e42088
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/plugin.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2013 CEA LIST.
+
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ CEA LIST - Initial API and implementation
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated StereotypedElementMatcherConfiguration -->
+ <factory
+ uri="http://www.eclipse.org/payrus/extendedtypes/uml/stereotypematcherconfiguration"
+ class="org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.provider.StereotypedElementMatcherConfigurationItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated InvariantStereotypeConfiguration -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/stereotype/1.0"
+ class="org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.provider.InvariantStereotypeConfigurationItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+ <extension
+ point="org.eclipse.emf.edit.childCreationExtenders">
+ <extender
+ class="org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.provider.InvariantStereotypeChildCreationExtender"
+ uri="http://www.eclipse.org/papyrus/infra/extendedtypes/1.0">
+ </extender>
+ </extension>
+
+</plugin>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeConfigurationEditPlugin.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeConfigurationEditPlugin.java
new file mode 100644
index 00000000000..d9a498d34b4
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeConfigurationEditPlugin.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryEditPlugin;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider.InvariantSemanticTypeConfigurationEditPlugin;
+
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the InvariantStereotypeConfiguration edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class InvariantStereotypeConfigurationEditPlugin extends EMFPlugin {
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final InvariantStereotypeConfigurationEditPlugin INSTANCE = new InvariantStereotypeConfigurationEditPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationEditPlugin() {
+ super(new ResourceLocator[]{ ConfigurationEditPlugin.INSTANCE, EcoreEditPlugin.INSTANCE, ExtendedTypesEditPlugin.INSTANCE, InvariantSemanticTypeConfigurationEditPlugin.INSTANCE, QueryEditPlugin.INSTANCE, UMLEditPlugin.INSTANCE, });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeConfigurationItemProvider.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeConfigurationItemProvider.java
new file mode 100644
index 00000000000..50ac080cf63
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeConfigurationItemProvider.java
@@ -0,0 +1,156 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.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.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.ViewerNotification;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider.InvariantRuleConfigurationItemProvider;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration;
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantStereotypeConfigurationItemProvider extends InvariantRuleConfigurationItemProvider implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationItemProvider(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);
+ addStereotypeQualifiedNamePropertyDescriptor(object);
+ addRequiredProfilePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Stereotype Qualified Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStereotypeQualifiedNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_InvariantStereotypeConfiguration_stereotypeQualifiedName_feature"), getString("_UI_PropertyDescriptor_description", "_UI_InvariantStereotypeConfiguration_stereotypeQualifiedName_feature", "_UI_InvariantStereotypeConfiguration_type"), InvariantStereotypeConfigurationPackage.Literals.INVARIANT_STEREOTYPE_CONFIGURATION__STEREOTYPE_QUALIFIED_NAME, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Required Profile feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRequiredProfilePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_InvariantStereotypeConfiguration_requiredProfile_feature"), getString("_UI_PropertyDescriptor_description", "_UI_InvariantStereotypeConfiguration_requiredProfile_feature", "_UI_InvariantStereotypeConfiguration_type"), InvariantStereotypeConfigurationPackage.Literals.INVARIANT_STEREOTYPE_CONFIGURATION__REQUIRED_PROFILE, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns InvariantStereotypeConfiguration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/InvariantStereotypeConfiguration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((InvariantStereotypeConfiguration)object).getStereotypeQualifiedName();
+ return label == null || label.length() == 0 ? getString("_UI_InvariantStereotypeConfiguration_type") : getString("_UI_InvariantStereotypeConfiguration_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(InvariantStereotypeConfiguration.class)) {
+ case InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION__STEREOTYPE_QUALIFIED_NAME:
+ case InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION__REQUIRED_PROFILE:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ 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);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return InvariantStereotypeConfigurationEditPlugin.INSTANCE;
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeConfigurationItemProviderAdapterFactory.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeConfigurationItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..9a4a2a9ac03
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeConfigurationItemProviderAdapterFactory.java
@@ -0,0 +1,207 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.util.InvariantStereotypeConfigurationAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantStereotypeConfigurationItemProviderAdapterFactory extends InvariantStereotypeConfigurationAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantStereotypeConfigurationItemProvider invariantStereotypeConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createInvariantStereotypeConfigurationAdapter() {
+ if(invariantStereotypeConfigurationItemProvider == null) {
+ invariantStereotypeConfigurationItemProvider = new InvariantStereotypeConfigurationItemProvider(this);
+ }
+ return invariantStereotypeConfigurationItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if(isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if(!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+ if(parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void dispose() {
+ if(invariantStereotypeConfigurationItemProvider != null)
+ invariantStereotypeConfigurationItemProvider.dispose();
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/provider/StereotypedElementMatcherConfigurationEditPlugin.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/provider/StereotypedElementMatcherConfigurationEditPlugin.java
new file mode 100644
index 00000000000..e9a816fe3db
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/provider/StereotypedElementMatcherConfigurationEditPlugin.java
@@ -0,0 +1,114 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryEditPlugin;
+
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the StereotypedElementMatcherConfiguration edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class StereotypedElementMatcherConfigurationEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final StereotypedElementMatcherConfigurationEditPlugin INSTANCE = new StereotypedElementMatcherConfigurationEditPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationEditPlugin() {
+ super
+ (new ResourceLocator [] {
+ ConfigurationEditPlugin.INSTANCE,
+ EcoreEditPlugin.INSTANCE,
+ ExtendedTypesEditPlugin.INSTANCE,
+ QueryEditPlugin.INSTANCE,
+ UMLEditPlugin.INSTANCE,
+ });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/provider/StereotypedElementMatcherConfigurationItemProvider.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/provider/StereotypedElementMatcherConfigurationItemProvider.java
new file mode 100644
index 00000000000..9ec0d79f589
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/provider/StereotypedElementMatcherConfigurationItemProvider.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.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.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.ViewerNotification;
+
+import org.eclipse.papyrus.infra.extendedtypes.provider.MatcherConfigurationItemProvider;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration;
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StereotypedElementMatcherConfigurationItemProvider
+ extends MatcherConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationItemProvider(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);
+
+ addStereotypedQualifiedNamePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Stereotyped Qualified Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStereotypedQualifiedNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StereotypedElementMatcherConfiguration_stereotypedQualifiedName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_StereotypedElementMatcherConfiguration_stereotypedQualifiedName_feature", "_UI_StereotypedElementMatcherConfiguration_type"),
+ StereotypedElementMatcherConfigurationPackage.Literals.STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION__STEREOTYPED_QUALIFIED_NAME,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns StereotypedElementMatcherConfiguration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/StereotypedElementMatcherConfiguration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((StereotypedElementMatcherConfiguration)object).getStereotypedQualifiedName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_StereotypedElementMatcherConfiguration_type") :
+ getString("_UI_StereotypedElementMatcherConfiguration_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(StereotypedElementMatcherConfiguration.class)) {
+ case StereotypedElementMatcherConfigurationPackage.STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION__STEREOTYPED_QUALIFIED_NAME:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ 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);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return StereotypedElementMatcherConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/provider/StereotypedElementMatcherConfigurationItemProviderAdapterFactory.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/provider/StereotypedElementMatcherConfigurationItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..12f1e5c3d51
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/provider/StereotypedElementMatcherConfigurationItemProviderAdapterFactory.java
@@ -0,0 +1,209 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.util.StereotypedElementMatcherConfigurationAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StereotypedElementMatcherConfigurationItemProviderAdapterFactory extends StereotypedElementMatcherConfigurationAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypedElementMatcherConfigurationItemProvider stereotypedElementMatcherConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createStereotypedElementMatcherConfigurationAdapter() {
+ if (stereotypedElementMatcherConfigurationItemProvider == null) {
+ stereotypedElementMatcherConfigurationItemProvider = new StereotypedElementMatcherConfigurationItemProvider(this);
+ }
+
+ return stereotypedElementMatcherConfigurationItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void dispose() {
+ if (stereotypedElementMatcherConfigurationItemProvider != null) stereotypedElementMatcherConfigurationItemProvider.dispose();
+ }
+
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeChildCreationExtender.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeChildCreationExtender.java
new file mode 100644
index 00000000000..27a8dda5f11
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/provider/InvariantStereotypeChildCreationExtender.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.provider;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.provider.StereotypedElementMatcherConfigurationEditPlugin;
+
+
+/**
+ * @author RS211865
+ */
+public class InvariantStereotypeChildCreationExtender implements IChildCreationExtender {
+
+ /**
+ *
+ */
+ public InvariantStereotypeChildCreationExtender() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Collection<?> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return StereotypedElementMatcherConfigurationEditPlugin.INSTANCE;
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/.classpath b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/.classpath
new file mode 100644
index 00000000000..f9c46b584dd
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/.project b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/.project
new file mode 100644
index 00000000000..44c9bd62b00
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.uml.tools.extendedtypes.editor</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/META-INF/MANIFEST.MF b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..f04e6fd2497
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.uml.tools.extendedtypes.editor;singleton:=true
+Bundle-Version: 0.10.1.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.presentation.StereotypedElementMatcherConfigurationEditorPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.presentation,
+ org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.presentation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources;visibility:=reexport,
+ org.eclipse.papyrus.uml.tools.extendedtypes.edit;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.emf.edit.ui;visibility:=reexport,
+ org.eclipse.ui.ide;visibility:=reexport,
+ org.eclipse.papyrus.infra.queries.core.configuration.edit;visibility:=reexport,
+ org.eclipse.emf.ecore.edit;visibility:=reexport,
+ org.eclipse.papyrus.infra.extendedtypes.edit;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query.edit;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/build.properties b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/build.properties
new file mode 100644
index 00000000000..fd76368a73b
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/build.properties
@@ -0,0 +1,19 @@
+# Copyright (c) 2013 CEA LIST.
+#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - Initial API and implementation
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/obj16/InvariantStereotypeConfigurationModelFile.gif b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/obj16/InvariantStereotypeConfigurationModelFile.gif
new file mode 100644
index 00000000000..8a944104572
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/obj16/InvariantStereotypeConfigurationModelFile.gif
Binary files differ
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/obj16/StereotypedElementMatcherConfigurationModelFile.gif b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/obj16/StereotypedElementMatcherConfigurationModelFile.gif
new file mode 100644
index 00000000000..8315589c999
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/obj16/StereotypedElementMatcherConfigurationModelFile.gif
Binary files differ
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/obj16/StereotypedElementMatcherModelFile.gif b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/obj16/StereotypedElementMatcherModelFile.gif
new file mode 100644
index 00000000000..feaa4ac36d0
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/obj16/StereotypedElementMatcherModelFile.gif
Binary files differ
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/wizban/NewInvariantStereotypeConfiguration.gif b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/wizban/NewInvariantStereotypeConfiguration.gif
new file mode 100644
index 00000000000..92c8b752980
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/wizban/NewInvariantStereotypeConfiguration.gif
Binary files differ
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/wizban/NewStereotypedElementMatcher.gif b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/wizban/NewStereotypedElementMatcher.gif
new file mode 100644
index 00000000000..a5c66c3970d
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/wizban/NewStereotypedElementMatcher.gif
Binary files differ
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/wizban/NewStereotypedElementMatcherConfiguration.gif b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/wizban/NewStereotypedElementMatcherConfiguration.gif
new file mode 100644
index 00000000000..a6b42e7444a
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/icons/full/wizban/NewStereotypedElementMatcherConfiguration.gif
Binary files differ
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/plugin.properties b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/plugin.properties
new file mode 100644
index 00000000000..c345d082570
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/plugin.properties
@@ -0,0 +1,76 @@
+# Copyright (c) 2013 CEA LIST.
+#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - Initial API and implementation
+
+pluginName = StereotypedElementMatcher Editor
+providerName = www.example.org
+
+_UI_StereotypedElementMatcherEditor_menu = &StereotypedElementMatcher Editor
+
+_UI_CreateChild_menu_item = &New Child
+_UI_CreateSibling_menu_item = N&ew Sibling
+
+_UI_ShowPropertiesView_menu_item = Show &Properties View
+_UI_RefreshViewer_menu_item = &Refresh
+
+_UI_SelectionPage_label = Selection
+_UI_ParentPage_label = Parent
+_UI_ListPage_label = List
+_UI_TreePage_label = Tree
+_UI_TablePage_label = Table
+_UI_TreeWithColumnsPage_label = Tree with Columns
+_UI_ObjectColumn_label = Object
+_UI_SelfColumn_label = Self
+
+_UI_NoObjectSelected = Selected Nothing
+_UI_SingleObjectSelected = Selected Object: {0}
+_UI_MultiObjectSelected = Selected {0} Objects
+
+_UI_OpenEditorError_label = Open Editor
+
+_UI_Wizard_category = Example EMF Model Creation Wizards
+
+_UI_CreateModelError_message = Problems encountered in file "{0}"
+
+_UI_StereotypedElementMatcherModelWizard_label = StereotypedElementMatcher Model
+_UI_StereotypedElementMatcherModelWizard_description = Create a new StereotypedElementMatcher model
+
+_UI_StereotypedElementMatcherEditor_label = StereotypedElementMatcher Model Editor
+
+_UI_StereotypedElementMatcherEditorFilenameDefaultBase = My
+_UI_StereotypedElementMatcherEditorFilenameExtensions = stereotypedelementmatcher
+
+_UI_Wizard_label = New
+
+_WARN_FilenameExtension = The file name must end in ''.{0}''
+_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}
+
+_UI_ModelObject = &Model Object
+_UI_XMLEncoding = &XML Encoding
+_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
+_UI_Wizard_initial_object_description = Select a model object to create
+
+_UI_FileConflict_label = File Conflict
+_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes?
+
+_UI_StereotypedElementMatcherConfigurationEditor_menu = &StereotypedElementMatcherConfiguration Editor
+ _UI_StereotypedElementMatcherConfigurationModelWizard_label = StereotypedElementMatcherConfiguration Model
+_UI_StereotypedElementMatcherConfigurationModelWizard_description = Create a new StereotypedElementMatcherConfiguration model
+ _UI_StereotypedElementMatcherConfigurationEditor_label = StereotypedElementMatcherConfiguration Model Editor
+ _UI_StereotypedElementMatcherConfigurationEditorFilenameDefaultBase = My
+_UI_StereotypedElementMatcherConfigurationEditorFilenameExtensions = stereotypedelementmatcherconfiguration
+
+_UI_InvariantStereotypeConfigurationEditor_menu = &InvariantStereotypeConfiguration Editor
+ _UI_InvariantStereotypeConfigurationModelWizard_label = InvariantStereotypeConfiguration Model
+_UI_InvariantStereotypeConfigurationModelWizard_description = Create a new InvariantStereotypeConfiguration model
+ _UI_InvariantStereotypeConfigurationEditor_label = InvariantStereotypeConfiguration Model Editor
+ _UI_InvariantStereotypeConfigurationEditorFilenameDefaultBase = My
+_UI_InvariantStereotypeConfigurationEditorFilenameExtensions = invariantstereotypeconfiguration
+
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/plugin.xml b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/plugin.xml
new file mode 100644
index 00000000000..9d7c112f1ad
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/plugin.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2013 CEA LIST.
+
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ CEA LIST - Initial API and implementation
+-->
+
+<plugin>
+
+
+ <extension point="org.eclipse.ui.newWizards">
+ <!-- @generated StereotypedElementMatcherConfiguration -->
+ <category
+ id="org.eclipse.emf.ecore.Wizard.category.ID"
+ name="%_UI_Wizard_category"/>
+ <wizard
+ id="org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.presentation.StereotypedElementMatcherConfigurationModelWizardID"
+ name="%_UI_StereotypedElementMatcherConfigurationModelWizard_label"
+ class="org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.presentation.StereotypedElementMatcherConfigurationModelWizard"
+ category="org.eclipse.emf.ecore.Wizard.category.ID"
+ icon="icons/full/obj16/StereotypedElementMatcherConfigurationModelFile.gif">
+ <description>%_UI_StereotypedElementMatcherConfigurationModelWizard_description</description>
+ <selection class="org.eclipse.core.resources.IResource"/>
+ </wizard>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors">
+ <!-- @generated InvariantStereotypeConfiguration -->
+ <editor
+ id="org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.presentation.InvariantStereotypeConfigurationEditorID"
+ name="%_UI_InvariantStereotypeConfigurationEditor_label"
+ icon="icons/full/obj16/InvariantStereotypeConfigurationModelFile.gif"
+ extensions="invariantstereotypeconfiguration"
+ class="org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.presentation.InvariantStereotypeConfigurationEditor"
+ contributorClass="org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.presentation.InvariantStereotypeConfigurationActionBarContributor">
+ </editor>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors">
+ <!-- @generated StereotypedElementMatcherConfiguration -->
+ <editor
+ id="org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.presentation.StereotypedElementMatcherConfigurationEditorID"
+ name="%_UI_StereotypedElementMatcherConfigurationEditor_label"
+ icon="icons/full/obj16/StereotypedElementMatcherConfigurationModelFile.gif"
+ extensions="stereotypedelementmatcherconfiguration"
+ class="org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.presentation.StereotypedElementMatcherConfigurationEditor"
+ contributorClass="org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.presentation.StereotypedElementMatcherConfigurationActionBarContributor">
+ </editor>
+ </extension>
+</plugin>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationActionBarContributor.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationActionBarContributor.java
new file mode 100644
index 00000000000..9e27c7649f8
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationActionBarContributor.java
@@ -0,0 +1,410 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the InvariantStereotypeConfiguration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantStereotypeConfigurationActionBarContributor extends EditingDomainActionBarContributor implements ISelectionChangedListener {
+
+ /**
+ * This keeps track of the active editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IEditorPart activeEditorPart;
+
+ /**
+ * This keeps track of the current selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelectionProvider selectionProvider;
+
+ /**
+ * This action opens the Properties view.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IAction showPropertiesViewAction = new Action(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+
+ @Override
+ public void run() {
+ try {
+ getPage().showView("org.eclipse.ui.views.PropertySheet");
+ } catch (PartInitException exception) {
+ InvariantStereotypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * This action refreshes the viewer of the current editor if the editor
+ * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IAction refreshViewerAction = new Action(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+
+ @Override
+ public boolean isEnabled() {
+ return activeEditorPart instanceof IViewerProvider;
+ }
+
+ @Override
+ public void run() {
+ if(activeEditorPart instanceof IViewerProvider) {
+ Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+ if(viewer != null) {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createChildActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createSiblingActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationActionBarContributor() {
+ super(ADDITIONS_LAST_STYLE);
+ loadResourceAction = new LoadResourceAction();
+ validateAction = new ValidateAction();
+ controlAction = new ControlAction();
+ }
+
+ /**
+ * This adds Separators for editor additions to the tool bar.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void contributeToToolBar(IToolBarManager toolBarManager) {
+ toolBarManager.add(new Separator("invariantstereotypeconfiguration-settings"));
+ toolBarManager.add(new Separator("invariantstereotypeconfiguration-additions"));
+ }
+
+ /**
+ * This adds to the menu bar a menu and some separators for editor additions,
+ * as well as the sub-menus for object creation items.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void contributeToMenu(IMenuManager menuManager) {
+ super.contributeToMenu(menuManager);
+ IMenuManager submenuManager = new MenuManager(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantStereotypeConfigurationEditor_menu"), "org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfigurationMenuID");
+ menuManager.insertAfter("additions", submenuManager);
+ submenuManager.add(new Separator("settings"));
+ submenuManager.add(new Separator("actions"));
+ submenuManager.add(new Separator("additions"));
+ submenuManager.add(new Separator("additions-end"));
+ // Prepare for CreateChild item addition or removal.
+ //
+ createChildMenuManager = new MenuManager(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ submenuManager.insertBefore("additions", createChildMenuManager);
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new MenuManager(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ submenuManager.insertBefore("additions", createSiblingMenuManager);
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener(new IMenuListener() {
+
+ public void menuAboutToShow(IMenuManager menuManager) {
+ menuManager.updateAll(true);
+ }
+ });
+ addGlobalActions(submenuManager);
+ }
+
+ /**
+ * When the active editor changes, this remembers the change and registers with it as a selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setActiveEditor(IEditorPart part) {
+ super.setActiveEditor(part);
+ activeEditorPart = part;
+ // Switch to the new selection provider.
+ //
+ if(selectionProvider != null) {
+ selectionProvider.removeSelectionChangedListener(this);
+ }
+ if(part == null) {
+ selectionProvider = null;
+ } else {
+ selectionProvider = part.getSite().getSelectionProvider();
+ selectionProvider.addSelectionChangedListener(this);
+ // Fake a selection changed event to update the menus.
+ //
+ if(selectionProvider.getSelection() != null) {
+ selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+ }
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+ * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+ * that can be added to the selected object and updating the menus accordingly.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void selectionChanged(SelectionChangedEvent event) {
+ // Remove any menu items for old selection.
+ //
+ if(createChildMenuManager != null) {
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if(createSiblingMenuManager != null) {
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection<?> newChildDescriptors = null;
+ Collection<?> newSiblingDescriptors = null;
+ ISelection selection = event.getSelection();
+ if(selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+ EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+ createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+ if(createChildMenuManager != null) {
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if(createSiblingMenuManager != null) {
+ populateManager(createSiblingMenuManager, createSiblingActions, null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if(descriptors != null) {
+ for(Object descriptor : descriptors) {
+ actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if(descriptors != null) {
+ for(Object descriptor : descriptors) {
+ actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+ * by inserting them before the specified contribution item <code>contributionID</code>.
+ * If <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+ if(actions != null) {
+ for(IAction action : actions) {
+ if(contributionID != null) {
+ manager.insertBefore(contributionID, action);
+ } else {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+ if(actions != null) {
+ IContributionItem[] items = manager.getItems();
+ for(int i = 0; i < items.length; i++) {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while(contributionItem instanceof SubContributionItem) {
+ contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+ }
+ // Delete the ActionContributionItems with matching action.
+ //
+ if(contributionItem instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem)contributionItem).getAction();
+ if(actions.contains(action)) {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager) {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+ submenuManager = new MenuManager(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+ submenuManager = new MenuManager(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void addGlobalActions(IMenuManager menuManager) {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction);
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted objects.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean removeAllReferencesOnDelete() {
+ return true;
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationEditor.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationEditor.java
new file mode 100644
index 00000000000..c116a4a2038
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationEditor.java
@@ -0,0 +1,1691 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.presentation;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.ViewerPane;
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.provider.EcoreItemProviderAdapterFactory;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryItemProviderAdapterFactory;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.util.LocalSelectionTransfer;
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider.InvariantSemanticTypeConfigurationItemProviderAdapterFactory;
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedtypesItemProviderAdapterFactory;
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationItemProviderAdapterFactory;
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.provider.InvariantStereotypeConfigurationItemProviderAdapterFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.dialogs.SaveAsDialog;
+import org.eclipse.ui.ide.IGotoMarker;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory;
+
+/**
+ * This is an example of a InvariantStereotypeConfiguration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantStereotypeConfigurationEditor extends MultiPageEditorPart implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+
+ /**
+ * This keeps track of the editing domain that is used to track all changes to the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AdapterFactoryEditingDomain editingDomain;
+
+ /**
+ * This is the one adapter factory used for providing views of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory adapterFactory;
+
+ /**
+ * This is the content outline page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IContentOutlinePage contentOutlinePage;
+
+ /**
+ * This is a kludge...
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStatusLineManager contentOutlineStatusLineManager;
+
+ /**
+ * This is the content outline page's viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer contentOutlineViewer;
+
+ /**
+ * This is the property sheet page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
+
+ /**
+ * This is the viewer that shadows the selection in the content outline.
+ * The parent relation must be correctly defined for this to work.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer selectionViewer;
+
+ /**
+ * This inverts the roll of parent and child in the content provider and show parents as a tree.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer parentViewer;
+
+ /**
+ * This shows how a tree view works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewer;
+
+ /**
+ * This shows how a list view works.
+ * A list viewer doesn't support icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListViewer listViewer;
+
+ /**
+ * This shows how a table view works.
+ * A table can be used as a list with icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TableViewer tableViewer;
+
+ /**
+ * This shows how a tree view with columns works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewerWithColumns;
+
+ /**
+ * This keeps track of the active viewer pane, in the book.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ViewerPane currentViewerPane;
+
+ /**
+ * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Viewer currentViewer;
+
+ /**
+ * This listens to which ever viewer is active.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelectionChangedListener selectionChangedListener;
+
+ /**
+ * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+ /**
+ * This keeps track of the selection of the editor as a whole.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+ /**
+ * The MarkerHelper is responsible for creating workspace resource markers presented
+ * in Eclipse's Problems View.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+ /**
+ * This listens for when the outline becomes active
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IPartListener partListener = new IPartListener() {
+
+ public void partActivated(IWorkbenchPart p) {
+ if(p instanceof ContentOutline) {
+ if(((ContentOutline)p).getCurrentPage() == contentOutlinePage) {
+ getActionBarContributor().setActiveEditor(InvariantStereotypeConfigurationEditor.this);
+ setCurrentViewer(contentOutlineViewer);
+ }
+ } else if(p instanceof PropertySheet) {
+ if(propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
+ getActionBarContributor().setActiveEditor(InvariantStereotypeConfigurationEditor.this);
+ handleActivate();
+ }
+ } else if(p == InvariantStereotypeConfigurationEditor.this) {
+ handleActivate();
+ }
+ }
+
+ public void partBroughtToTop(IWorkbenchPart p) {
+ // Ignore.
+ }
+
+ public void partClosed(IWorkbenchPart p) {
+ // Ignore.
+ }
+
+ public void partDeactivated(IWorkbenchPart p) {
+ // Ignore.
+ }
+
+ public void partOpened(IWorkbenchPart p) {
+ // Ignore.
+ }
+ };
+
+ /**
+ * Resources that have been removed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been changed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been saved.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+ /**
+ * Map to store the diagnostic associated with a resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+ /**
+ * Controls whether the problem indication should be updated.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean updateProblemIndication = true;
+
+ /**
+ * Adapter used to update the problem indication when resources are demanded loaded.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EContentAdapter problemIndicationAdapter = new EContentAdapter() {
+
+ @Override
+ public void notifyChanged(Notification notification) {
+ if(notification.getNotifier() instanceof Resource) {
+ switch(notification.getFeatureID(Resource.class)) {
+ case Resource.RESOURCE__IS_LOADED:
+ case Resource.RESOURCE__ERRORS:
+ case Resource.RESOURCE__WARNINGS:
+ {
+ Resource resource = (Resource)notification.getNotifier();
+ Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+ if(diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource, diagnostic);
+ } else {
+ resourceToDiagnosticMap.remove(resource);
+ }
+ if(updateProblemIndication) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ break;
+ }
+ }
+ } else {
+ super.notifyChanged(notification);
+ }
+ }
+
+ @Override
+ protected void setTarget(Resource target) {
+ basicSetTarget(target);
+ }
+
+ @Override
+ protected void unsetTarget(Resource target) {
+ basicUnsetTarget(target);
+ resourceToDiagnosticMap.remove(target);
+ if(updateProblemIndication) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ }
+ };
+
+ /**
+ * This listens for workspace changes.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() {
+
+ public void resourceChanged(IResourceChangeEvent event) {
+ IResourceDelta delta = event.getDelta();
+ try {
+ class ResourceDeltaVisitor implements IResourceDeltaVisitor {
+
+ protected ResourceSet resourceSet = editingDomain.getResourceSet();
+
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ public boolean visit(IResourceDelta delta) {
+ if(delta.getResource().getType() == IResource.FILE) {
+ if(delta.getKind() == IResourceDelta.REMOVED || delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) {
+ Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+ if(resource != null) {
+ if(delta.getKind() == IResourceDelta.REMOVED) {
+ removedResources.add(resource);
+ } else if(!savedResources.remove(resource)) {
+ changedResources.add(resource);
+ }
+ }
+ }
+ return false;
+ }
+ return true;
+ }
+
+ public Collection<Resource> getChangedResources() {
+ return changedResources;
+ }
+
+ public Collection<Resource> getRemovedResources() {
+ return removedResources;
+ }
+ }
+ final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+ delta.accept(visitor);
+ if(!visitor.getRemovedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ removedResources.addAll(visitor.getRemovedResources());
+ if(!isDirty()) {
+ getSite().getPage().closeEditor(InvariantStereotypeConfigurationEditor.this, false);
+ }
+ }
+ });
+ }
+ if(!visitor.getChangedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ changedResources.addAll(visitor.getChangedResources());
+ if(getSite().getPage().getActiveEditor() == InvariantStereotypeConfigurationEditor.this) {
+ handleActivate();
+ }
+ }
+ });
+ }
+ } catch (CoreException exception) {
+ InvariantStereotypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * Handles activation of the editor or it's associated views.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void handleActivate() {
+ // Recompute the read only state.
+ //
+ if(editingDomain.getResourceToReadOnlyMap() != null) {
+ editingDomain.getResourceToReadOnlyMap().clear();
+ // Refresh any actions that may become enabled or disabled.
+ //
+ setSelection(getSelection());
+ }
+ if(!removedResources.isEmpty()) {
+ if(handleDirtyConflict()) {
+ getSite().getPage().closeEditor(InvariantStereotypeConfigurationEditor.this, false);
+ } else {
+ removedResources.clear();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ } else if(!changedResources.isEmpty()) {
+ changedResources.removeAll(savedResources);
+ handleChangedResources();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+
+ /**
+ * Handles what to do with changed resources on activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void handleChangedResources() {
+ if(!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+ if(isDirty()) {
+ changedResources.addAll(editingDomain.getResourceSet().getResources());
+ }
+ editingDomain.getCommandStack().flush();
+ updateProblemIndication = false;
+ for(Resource resource : changedResources) {
+ if(resource.isLoaded()) {
+ resource.unload();
+ try {
+ resource.load(Collections.EMPTY_MAP);
+ } catch (IOException exception) {
+ if(!resourceToDiagnosticMap.containsKey(resource)) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ }
+ }
+ }
+ if(AdapterFactoryEditingDomain.isStale(editorSelection)) {
+ setSelection(StructuredSelection.EMPTY);
+ }
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+ }
+
+ /**
+ * Updates the problems indication with the information described in the specified diagnostic.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void updateProblemIndication() {
+ if(updateProblemIndication) {
+ BasicDiagnostic diagnostic = new BasicDiagnostic(Diagnostic.OK, "org.eclipse.papyrus.uml.tools.extendedtypes.editor", 0, null, new Object[]{ editingDomain.getResourceSet() });
+ for(Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) {
+ if(childDiagnostic.getSeverity() != Diagnostic.OK) {
+ diagnostic.add(childDiagnostic);
+ }
+ }
+ int lastEditorPage = getPageCount() - 1;
+ if(lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) {
+ ((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+ if(diagnostic.getSeverity() != Diagnostic.OK) {
+ setActivePage(lastEditorPage);
+ }
+ } else if(diagnostic.getSeverity() != Diagnostic.OK) {
+ ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+ problemEditorPart.setDiagnostic(diagnostic);
+ problemEditorPart.setMarkerHelper(markerHelper);
+ try {
+ addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+ setPageText(lastEditorPage, problemEditorPart.getPartName());
+ setActivePage(lastEditorPage);
+ showTabs();
+ } catch (PartInitException exception) {
+ InvariantStereotypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ if(markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+ markerHelper.deleteMarkers(editingDomain.getResourceSet());
+ if(diagnostic.getSeverity() != Diagnostic.OK) {
+ try {
+ markerHelper.createMarkers(diagnostic);
+ } catch (CoreException exception) {
+ InvariantStereotypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Shows a dialog that asks if conflicting changes should be discarded.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean handleDirtyConflict() {
+ return MessageDialog.openQuestion(getSite().getShell(), getString("_UI_FileConflict_label"), getString("_WARN_FileConflict"));
+ }
+
+ /**
+ * This creates a model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationEditor() {
+ super();
+ initializeEditingDomain();
+ }
+
+ /**
+ * This sets up the editing domain for the model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void initializeEditingDomain() {
+ // Create an adapter factory that yields item providers.
+ //
+ adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+ adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new InvariantStereotypeConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new EcoreItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ExtendedtypesItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new InvariantSemanticTypeConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new QueryItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new UMLItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+ // Create the command stack that will notify this editor as commands are executed.
+ //
+ BasicCommandStack commandStack = new BasicCommandStack();
+ // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+ //
+ commandStack.addCommandStackListener(new CommandStackListener() {
+
+ public void commandStackChanged(final EventObject event) {
+ getContainer().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+ // Try to select the affected objects.
+ //
+ Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+ if(mostRecentCommand != null) {
+ setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+ }
+ for(Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext();) {
+ PropertySheetPage propertySheetPage = i.next();
+ if(propertySheetPage.getControl().isDisposed()) {
+ i.remove();
+ } else {
+ propertySheetPage.refresh();
+ }
+ }
+ }
+ });
+ }
+ });
+ // Create the editing domain with a special command stack.
+ //
+ editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+ }
+
+ /**
+ * This is here for the listener to be able to call it.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void firePropertyChange(int action) {
+ super.firePropertyChange(action);
+ }
+
+ /**
+ * This sets the selection into whichever viewer is active.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelectionToViewer(Collection<?> collection) {
+ final Collection<?> theSelection = collection;
+ // Make sure it's okay.
+ //
+ if(theSelection != null && !theSelection.isEmpty()) {
+ Runnable runnable = new Runnable() {
+
+ public void run() {
+ // Try to select the items in the current content viewer of the editor.
+ //
+ if(currentViewer != null) {
+ currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+ }
+ }
+ };
+ getSite().getShell().getDisplay().asyncExec(runnable);
+ }
+ }
+
+ /**
+ * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+ * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
+ * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EditingDomain getEditingDomain() {
+ return editingDomain;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object[] getElements(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object[] getChildren(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object) {
+ Object parent = super.getParent(object);
+ return parent != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getParent(Object object) {
+ return null;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCurrentViewerPane(ViewerPane viewerPane) {
+ if(currentViewerPane != viewerPane) {
+ if(currentViewerPane != null) {
+ currentViewerPane.showFocus(false);
+ }
+ currentViewerPane = viewerPane;
+ }
+ setCurrentViewer(currentViewerPane.getViewer());
+ }
+
+ /**
+ * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
+ * is the current one.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCurrentViewer(Viewer viewer) {
+ // If it is changing...
+ //
+ if(currentViewer != viewer) {
+ if(selectionChangedListener == null) {
+ // Create the listener on demand.
+ //
+ selectionChangedListener = new ISelectionChangedListener() {
+
+ // This just notifies those things that are affected by the section.
+ //
+ public void selectionChanged(SelectionChangedEvent selectionChangedEvent) {
+ setSelection(selectionChangedEvent.getSelection());
+ }
+ };
+ }
+ // Stop listening to the old one.
+ //
+ if(currentViewer != null) {
+ currentViewer.removeSelectionChangedListener(selectionChangedListener);
+ }
+ // Start listening to the new one.
+ //
+ if(viewer != null) {
+ viewer.addSelectionChangedListener(selectionChangedListener);
+ }
+ // Remember it.
+ //
+ currentViewer = viewer;
+ // Set the editors selection based on the current viewer's selection.
+ //
+ setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
+ }
+ }
+
+ /**
+ * This returns the viewer as required by the {@link IViewerProvider} interface.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Viewer getViewer() {
+ return currentViewer;
+ }
+
+ /**
+ * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createContextMenuFor(StructuredViewer viewer) {
+ MenuManager contextMenu = new MenuManager("#PopUp");
+ contextMenu.add(new Separator("additions"));
+ contextMenu.setRemoveAllWhenShown(true);
+ contextMenu.addMenuListener(this);
+ Menu menu = contextMenu.createContextMenu(viewer.getControl());
+ viewer.getControl().setMenu(menu);
+ getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+ int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+ Transfer[] transfers = new Transfer[]{ LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
+ viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+ viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
+ }
+
+ /**
+ * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createModel() {
+ URI resourceURI = EditUIUtil.getURI(getEditorInput());
+ Exception exception = null;
+ Resource resource = null;
+ try {
+ // Load the resource through the editing domain.
+ //
+ resource = editingDomain.getResourceSet().getResource(resourceURI, true);
+ } catch (Exception e) {
+ exception = e;
+ resource = editingDomain.getResourceSet().getResource(resourceURI, false);
+ }
+ Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+ if(diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
+ }
+
+ /**
+ * Returns a diagnostic describing the errors and warnings listed in the resource
+ * and the specified exception (if any).
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) {
+ if(!resource.getErrors().isEmpty() || !resource.getWarnings().isEmpty()) {
+ BasicDiagnostic basicDiagnostic = new BasicDiagnostic(Diagnostic.ERROR, "org.eclipse.papyrus.uml.tools.extendedtypes.editor", 0, getString("_UI_CreateModelError_message", resource.getURI()), new Object[]{ exception == null ? (Object)resource : exception });
+ basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+ return basicDiagnostic;
+ } else if(exception != null) {
+ return new BasicDiagnostic(Diagnostic.ERROR, "org.eclipse.papyrus.uml.tools.extendedtypes.editor", 0, getString("_UI_CreateModelError_message", resource.getURI()), new Object[]{ exception });
+ } else {
+ return Diagnostic.OK_INSTANCE;
+ }
+ }
+
+ /**
+ * This is the method used by the framework to install your own controls.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void createPages() {
+ // Creates the model from the editor input
+ //
+ createModel();
+ // Only creates the other pages if there is something that can be edited
+ //
+ if(!getEditingDomain().getResourceSet().getResources().isEmpty()) {
+ // Create a page for the selection tree view.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(), InvariantStereotypeConfigurationEditor.this) {
+
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ selectionViewer = (TreeViewer)viewerPane.getViewer();
+ selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+ viewerPane.setTitle(editingDomain.getResourceSet());
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_SelectionPage_label"));
+ }
+ // Create a page for the parent tree view.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(), InvariantStereotypeConfigurationEditor.this) {
+
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ parentViewer = (TreeViewer)viewerPane.getViewer();
+ parentViewer.setAutoExpandLevel(30);
+ parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+ parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ createContextMenuFor(parentViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ParentPage_label"));
+ }
+ // This is the page for the list viewer
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(), InvariantStereotypeConfigurationEditor.this) {
+
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new ListViewer(composite);
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ listViewer = (ListViewer)viewerPane.getViewer();
+ listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ createContextMenuFor(listViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ListPage_label"));
+ }
+ // This is the page for the tree viewer
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(), InvariantStereotypeConfigurationEditor.this) {
+
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ treeViewer = (TreeViewer)viewerPane.getViewer();
+ treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+ createContextMenuFor(treeViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreePage_label"));
+ }
+ // This is the page for the table viewer.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(), InvariantStereotypeConfigurationEditor.this) {
+
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TableViewer(composite);
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ tableViewer = (TableViewer)viewerPane.getViewer();
+ Table table = tableViewer.getTable();
+ TableLayout layout = new TableLayout();
+ table.setLayout(layout);
+ table.setHeaderVisible(true);
+ table.setLinesVisible(true);
+ TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(3, 100, true));
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));
+ objectColumn.setResizable(true);
+ TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(2, 100, true));
+ selfColumn.setText(getString("_UI_SelfColumn_label"));
+ selfColumn.setResizable(true);
+ tableViewer.setColumnProperties(new String[]{ "a", "b" });
+ tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ createContextMenuFor(tableViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TablePage_label"));
+ }
+ // This is the page for the table tree viewer.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(), InvariantStereotypeConfigurationEditor.this) {
+
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+ Tree tree = treeViewerWithColumns.getTree();
+ tree.setLayoutData(new FillLayout());
+ tree.setHeaderVisible(true);
+ tree.setLinesVisible(true);
+ TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));
+ objectColumn.setResizable(true);
+ objectColumn.setWidth(250);
+ TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+ selfColumn.setText(getString("_UI_SelfColumn_label"));
+ selfColumn.setResizable(true);
+ selfColumn.setWidth(200);
+ treeViewerWithColumns.setColumnProperties(new String[]{ "a", "b" });
+ treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ createContextMenuFor(treeViewerWithColumns);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
+ }
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ setActivePage(0);
+ }
+ });
+ }
+ // Ensures that this editor will only display the page's tab
+ // area if there are more than one page
+ //
+ getContainer().addControlListener(new ControlAdapter() {
+
+ boolean guard = false;
+
+ @Override
+ public void controlResized(ControlEvent event) {
+ if(!guard) {
+ guard = true;
+ hideTabs();
+ guard = false;
+ }
+ }
+ });
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+
+ /**
+ * If there is just one page in the multi-page editor part,
+ * this hides the single tab at the bottom.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void hideTabs() {
+ if(getPageCount() <= 1) {
+ setPageText(0, "");
+ if(getContainer() instanceof CTabFolder) {
+ ((CTabFolder)getContainer()).setTabHeight(1);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y + 6);
+ }
+ }
+ }
+
+ /**
+ * If there is more than one page in the multi-page editor part,
+ * this shows the tabs at the bottom.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void showTabs() {
+ if(getPageCount() > 1) {
+ setPageText(0, getString("_UI_SelectionPage_label"));
+ if(getContainer() instanceof CTabFolder) {
+ ((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y - 6);
+ }
+ }
+ }
+
+ /**
+ * This is used to track the active viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void pageChange(int pageIndex) {
+ super.pageChange(pageIndex);
+ if(contentOutlinePage != null) {
+ handleContentOutlineSelection(contentOutlinePage.getSelection());
+ }
+ }
+
+ /**
+ * This is how the framework determines which interfaces we implement.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("rawtypes")
+ @Override
+ public Object getAdapter(Class key) {
+ if(key.equals(IContentOutlinePage.class)) {
+ return showOutlineView() ? getContentOutlinePage() : null;
+ } else if(key.equals(IPropertySheetPage.class)) {
+ return getPropertySheetPage();
+ } else if(key.equals(IGotoMarker.class)) {
+ return this;
+ } else {
+ return super.getAdapter(key);
+ }
+ }
+
+ /**
+ * This accesses a cached version of the content outliner.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IContentOutlinePage getContentOutlinePage() {
+ if(contentOutlinePage == null) {
+ // The content outline is just a tree.
+ //
+ class MyContentOutlinePage extends ContentOutlinePage {
+
+ @Override
+ public void createControl(Composite parent) {
+ super.createControl(parent);
+ contentOutlineViewer = getTreeViewer();
+ contentOutlineViewer.addSelectionChangedListener(this);
+ // Set up the tree viewer.
+ //
+ contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ contentOutlineViewer.setInput(editingDomain.getResourceSet());
+ // Make sure our popups work.
+ //
+ createContextMenuFor(contentOutlineViewer);
+ if(!editingDomain.getResourceSet().getResources().isEmpty()) {
+ // Select the root object in the view.
+ //
+ contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+ }
+ }
+
+ @Override
+ public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
+ super.makeContributions(menuManager, toolBarManager, statusLineManager);
+ contentOutlineStatusLineManager = statusLineManager;
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ }
+ contentOutlinePage = new MyContentOutlinePage();
+ // Listen to selection so that we can handle it is a special way.
+ //
+ contentOutlinePage.addSelectionChangedListener(new ISelectionChangedListener() {
+
+ // This ensures that we handle selections correctly.
+ //
+ public void selectionChanged(SelectionChangedEvent event) {
+ handleContentOutlineSelection(event.getSelection());
+ }
+ });
+ }
+ return contentOutlinePage;
+ }
+
+ /**
+ * This accesses a cached version of the property sheet.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IPropertySheetPage getPropertySheetPage() {
+ PropertySheetPage propertySheetPage = new ExtendedPropertySheetPage(editingDomain) {
+
+ @Override
+ public void setSelectionToViewer(List<?> selection) {
+ InvariantStereotypeConfigurationEditor.this.setSelectionToViewer(selection);
+ InvariantStereotypeConfigurationEditor.this.setFocus();
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ };
+ propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+ propertySheetPages.add(propertySheetPage);
+ return propertySheetPage;
+ }
+
+ /**
+ * This deals with how we want selection in the outliner to affect the other views.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void handleContentOutlineSelection(ISelection selection) {
+ if(currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
+ Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
+ if(selectedElements.hasNext()) {
+ // Get the first selected element.
+ //
+ Object selectedElement = selectedElements.next();
+ // If it's the selection viewer, then we want it to select the same selection as this selection.
+ //
+ if(currentViewerPane.getViewer() == selectionViewer) {
+ ArrayList<Object> selectionList = new ArrayList<Object>();
+ selectionList.add(selectedElement);
+ while(selectedElements.hasNext()) {
+ selectionList.add(selectedElements.next());
+ }
+ // Set the selection to the widget.
+ //
+ selectionViewer.setSelection(new StructuredSelection(selectionList));
+ } else {
+ // Set the input to the widget.
+ //
+ if(currentViewerPane.getViewer().getInput() != selectedElement) {
+ currentViewerPane.getViewer().setInput(selectedElement);
+ currentViewerPane.setTitle(selectedElement);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply tests the command stack.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDirty() {
+ return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply saves the model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void doSave(IProgressMonitor progressMonitor) {
+ // Save only resources that have actually changed.
+ //
+ final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+ saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+ saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
+ // Do the work within an operation because this is a long running activity that modifies the workbench.
+ //
+ WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
+
+ // This is the method that gets invoked when the operation runs.
+ //
+ @Override
+ public void execute(IProgressMonitor monitor) {
+ // Save the resources to the file system.
+ //
+ boolean first = true;
+ for(Resource resource : editingDomain.getResourceSet().getResources()) {
+ if((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) {
+ try {
+ long timeStamp = resource.getTimeStamp();
+ resource.save(saveOptions);
+ if(resource.getTimeStamp() != timeStamp) {
+ savedResources.add(resource);
+ }
+ } catch (Exception exception) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ first = false;
+ }
+ }
+ }
+ };
+ updateProblemIndication = false;
+ try {
+ // This runs the options, and shows progress.
+ //
+ new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+ // Refresh the necessary state.
+ //
+ ((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+ } catch (Exception exception) {
+ // Something went wrong that shouldn't.
+ //
+ InvariantStereotypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+
+ /**
+ * This returns whether something has been persisted to the URI of the specified resource.
+ * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean isPersisted(Resource resource) {
+ boolean result = false;
+ try {
+ InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+ if(stream != null) {
+ result = true;
+ stream.close();
+ }
+ } catch (IOException e) {
+ // Ignore
+ }
+ return result;
+ }
+
+ /**
+ * This always returns true because it is not currently supported.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSaveAsAllowed() {
+ return true;
+ }
+
+ /**
+ * This also changes the editor's input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void doSaveAs() {
+ SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+ saveAsDialog.open();
+ IPath path = saveAsDialog.getResult();
+ if(path != null) {
+ IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+ if(file != null) {
+ doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void doSaveAs(URI uri, IEditorInput editorInput) {
+ (editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ IProgressMonitor progressMonitor = getActionBars().getStatusLineManager() != null ? getActionBars().getStatusLineManager().getProgressMonitor() : new NullProgressMonitor();
+ doSave(progressMonitor);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void gotoMarker(IMarker marker) {
+ List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+ if(!targetObjects.isEmpty()) {
+ setSelectionToViewer(targetObjects);
+ }
+ }
+
+ /**
+ * This is called during startup.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void init(IEditorSite site, IEditorInput editorInput) {
+ setSite(site);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ site.setSelectionProvider(this);
+ site.getPage().addPartListener(partListener);
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setFocus() {
+ if(currentViewerPane != null) {
+ currentViewerPane.setFocus();
+ } else {
+ getControl(getActivePage()).setFocus();
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addSelectionChangedListener(ISelectionChangedListener listener) {
+ selectionChangedListeners.add(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void removeSelectionChangedListener(ISelectionChangedListener listener) {
+ selectionChangedListeners.remove(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ISelection getSelection() {
+ return editorSelection;
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+ * Calling this result will notify the listeners.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelection(ISelection selection) {
+ editorSelection = selection;
+ for(ISelectionChangedListener listener : selectionChangedListeners) {
+ listener.selectionChanged(new SelectionChangedEvent(this, selection));
+ }
+ setStatusLineManager(selection);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatusLineManager(ISelection selection) {
+ IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ? contentOutlineStatusLineManager : getActionBars().getStatusLineManager();
+ if(statusLineManager != null) {
+ if(selection instanceof IStructuredSelection) {
+ Collection<?> collection = ((IStructuredSelection)selection).toList();
+ switch(collection.size()) {
+ case 0:
+ {
+ statusLineManager.setMessage(getString("_UI_NoObjectSelected"));
+ break;
+ }
+ case 1:
+ {
+ String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+ statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text));
+ break;
+ }
+ default:
+ {
+ statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size())));
+ break;
+ }
+ }
+ } else {
+ statusLineManager.setMessage("");
+ }
+ }
+ }
+
+ /**
+ * This looks up a string in the plugin's plugin.properties file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static String getString(String key) {
+ return InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString(key);
+ }
+
+ /**
+ * This looks up a string in plugin.properties, making a substitution.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static String getString(String key, Object s1) {
+ return InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString(key, new Object[]{ s1 });
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void menuAboutToShow(IMenuManager menuManager) {
+ ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EditingDomainActionBarContributor getActionBarContributor() {
+ return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IActionBars getActionBars() {
+ return getActionBarContributor().getActionBars();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AdapterFactory getAdapterFactory() {
+ return adapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ updateProblemIndication = false;
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+ getSite().getPage().removePartListener(partListener);
+ adapterFactory.dispose();
+ if(getActionBarContributor().getActiveEditor() == this) {
+ getActionBarContributor().setActiveEditor(null);
+ }
+ for(PropertySheetPage propertySheetPage : propertySheetPages) {
+ propertySheetPage.dispose();
+ }
+ if(contentOutlinePage != null) {
+ contentOutlinePage.dispose();
+ }
+ super.dispose();
+ }
+
+ /**
+ * Returns whether the outline view should be presented to the user.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean showOutlineView() {
+ return true;
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationEditorPlugin.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationEditorPlugin.java
new file mode 100644
index 00000000000..81037f16d26
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationEditorPlugin.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.presentation;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.ui.EclipseUIPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryEditPlugin;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.provider.InvariantSemanticTypeConfigurationEditPlugin;
+
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the InvariantStereotypeConfiguration editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class InvariantStereotypeConfigurationEditorPlugin extends EMFPlugin {
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final InvariantStereotypeConfigurationEditorPlugin INSTANCE = new InvariantStereotypeConfigurationEditorPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationEditorPlugin() {
+ super(new ResourceLocator[]{ ConfigurationEditPlugin.INSTANCE, EcoreEditPlugin.INSTANCE, ExtendedTypesEditPlugin.INSTANCE, InvariantSemanticTypeConfigurationEditPlugin.INSTANCE, QueryEditPlugin.INSTANCE, UMLEditPlugin.INSTANCE, });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipseUIPlugin {
+
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationModelWizard.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationModelWizard.java
new file mode 100644
index 00000000000..a61168be00e
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/presentation/InvariantStereotypeConfigurationModelWizard.java
@@ -0,0 +1,603 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.presentation;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.CommonPlugin;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationFactory;
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationPackage;
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.provider.InvariantStereotypeConfigurationEditPlugin;
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantStereotypeConfigurationModelWizard extends Wizard implements INewWizard {
+
+ /**
+ * The supported extensions for created files.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<String> FILE_EXTENSIONS = Collections.unmodifiableList(Arrays.asList(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantStereotypeConfigurationEditorFilenameExtensions").split("\\s*,\\s*")));
+
+ /**
+ * A formatted list of supported file extensions, suitable for display.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String FORMATTED_FILE_EXTENSIONS = InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantStereotypeConfigurationEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+ /**
+ * This caches an instance of the model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantStereotypeConfigurationPackage invariantStereotypeConfigurationPackage = InvariantStereotypeConfigurationPackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantStereotypeConfigurationFactory invariantStereotypeConfigurationFactory = invariantStereotypeConfigurationPackage.getInvariantStereotypeConfigurationFactory();
+
+ /**
+ * This is the file creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantStereotypeConfigurationModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantStereotypeConfigurationModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+ /**
+ * Remember the selection during initialization for populating the default container.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStructuredSelection selection;
+
+ /**
+ * Remember the workbench during initialization.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IWorkbench workbench;
+
+ /**
+ * Caches the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected List<String> initialObjectNames;
+
+ /**
+ * This just records the information.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ this.workbench = workbench;
+ this.selection = selection;
+ setWindowTitle(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getImage("full/wizban/NewInvariantStereotypeConfiguration")));
+ }
+
+ /**
+ * Returns the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<String> getInitialObjectNames() {
+ if(initialObjectNames == null) {
+ initialObjectNames = new ArrayList<String>();
+ for(EClassifier eClassifier : invariantStereotypeConfigurationPackage.getEClassifiers()) {
+ if(eClassifier instanceof EClass) {
+ EClass eClass = (EClass)eClassifier;
+ if(!eClass.isAbstract()) {
+ initialObjectNames.add(eClass.getName());
+ }
+ }
+ }
+ Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
+ }
+ return initialObjectNames;
+ }
+
+ /**
+ * Create a new model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObject createInitialModel() {
+ EClass eClass = (EClass)invariantStereotypeConfigurationPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = invariantStereotypeConfigurationFactory.create(eClass);
+ return rootObject;
+ }
+
+ /**
+ * Do the work after everything is specified.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean performFinish() {
+ try {
+ // Remember the file.
+ //
+ final IFile modelFile = getModelFile();
+ // Do the work within an operation.
+ //
+ WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
+
+ @Override
+ protected void execute(IProgressMonitor progressMonitor) {
+ try {
+ // Create a resource set
+ //
+ ResourceSet resourceSet = new ResourceSetImpl();
+ // Get the URI of the model file.
+ //
+ URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+ // Create a resource for this file.
+ //
+ Resource resource = resourceSet.createResource(fileURI);
+ // Add the initial model object to the contents.
+ //
+ EObject rootObject = createInitialModel();
+ if(rootObject != null) {
+ resource.getContents().add(rootObject);
+ }
+ // Save the contents of the resource to the file system.
+ //
+ Map<Object, Object> options = new HashMap<Object, Object>();
+ options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+ resource.save(options);
+ } catch (Exception exception) {
+ InvariantStereotypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ } finally {
+ progressMonitor.done();
+ }
+ }
+ };
+ getContainer().run(false, false, operation);
+ // Select the new file resource in the current view.
+ //
+ IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ final IWorkbenchPart activePart = page.getActivePart();
+ if(activePart instanceof ISetSelectionTarget) {
+ final ISelection targetSelection = new StructuredSelection(modelFile);
+ getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+ }
+ });
+ }
+ // Open an editor on the new file.
+ //
+ try {
+ page.openEditor(new FileEditorInput(modelFile), workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());
+ } catch (PartInitException exception) {
+ MessageDialog.openError(workbenchWindow.getShell(), InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+ return false;
+ }
+ return true;
+ } catch (Exception exception) {
+ InvariantStereotypeConfigurationEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class InvariantStereotypeConfigurationModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) {
+ super(pageId, selection);
+ }
+
+ /**
+ * The framework calls this to see if the file is correct.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean validatePage() {
+ if(super.validatePage()) {
+ String extension = new Path(getFileName()).getFileExtension();
+ if(extension == null || !FILE_EXTENSIONS.contains(extension)) {
+ String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";
+ setErrorMessage(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString(key, new Object[]{ FORMATTED_FILE_EXTENSIONS }));
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile() {
+ return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+ }
+ }
+
+ /**
+ * This is the page where the type of object to create is selected.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class InvariantStereotypeConfigurationModelWizardInitialObjectCreationPage extends WizardPage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo initialObjectField;
+
+ /**
+ * @generated
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ */
+ protected List<String> encodings;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo encodingField;
+
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationModelWizardInitialObjectCreationPage(String pageId) {
+ super(pageId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE);
+ {
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.verticalSpacing = 12;
+ composite.setLayout(layout);
+ GridData data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.grabExcessVerticalSpace = true;
+ data.horizontalAlignment = GridData.FILL;
+ composite.setLayoutData(data);
+ }
+ Label containerLabel = new Label(composite, SWT.LEFT);
+ {
+ containerLabel.setText(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_ModelObject"));
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ containerLabel.setLayoutData(data);
+ }
+ initialObjectField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ initialObjectField.setLayoutData(data);
+ }
+ for(String objectName : getInitialObjectNames()) {
+ initialObjectField.add(getLabel(objectName));
+ }
+ if(initialObjectField.getItemCount() == 1) {
+ initialObjectField.select(0);
+ }
+ initialObjectField.addModifyListener(validator);
+ Label encodingLabel = new Label(composite, SWT.LEFT);
+ {
+ encodingLabel.setText(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_XMLEncoding"));
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ encodingLabel.setLayoutData(data);
+ }
+ encodingField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ encodingField.setLayoutData(data);
+ }
+ for(String encoding : getEncodings()) {
+ encodingField.add(encoding);
+ }
+ encodingField.select(0);
+ encodingField.addModifyListener(validator);
+ setPageComplete(validatePage());
+ setControl(composite);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifyListener validator = new ModifyListener() {
+
+ public void modifyText(ModifyEvent e) {
+ setPageComplete(validatePage());
+ }
+ };
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean validatePage() {
+ return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ if(visible) {
+ if(initialObjectField.getItemCount() == 1) {
+ initialObjectField.clearSelection();
+ encodingField.setFocus();
+ } else {
+ encodingField.clearSelection();
+ initialObjectField.setFocus();
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getInitialObjectName() {
+ String label = initialObjectField.getText();
+ for(String name : getInitialObjectNames()) {
+ if(getLabel(name).equals(label)) {
+ return name;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEncoding() {
+ return encodingField.getText();
+ }
+
+ /**
+ * Returns the label for the specified type name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected String getLabel(String typeName) {
+ try {
+ return InvariantStereotypeConfigurationEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+ } catch (MissingResourceException mre) {
+ InvariantStereotypeConfigurationEditorPlugin.INSTANCE.log(mre);
+ }
+ return typeName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<String> getEncodings() {
+ if(encodings == null) {
+ encodings = new ArrayList<String>();
+ for(StringTokenizer stringTokenizer = new StringTokenizer(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens();) {
+ encodings.add(stringTokenizer.nextToken());
+ }
+ }
+ return encodings;
+ }
+ }
+
+ /**
+ * The framework calls this to create the contents of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void addPages() {
+ // Create a page, set the title, and the initial model file name.
+ //
+ newFileCreationPage = new InvariantStereotypeConfigurationModelWizardNewFileCreationPage("Whatever", selection);
+ newFileCreationPage.setTitle(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantStereotypeConfigurationModelWizard_label"));
+ newFileCreationPage.setDescription(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantStereotypeConfigurationModelWizard_description"));
+ newFileCreationPage.setFileName(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantStereotypeConfigurationEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
+ addPage(newFileCreationPage);
+ // Try and get the resource selection to determine a current directory for the file dialog.
+ //
+ if(selection != null && !selection.isEmpty()) {
+ // Get the resource...
+ //
+ Object selectedElement = selection.iterator().next();
+ if(selectedElement instanceof IResource) {
+ // Get the resource parent, if its a file.
+ //
+ IResource selectedResource = (IResource)selectedElement;
+ if(selectedResource.getType() == IResource.FILE) {
+ selectedResource = selectedResource.getParent();
+ }
+ // This gives us a directory...
+ //
+ if(selectedResource instanceof IFolder || selectedResource instanceof IProject) {
+ // Set this for the container.
+ //
+ newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+ // Make up a unique new name here.
+ //
+ String defaultModelBaseFilename = InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantStereotypeConfigurationEditorFilenameDefaultBase");
+ String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
+ String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;
+ for(int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
+ modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;
+ }
+ newFileCreationPage.setFileName(modelFilename);
+ }
+ }
+ }
+ initialObjectCreationPage = new InvariantStereotypeConfigurationModelWizardInitialObjectCreationPage("Whatever2");
+ initialObjectCreationPage.setTitle(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_InvariantStereotypeConfigurationModelWizard_label"));
+ initialObjectCreationPage.setDescription(InvariantStereotypeConfigurationEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description"));
+ addPage(initialObjectCreationPage);
+ }
+
+ /**
+ * Get the file from the page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile() {
+ return newFileCreationPage.getModelFile();
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationActionBarContributor.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationActionBarContributor.java
new file mode 100644
index 00000000000..6442e2eedc6
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationActionBarContributor.java
@@ -0,0 +1,433 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the StereotypedElementMatcherConfiguration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StereotypedElementMatcherConfigurationActionBarContributor
+ extends EditingDomainActionBarContributor
+ implements ISelectionChangedListener {
+ /**
+ * This keeps track of the active editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IEditorPart activeEditorPart;
+
+ /**
+ * This keeps track of the current selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelectionProvider selectionProvider;
+
+ /**
+ * This action opens the Properties view.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IAction showPropertiesViewAction =
+ new Action(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+ @Override
+ public void run() {
+ try {
+ getPage().showView("org.eclipse.ui.views.PropertySheet");
+ }
+ catch (PartInitException exception) {
+ StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * This action refreshes the viewer of the current editor if the editor
+ * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IAction refreshViewerAction =
+ new Action(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+ @Override
+ public boolean isEnabled() {
+ return activeEditorPart instanceof IViewerProvider;
+ }
+
+ @Override
+ public void run() {
+ if (activeEditorPart instanceof IViewerProvider) {
+ Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+ if (viewer != null) {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createChildActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createSiblingActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationActionBarContributor() {
+ super(ADDITIONS_LAST_STYLE);
+ loadResourceAction = new LoadResourceAction();
+ validateAction = new ValidateAction();
+ controlAction = new ControlAction();
+ }
+
+ /**
+ * This adds Separators for editor additions to the tool bar.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void contributeToToolBar(IToolBarManager toolBarManager) {
+ toolBarManager.add(new Separator("stereotypedelementmatcherconfiguration-settings"));
+ toolBarManager.add(new Separator("stereotypedelementmatcherconfiguration-additions"));
+ }
+
+ /**
+ * This adds to the menu bar a menu and some separators for editor additions,
+ * as well as the sub-menus for object creation items.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void contributeToMenu(IMenuManager menuManager) {
+ super.contributeToMenu(menuManager);
+
+ IMenuManager submenuManager = new MenuManager(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_StereotypedElementMatcherConfigurationEditor_menu"), "org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfigurationMenuID");
+ menuManager.insertAfter("additions", submenuManager);
+ submenuManager.add(new Separator("settings"));
+ submenuManager.add(new Separator("actions"));
+ submenuManager.add(new Separator("additions"));
+ submenuManager.add(new Separator("additions-end"));
+
+ // Prepare for CreateChild item addition or removal.
+ //
+ createChildMenuManager = new MenuManager(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ submenuManager.insertBefore("additions", createChildMenuManager);
+
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new MenuManager(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener
+ (new IMenuListener() {
+ public void menuAboutToShow(IMenuManager menuManager) {
+ menuManager.updateAll(true);
+ }
+ });
+
+ addGlobalActions(submenuManager);
+ }
+
+ /**
+ * When the active editor changes, this remembers the change and registers with it as a selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setActiveEditor(IEditorPart part) {
+ super.setActiveEditor(part);
+ activeEditorPart = part;
+
+ // Switch to the new selection provider.
+ //
+ if (selectionProvider != null) {
+ selectionProvider.removeSelectionChangedListener(this);
+ }
+ if (part == null) {
+ selectionProvider = null;
+ }
+ else {
+ selectionProvider = part.getSite().getSelectionProvider();
+ selectionProvider.addSelectionChangedListener(this);
+
+ // Fake a selection changed event to update the menus.
+ //
+ if (selectionProvider.getSelection() != null) {
+ selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+ }
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+ * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+ * that can be added to the selected object and updating the menus accordingly.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void selectionChanged(SelectionChangedEvent event) {
+ // Remove any menu items for old selection.
+ //
+ if (createChildMenuManager != null) {
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if (createSiblingMenuManager != null) {
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection<?> newChildDescriptors = null;
+ Collection<?> newSiblingDescriptors = null;
+
+ ISelection selection = event.getSelection();
+ if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+
+ EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+ createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+ if (createChildMenuManager != null) {
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if (createSiblingMenuManager != null) {
+ populateManager(createSiblingMenuManager, createSiblingActions, null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+ * by inserting them before the specified contribution item <code>contributionID</code>.
+ * If <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+ if (actions != null) {
+ for (IAction action : actions) {
+ if (contributionID != null) {
+ manager.insertBefore(contributionID, action);
+ }
+ else {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+ if (actions != null) {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++) {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while (contributionItem instanceof SubContributionItem) {
+ contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+ }
+
+ // Delete the ActionContributionItems with matching action.
+ //
+ if (contributionItem instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem)contributionItem).getAction();
+ if (actions.contains(action)) {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager) {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+
+ submenuManager = new MenuManager(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+
+ submenuManager = new MenuManager(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void addGlobalActions(IMenuManager menuManager) {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted objects.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean removeAllReferencesOnDelete() {
+ return true;
+ }
+
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationEditor.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationEditor.java
new file mode 100644
index 00000000000..45ea6b93057
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationEditor.java
@@ -0,0 +1,1799 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.presentation;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.ViewerPane;
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.provider.EcoreItemProviderAdapterFactory;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryItemProviderAdapterFactory;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.util.LocalSelectionTransfer;
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedtypesItemProviderAdapterFactory;
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationItemProviderAdapterFactory;
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.provider.StereotypedElementMatcherConfigurationItemProviderAdapterFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.dialogs.SaveAsDialog;
+import org.eclipse.ui.ide.IGotoMarker;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory;
+
+
+/**
+ * This is an example of a StereotypedElementMatcherConfiguration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StereotypedElementMatcherConfigurationEditor
+ extends MultiPageEditorPart
+ implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+ /**
+ * This keeps track of the editing domain that is used to track all changes to the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AdapterFactoryEditingDomain editingDomain;
+
+ /**
+ * This is the one adapter factory used for providing views of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory adapterFactory;
+
+ /**
+ * This is the content outline page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IContentOutlinePage contentOutlinePage;
+
+ /**
+ * This is a kludge...
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStatusLineManager contentOutlineStatusLineManager;
+
+ /**
+ * This is the content outline page's viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer contentOutlineViewer;
+
+ /**
+ * This is the property sheet page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
+
+ /**
+ * This is the viewer that shadows the selection in the content outline.
+ * The parent relation must be correctly defined for this to work.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer selectionViewer;
+
+ /**
+ * This inverts the roll of parent and child in the content provider and show parents as a tree.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer parentViewer;
+
+ /**
+ * This shows how a tree view works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewer;
+
+ /**
+ * This shows how a list view works.
+ * A list viewer doesn't support icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListViewer listViewer;
+
+ /**
+ * This shows how a table view works.
+ * A table can be used as a list with icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TableViewer tableViewer;
+
+ /**
+ * This shows how a tree view with columns works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewerWithColumns;
+
+ /**
+ * This keeps track of the active viewer pane, in the book.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ViewerPane currentViewerPane;
+
+ /**
+ * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Viewer currentViewer;
+
+ /**
+ * This listens to which ever viewer is active.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelectionChangedListener selectionChangedListener;
+
+ /**
+ * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+ /**
+ * This keeps track of the selection of the editor as a whole.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+ /**
+ * The MarkerHelper is responsible for creating workspace resource markers presented
+ * in Eclipse's Problems View.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+ /**
+ * This listens for when the outline becomes active
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IPartListener partListener =
+ new IPartListener() {
+ public void partActivated(IWorkbenchPart p) {
+ if (p instanceof ContentOutline) {
+ if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) {
+ getActionBarContributor().setActiveEditor(StereotypedElementMatcherConfigurationEditor.this);
+
+ setCurrentViewer(contentOutlineViewer);
+ }
+ }
+ else if (p instanceof PropertySheet) {
+ if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
+ getActionBarContributor().setActiveEditor(StereotypedElementMatcherConfigurationEditor.this);
+ handleActivate();
+ }
+ }
+ else if (p == StereotypedElementMatcherConfigurationEditor.this) {
+ handleActivate();
+ }
+ }
+ public void partBroughtToTop(IWorkbenchPart p) {
+ // Ignore.
+ }
+ public void partClosed(IWorkbenchPart p) {
+ // Ignore.
+ }
+ public void partDeactivated(IWorkbenchPart p) {
+ // Ignore.
+ }
+ public void partOpened(IWorkbenchPart p) {
+ // Ignore.
+ }
+ };
+
+ /**
+ * Resources that have been removed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been changed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been saved.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+ /**
+ * Map to store the diagnostic associated with a resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+ /**
+ * Controls whether the problem indication should be updated.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean updateProblemIndication = true;
+
+ /**
+ * Adapter used to update the problem indication when resources are demanded loaded.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EContentAdapter problemIndicationAdapter =
+ new EContentAdapter() {
+ @Override
+ public void notifyChanged(Notification notification) {
+ if (notification.getNotifier() instanceof Resource) {
+ switch (notification.getFeatureID(Resource.class)) {
+ case Resource.RESOURCE__IS_LOADED:
+ case Resource.RESOURCE__ERRORS:
+ case Resource.RESOURCE__WARNINGS: {
+ Resource resource = (Resource)notification.getNotifier();
+ Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource, diagnostic);
+ }
+ else {
+ resourceToDiagnosticMap.remove(resource);
+ }
+
+ if (updateProblemIndication) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ break;
+ }
+ }
+ }
+ else {
+ super.notifyChanged(notification);
+ }
+ }
+
+ @Override
+ protected void setTarget(Resource target) {
+ basicSetTarget(target);
+ }
+
+ @Override
+ protected void unsetTarget(Resource target) {
+ basicUnsetTarget(target);
+ resourceToDiagnosticMap.remove(target);
+ if (updateProblemIndication) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ }
+ };
+
+ /**
+ * This listens for workspace changes.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IResourceChangeListener resourceChangeListener =
+ new IResourceChangeListener() {
+ public void resourceChanged(IResourceChangeEvent event) {
+ IResourceDelta delta = event.getDelta();
+ try {
+ class ResourceDeltaVisitor implements IResourceDeltaVisitor {
+ protected ResourceSet resourceSet = editingDomain.getResourceSet();
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ public boolean visit(IResourceDelta delta) {
+ if (delta.getResource().getType() == IResource.FILE) {
+ if (delta.getKind() == IResourceDelta.REMOVED ||
+ delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) {
+ Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+ if (resource != null) {
+ if (delta.getKind() == IResourceDelta.REMOVED) {
+ removedResources.add(resource);
+ }
+ else if (!savedResources.remove(resource)) {
+ changedResources.add(resource);
+ }
+ }
+ }
+ return false;
+ }
+
+ return true;
+ }
+
+ public Collection<Resource> getChangedResources() {
+ return changedResources;
+ }
+
+ public Collection<Resource> getRemovedResources() {
+ return removedResources;
+ }
+ }
+
+ final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+ delta.accept(visitor);
+
+ if (!visitor.getRemovedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ removedResources.addAll(visitor.getRemovedResources());
+ if (!isDirty()) {
+ getSite().getPage().closeEditor(StereotypedElementMatcherConfigurationEditor.this, false);
+ }
+ }
+ });
+ }
+
+ if (!visitor.getChangedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ changedResources.addAll(visitor.getChangedResources());
+ if (getSite().getPage().getActiveEditor() == StereotypedElementMatcherConfigurationEditor.this) {
+ handleActivate();
+ }
+ }
+ });
+ }
+ }
+ catch (CoreException exception) {
+ StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * Handles activation of the editor or it's associated views.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void handleActivate() {
+ // Recompute the read only state.
+ //
+ if (editingDomain.getResourceToReadOnlyMap() != null) {
+ editingDomain.getResourceToReadOnlyMap().clear();
+
+ // Refresh any actions that may become enabled or disabled.
+ //
+ setSelection(getSelection());
+ }
+
+ if (!removedResources.isEmpty()) {
+ if (handleDirtyConflict()) {
+ getSite().getPage().closeEditor(StereotypedElementMatcherConfigurationEditor.this, false);
+ }
+ else {
+ removedResources.clear();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+ else if (!changedResources.isEmpty()) {
+ changedResources.removeAll(savedResources);
+ handleChangedResources();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+
+ /**
+ * Handles what to do with changed resources on activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void handleChangedResources() {
+ if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+ if (isDirty()) {
+ changedResources.addAll(editingDomain.getResourceSet().getResources());
+ }
+ editingDomain.getCommandStack().flush();
+
+ updateProblemIndication = false;
+ for (Resource resource : changedResources) {
+ if (resource.isLoaded()) {
+ resource.unload();
+ try {
+ resource.load(Collections.EMPTY_MAP);
+ }
+ catch (IOException exception) {
+ if (!resourceToDiagnosticMap.containsKey(resource)) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ }
+ }
+ }
+
+ if (AdapterFactoryEditingDomain.isStale(editorSelection)) {
+ setSelection(StructuredSelection.EMPTY);
+ }
+
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+ }
+
+ /**
+ * Updates the problems indication with the information described in the specified diagnostic.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void updateProblemIndication() {
+ if (updateProblemIndication) {
+ BasicDiagnostic diagnostic =
+ new BasicDiagnostic
+ (Diagnostic.OK,
+ "org.eclipse.papyrus.uml.tools.extendedtypes.editor",
+ 0,
+ null,
+ new Object [] { editingDomain.getResourceSet() });
+ for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) {
+ if (childDiagnostic.getSeverity() != Diagnostic.OK) {
+ diagnostic.add(childDiagnostic);
+ }
+ }
+
+ int lastEditorPage = getPageCount() - 1;
+ if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) {
+ ((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ setActivePage(lastEditorPage);
+ }
+ }
+ else if (diagnostic.getSeverity() != Diagnostic.OK) {
+ ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+ problemEditorPart.setDiagnostic(diagnostic);
+ problemEditorPart.setMarkerHelper(markerHelper);
+ try {
+ addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+ setPageText(lastEditorPage, problemEditorPart.getPartName());
+ setActivePage(lastEditorPage);
+ showTabs();
+ }
+ catch (PartInitException exception) {
+ StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+ markerHelper.deleteMarkers(editingDomain.getResourceSet());
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ try {
+ markerHelper.createMarkers(diagnostic);
+ }
+ catch (CoreException exception) {
+ StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Shows a dialog that asks if conflicting changes should be discarded.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean handleDirtyConflict() {
+ return
+ MessageDialog.openQuestion
+ (getSite().getShell(),
+ getString("_UI_FileConflict_label"),
+ getString("_WARN_FileConflict"));
+ }
+
+ /**
+ * This creates a model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationEditor() {
+ super();
+ initializeEditingDomain();
+ }
+
+ /**
+ * This sets up the editing domain for the model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void initializeEditingDomain() {
+ // Create an adapter factory that yields item providers.
+ //
+ adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+ adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new StereotypedElementMatcherConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new EcoreItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ExtendedtypesItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new QueryItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new UMLItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+ // Create the command stack that will notify this editor as commands are executed.
+ //
+ BasicCommandStack commandStack = new BasicCommandStack();
+
+ // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+ //
+ commandStack.addCommandStackListener
+ (new CommandStackListener() {
+ public void commandStackChanged(final EventObject event) {
+ getContainer().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+
+ // Try to select the affected objects.
+ //
+ Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+ if (mostRecentCommand != null) {
+ setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+ }
+ for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+ PropertySheetPage propertySheetPage = i.next();
+ if (propertySheetPage.getControl().isDisposed()) {
+ i.remove();
+ }
+ else {
+ propertySheetPage.refresh();
+ }
+ }
+ }
+ });
+ }
+ });
+
+ // Create the editing domain with a special command stack.
+ //
+ editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+ }
+
+ /**
+ * This is here for the listener to be able to call it.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void firePropertyChange(int action) {
+ super.firePropertyChange(action);
+ }
+
+ /**
+ * This sets the selection into whichever viewer is active.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelectionToViewer(Collection<?> collection) {
+ final Collection<?> theSelection = collection;
+ // Make sure it's okay.
+ //
+ if (theSelection != null && !theSelection.isEmpty()) {
+ Runnable runnable =
+ new Runnable() {
+ public void run() {
+ // Try to select the items in the current content viewer of the editor.
+ //
+ if (currentViewer != null) {
+ currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+ }
+ }
+ };
+ getSite().getShell().getDisplay().asyncExec(runnable);
+ }
+ }
+
+ /**
+ * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+ * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
+ * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EditingDomain getEditingDomain() {
+ return editingDomain;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object [] getElements(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object [] getChildren(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object) {
+ Object parent = super.getParent(object);
+ return parent != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getParent(Object object) {
+ return null;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCurrentViewerPane(ViewerPane viewerPane) {
+ if (currentViewerPane != viewerPane) {
+ if (currentViewerPane != null) {
+ currentViewerPane.showFocus(false);
+ }
+ currentViewerPane = viewerPane;
+ }
+ setCurrentViewer(currentViewerPane.getViewer());
+ }
+
+ /**
+ * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
+ * is the current one.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCurrentViewer(Viewer viewer) {
+ // If it is changing...
+ //
+ if (currentViewer != viewer) {
+ if (selectionChangedListener == null) {
+ // Create the listener on demand.
+ //
+ selectionChangedListener =
+ new ISelectionChangedListener() {
+ // This just notifies those things that are affected by the section.
+ //
+ public void selectionChanged(SelectionChangedEvent selectionChangedEvent) {
+ setSelection(selectionChangedEvent.getSelection());
+ }
+ };
+ }
+
+ // Stop listening to the old one.
+ //
+ if (currentViewer != null) {
+ currentViewer.removeSelectionChangedListener(selectionChangedListener);
+ }
+
+ // Start listening to the new one.
+ //
+ if (viewer != null) {
+ viewer.addSelectionChangedListener(selectionChangedListener);
+ }
+
+ // Remember it.
+ //
+ currentViewer = viewer;
+
+ // Set the editors selection based on the current viewer's selection.
+ //
+ setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
+ }
+ }
+
+ /**
+ * This returns the viewer as required by the {@link IViewerProvider} interface.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Viewer getViewer() {
+ return currentViewer;
+ }
+
+ /**
+ * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createContextMenuFor(StructuredViewer viewer) {
+ MenuManager contextMenu = new MenuManager("#PopUp");
+ contextMenu.add(new Separator("additions"));
+ contextMenu.setRemoveAllWhenShown(true);
+ contextMenu.addMenuListener(this);
+ Menu menu= contextMenu.createContextMenu(viewer.getControl());
+ viewer.getControl().setMenu(menu);
+ getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+
+ int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+ Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
+ viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+ viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
+ }
+
+ /**
+ * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createModel() {
+ URI resourceURI = EditUIUtil.getURI(getEditorInput());
+ Exception exception = null;
+ Resource resource = null;
+ try {
+ // Load the resource through the editing domain.
+ //
+ resource = editingDomain.getResourceSet().getResource(resourceURI, true);
+ }
+ catch (Exception e) {
+ exception = e;
+ resource = editingDomain.getResourceSet().getResource(resourceURI, false);
+ }
+
+ Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
+ }
+
+ /**
+ * Returns a diagnostic describing the errors and warnings listed in the resource
+ * and the specified exception (if any).
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) {
+ if (!resource.getErrors().isEmpty() || !resource.getWarnings().isEmpty()) {
+ BasicDiagnostic basicDiagnostic =
+ new BasicDiagnostic
+ (Diagnostic.ERROR,
+ "org.eclipse.papyrus.uml.tools.extendedtypes.editor",
+ 0,
+ getString("_UI_CreateModelError_message", resource.getURI()),
+ new Object [] { exception == null ? (Object)resource : exception });
+ basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+ return basicDiagnostic;
+ }
+ else if (exception != null) {
+ return
+ new BasicDiagnostic
+ (Diagnostic.ERROR,
+ "org.eclipse.papyrus.uml.tools.extendedtypes.editor",
+ 0,
+ getString("_UI_CreateModelError_message", resource.getURI()),
+ new Object[] { exception });
+ }
+ else {
+ return Diagnostic.OK_INSTANCE;
+ }
+ }
+
+ /**
+ * This is the method used by the framework to install your own controls.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void createPages() {
+ // Creates the model from the editor input
+ //
+ createModel();
+
+ // Only creates the other pages if there is something that can be edited
+ //
+ if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
+ // Create a page for the selection tree view.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), StereotypedElementMatcherConfigurationEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ selectionViewer = (TreeViewer)viewerPane.getViewer();
+ selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+
+ selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+ viewerPane.setTitle(editingDomain.getResourceSet());
+
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_SelectionPage_label"));
+ }
+
+ // Create a page for the parent tree view.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), StereotypedElementMatcherConfigurationEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ parentViewer = (TreeViewer)viewerPane.getViewer();
+ parentViewer.setAutoExpandLevel(30);
+ parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+ parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(parentViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ParentPage_label"));
+ }
+
+ // This is the page for the list viewer
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), StereotypedElementMatcherConfigurationEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new ListViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ listViewer = (ListViewer)viewerPane.getViewer();
+ listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(listViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ListPage_label"));
+ }
+
+ // This is the page for the tree viewer
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), StereotypedElementMatcherConfigurationEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ treeViewer = (TreeViewer)viewerPane.getViewer();
+ treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+
+ createContextMenuFor(treeViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreePage_label"));
+ }
+
+ // This is the page for the table viewer.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), StereotypedElementMatcherConfigurationEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TableViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ tableViewer = (TableViewer)viewerPane.getViewer();
+
+ Table table = tableViewer.getTable();
+ TableLayout layout = new TableLayout();
+ table.setLayout(layout);
+ table.setHeaderVisible(true);
+ table.setLinesVisible(true);
+
+ TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(3, 100, true));
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));
+ objectColumn.setResizable(true);
+
+ TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(2, 100, true));
+ selfColumn.setText(getString("_UI_SelfColumn_label"));
+ selfColumn.setResizable(true);
+
+ tableViewer.setColumnProperties(new String [] {"a", "b"});
+ tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(tableViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TablePage_label"));
+ }
+
+ // This is the page for the table tree viewer.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), StereotypedElementMatcherConfigurationEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+
+ Tree tree = treeViewerWithColumns.getTree();
+ tree.setLayoutData(new FillLayout());
+ tree.setHeaderVisible(true);
+ tree.setLinesVisible(true);
+
+ TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));
+ objectColumn.setResizable(true);
+ objectColumn.setWidth(250);
+
+ TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+ selfColumn.setText(getString("_UI_SelfColumn_label"));
+ selfColumn.setResizable(true);
+ selfColumn.setWidth(200);
+
+ treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"});
+ treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(treeViewerWithColumns);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
+ }
+
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ setActivePage(0);
+ }
+ });
+ }
+
+ // Ensures that this editor will only display the page's tab
+ // area if there are more than one page
+ //
+ getContainer().addControlListener
+ (new ControlAdapter() {
+ boolean guard = false;
+ @Override
+ public void controlResized(ControlEvent event) {
+ if (!guard) {
+ guard = true;
+ hideTabs();
+ guard = false;
+ }
+ }
+ });
+
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+
+ /**
+ * If there is just one page in the multi-page editor part,
+ * this hides the single tab at the bottom.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void hideTabs() {
+ if (getPageCount() <= 1) {
+ setPageText(0, "");
+ if (getContainer() instanceof CTabFolder) {
+ ((CTabFolder)getContainer()).setTabHeight(1);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y + 6);
+ }
+ }
+ }
+
+ /**
+ * If there is more than one page in the multi-page editor part,
+ * this shows the tabs at the bottom.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void showTabs() {
+ if (getPageCount() > 1) {
+ setPageText(0, getString("_UI_SelectionPage_label"));
+ if (getContainer() instanceof CTabFolder) {
+ ((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y - 6);
+ }
+ }
+ }
+
+ /**
+ * This is used to track the active viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void pageChange(int pageIndex) {
+ super.pageChange(pageIndex);
+
+ if (contentOutlinePage != null) {
+ handleContentOutlineSelection(contentOutlinePage.getSelection());
+ }
+ }
+
+ /**
+ * This is how the framework determines which interfaces we implement.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("rawtypes")
+ @Override
+ public Object getAdapter(Class key) {
+ if (key.equals(IContentOutlinePage.class)) {
+ return showOutlineView() ? getContentOutlinePage() : null;
+ }
+ else if (key.equals(IPropertySheetPage.class)) {
+ return getPropertySheetPage();
+ }
+ else if (key.equals(IGotoMarker.class)) {
+ return this;
+ }
+ else {
+ return super.getAdapter(key);
+ }
+ }
+
+ /**
+ * This accesses a cached version of the content outliner.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IContentOutlinePage getContentOutlinePage() {
+ if (contentOutlinePage == null) {
+ // The content outline is just a tree.
+ //
+ class MyContentOutlinePage extends ContentOutlinePage {
+ @Override
+ public void createControl(Composite parent) {
+ super.createControl(parent);
+ contentOutlineViewer = getTreeViewer();
+ contentOutlineViewer.addSelectionChangedListener(this);
+
+ // Set up the tree viewer.
+ //
+ contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ contentOutlineViewer.setInput(editingDomain.getResourceSet());
+
+ // Make sure our popups work.
+ //
+ createContextMenuFor(contentOutlineViewer);
+
+ if (!editingDomain.getResourceSet().getResources().isEmpty()) {
+ // Select the root object in the view.
+ //
+ contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+ }
+ }
+
+ @Override
+ public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
+ super.makeContributions(menuManager, toolBarManager, statusLineManager);
+ contentOutlineStatusLineManager = statusLineManager;
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ }
+
+ contentOutlinePage = new MyContentOutlinePage();
+
+ // Listen to selection so that we can handle it is a special way.
+ //
+ contentOutlinePage.addSelectionChangedListener
+ (new ISelectionChangedListener() {
+ // This ensures that we handle selections correctly.
+ //
+ public void selectionChanged(SelectionChangedEvent event) {
+ handleContentOutlineSelection(event.getSelection());
+ }
+ });
+ }
+
+ return contentOutlinePage;
+ }
+
+ /**
+ * This accesses a cached version of the property sheet.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IPropertySheetPage getPropertySheetPage() {
+ PropertySheetPage propertySheetPage =
+ new ExtendedPropertySheetPage(editingDomain) {
+ @Override
+ public void setSelectionToViewer(List<?> selection) {
+ StereotypedElementMatcherConfigurationEditor.this.setSelectionToViewer(selection);
+ StereotypedElementMatcherConfigurationEditor.this.setFocus();
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ };
+ propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+ propertySheetPages.add(propertySheetPage);
+
+ return propertySheetPage;
+ }
+
+ /**
+ * This deals with how we want selection in the outliner to affect the other views.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void handleContentOutlineSelection(ISelection selection) {
+ if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
+ Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
+ if (selectedElements.hasNext()) {
+ // Get the first selected element.
+ //
+ Object selectedElement = selectedElements.next();
+
+ // If it's the selection viewer, then we want it to select the same selection as this selection.
+ //
+ if (currentViewerPane.getViewer() == selectionViewer) {
+ ArrayList<Object> selectionList = new ArrayList<Object>();
+ selectionList.add(selectedElement);
+ while (selectedElements.hasNext()) {
+ selectionList.add(selectedElements.next());
+ }
+
+ // Set the selection to the widget.
+ //
+ selectionViewer.setSelection(new StructuredSelection(selectionList));
+ }
+ else {
+ // Set the input to the widget.
+ //
+ if (currentViewerPane.getViewer().getInput() != selectedElement) {
+ currentViewerPane.getViewer().setInput(selectedElement);
+ currentViewerPane.setTitle(selectedElement);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply tests the command stack.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDirty() {
+ return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply saves the model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void doSave(IProgressMonitor progressMonitor) {
+ // Save only resources that have actually changed.
+ //
+ final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+ saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+ saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
+
+ // Do the work within an operation because this is a long running activity that modifies the workbench.
+ //
+ WorkspaceModifyOperation operation =
+ new WorkspaceModifyOperation() {
+ // This is the method that gets invoked when the operation runs.
+ //
+ @Override
+ public void execute(IProgressMonitor monitor) {
+ // Save the resources to the file system.
+ //
+ boolean first = true;
+ for (Resource resource : editingDomain.getResourceSet().getResources()) {
+ if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) {
+ try {
+ long timeStamp = resource.getTimeStamp();
+ resource.save(saveOptions);
+ if (resource.getTimeStamp() != timeStamp) {
+ savedResources.add(resource);
+ }
+ }
+ catch (Exception exception) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ first = false;
+ }
+ }
+ }
+ };
+
+ updateProblemIndication = false;
+ try {
+ // This runs the options, and shows progress.
+ //
+ new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+
+ // Refresh the necessary state.
+ //
+ ((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+ }
+ catch (Exception exception) {
+ // Something went wrong that shouldn't.
+ //
+ StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+
+ /**
+ * This returns whether something has been persisted to the URI of the specified resource.
+ * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean isPersisted(Resource resource) {
+ boolean result = false;
+ try {
+ InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+ if (stream != null) {
+ result = true;
+ stream.close();
+ }
+ }
+ catch (IOException e) {
+ // Ignore
+ }
+ return result;
+ }
+
+ /**
+ * This always returns true because it is not currently supported.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSaveAsAllowed() {
+ return true;
+ }
+
+ /**
+ * This also changes the editor's input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void doSaveAs() {
+ SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+ saveAsDialog.open();
+ IPath path = saveAsDialog.getResult();
+ if (path != null) {
+ IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+ if (file != null) {
+ doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void doSaveAs(URI uri, IEditorInput editorInput) {
+ (editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ IProgressMonitor progressMonitor =
+ getActionBars().getStatusLineManager() != null ?
+ getActionBars().getStatusLineManager().getProgressMonitor() :
+ new NullProgressMonitor();
+ doSave(progressMonitor);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void gotoMarker(IMarker marker) {
+ List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+ if (!targetObjects.isEmpty()) {
+ setSelectionToViewer(targetObjects);
+ }
+ }
+
+ /**
+ * This is called during startup.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void init(IEditorSite site, IEditorInput editorInput) {
+ setSite(site);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ site.setSelectionProvider(this);
+ site.getPage().addPartListener(partListener);
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setFocus() {
+ if (currentViewerPane != null) {
+ currentViewerPane.setFocus();
+ }
+ else {
+ getControl(getActivePage()).setFocus();
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addSelectionChangedListener(ISelectionChangedListener listener) {
+ selectionChangedListeners.add(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void removeSelectionChangedListener(ISelectionChangedListener listener) {
+ selectionChangedListeners.remove(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ISelection getSelection() {
+ return editorSelection;
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+ * Calling this result will notify the listeners.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelection(ISelection selection) {
+ editorSelection = selection;
+
+ for (ISelectionChangedListener listener : selectionChangedListeners) {
+ listener.selectionChanged(new SelectionChangedEvent(this, selection));
+ }
+ setStatusLineManager(selection);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatusLineManager(ISelection selection) {
+ IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?
+ contentOutlineStatusLineManager : getActionBars().getStatusLineManager();
+
+ if (statusLineManager != null) {
+ if (selection instanceof IStructuredSelection) {
+ Collection<?> collection = ((IStructuredSelection)selection).toList();
+ switch (collection.size()) {
+ case 0: {
+ statusLineManager.setMessage(getString("_UI_NoObjectSelected"));
+ break;
+ }
+ case 1: {
+ String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+ statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text));
+ break;
+ }
+ default: {
+ statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size())));
+ break;
+ }
+ }
+ }
+ else {
+ statusLineManager.setMessage("");
+ }
+ }
+ }
+
+ /**
+ * This looks up a string in the plugin's plugin.properties file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static String getString(String key) {
+ return StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString(key);
+ }
+
+ /**
+ * This looks up a string in plugin.properties, making a substitution.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static String getString(String key, Object s1) {
+ return StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString(key, new Object [] { s1 });
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void menuAboutToShow(IMenuManager menuManager) {
+ ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EditingDomainActionBarContributor getActionBarContributor() {
+ return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IActionBars getActionBars() {
+ return getActionBarContributor().getActionBars();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AdapterFactory getAdapterFactory() {
+ return adapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ updateProblemIndication = false;
+
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+
+ getSite().getPage().removePartListener(partListener);
+
+ adapterFactory.dispose();
+
+ if (getActionBarContributor().getActiveEditor() == this) {
+ getActionBarContributor().setActiveEditor(null);
+ }
+
+ for (PropertySheetPage propertySheetPage : propertySheetPages) {
+ propertySheetPage.dispose();
+ }
+
+ if (contentOutlinePage != null) {
+ contentOutlinePage.dispose();
+ }
+
+ super.dispose();
+ }
+
+ /**
+ * Returns whether the outline view should be presented to the user.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean showOutlineView() {
+ return true;
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationEditorPlugin.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationEditorPlugin.java
new file mode 100644
index 00000000000..0a3e07f4fc2
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationEditorPlugin.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.presentation;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.ui.EclipseUIPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+import org.eclipse.emf.facet.infra.query.edit.provider.QueryEditPlugin;
+
+import org.eclipse.papyrus.infra.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+import org.eclipse.papyrus.infra.queries.core.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the StereotypedElementMatcherConfiguration editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class StereotypedElementMatcherConfigurationEditorPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final StereotypedElementMatcherConfigurationEditorPlugin INSTANCE = new StereotypedElementMatcherConfigurationEditorPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationEditorPlugin() {
+ super
+ (new ResourceLocator [] {
+ ConfigurationEditPlugin.INSTANCE,
+ EcoreEditPlugin.INSTANCE,
+ ExtendedTypesEditPlugin.INSTANCE,
+ QueryEditPlugin.INSTANCE,
+ UMLEditPlugin.INSTANCE,
+ });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipseUIPlugin {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationModelWizard.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationModelWizard.java
new file mode 100644
index 00000000000..33a17376103
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/presentation/StereotypedElementMatcherConfigurationModelWizard.java
@@ -0,0 +1,638 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.presentation;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.CommonPlugin;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationFactory;
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationPackage;
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.provider.StereotypedElementMatcherConfigurationEditPlugin;
+
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StereotypedElementMatcherConfigurationModelWizard extends Wizard implements INewWizard {
+ /**
+ * The supported extensions for created files.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<String> FILE_EXTENSIONS =
+ Collections.unmodifiableList(Arrays.asList(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_StereotypedElementMatcherConfigurationEditorFilenameExtensions").split("\\s*,\\s*")));
+
+ /**
+ * A formatted list of supported file extensions, suitable for display.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String FORMATTED_FILE_EXTENSIONS =
+ StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_StereotypedElementMatcherConfigurationEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+ /**
+ * This caches an instance of the model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypedElementMatcherConfigurationPackage stereotypedElementMatcherConfigurationPackage = StereotypedElementMatcherConfigurationPackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypedElementMatcherConfigurationFactory stereotypedElementMatcherConfigurationFactory = stereotypedElementMatcherConfigurationPackage.getStereotypedElementMatcherConfigurationFactory();
+
+ /**
+ * This is the file creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypedElementMatcherConfigurationModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypedElementMatcherConfigurationModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+ /**
+ * Remember the selection during initialization for populating the default container.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStructuredSelection selection;
+
+ /**
+ * Remember the workbench during initialization.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IWorkbench workbench;
+
+ /**
+ * Caches the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected List<String> initialObjectNames;
+
+ /**
+ * This just records the information.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ this.workbench = workbench;
+ this.selection = selection;
+ setWindowTitle(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getImage("full/wizban/NewStereotypedElementMatcherConfiguration")));
+ }
+
+ /**
+ * Returns the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<String> getInitialObjectNames() {
+ if (initialObjectNames == null) {
+ initialObjectNames = new ArrayList<String>();
+ for (EClassifier eClassifier : stereotypedElementMatcherConfigurationPackage.getEClassifiers()) {
+ if (eClassifier instanceof EClass) {
+ EClass eClass = (EClass)eClassifier;
+ if (!eClass.isAbstract()) {
+ initialObjectNames.add(eClass.getName());
+ }
+ }
+ }
+ Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
+ }
+ return initialObjectNames;
+ }
+
+ /**
+ * Create a new model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObject createInitialModel() {
+ EClass eClass = (EClass)stereotypedElementMatcherConfigurationPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = stereotypedElementMatcherConfigurationFactory.create(eClass);
+ return rootObject;
+ }
+
+ /**
+ * Do the work after everything is specified.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean performFinish() {
+ try {
+ // Remember the file.
+ //
+ final IFile modelFile = getModelFile();
+
+ // Do the work within an operation.
+ //
+ WorkspaceModifyOperation operation =
+ new WorkspaceModifyOperation() {
+ @Override
+ protected void execute(IProgressMonitor progressMonitor) {
+ try {
+ // Create a resource set
+ //
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ // Get the URI of the model file.
+ //
+ URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+
+ // Create a resource for this file.
+ //
+ Resource resource = resourceSet.createResource(fileURI);
+
+ // Add the initial model object to the contents.
+ //
+ EObject rootObject = createInitialModel();
+ if (rootObject != null) {
+ resource.getContents().add(rootObject);
+ }
+
+ // Save the contents of the resource to the file system.
+ //
+ Map<Object, Object> options = new HashMap<Object, Object>();
+ options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+ resource.save(options);
+ }
+ catch (Exception exception) {
+ StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ finally {
+ progressMonitor.done();
+ }
+ }
+ };
+
+ getContainer().run(false, false, operation);
+
+ // Select the new file resource in the current view.
+ //
+ IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ final IWorkbenchPart activePart = page.getActivePart();
+ if (activePart instanceof ISetSelectionTarget) {
+ final ISelection targetSelection = new StructuredSelection(modelFile);
+ getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+ }
+ });
+ }
+
+ // Open an editor on the new file.
+ //
+ try {
+ page.openEditor
+ (new FileEditorInput(modelFile),
+ workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());
+ }
+ catch (PartInitException exception) {
+ MessageDialog.openError(workbenchWindow.getShell(), StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception exception) {
+ StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class StereotypedElementMatcherConfigurationModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) {
+ super(pageId, selection);
+ }
+
+ /**
+ * The framework calls this to see if the file is correct.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean validatePage() {
+ if (super.validatePage()) {
+ String extension = new Path(getFileName()).getFileExtension();
+ if (extension == null || !FILE_EXTENSIONS.contains(extension)) {
+ String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";
+ setErrorMessage(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile() {
+ return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+ }
+ }
+
+ /**
+ * This is the page where the type of object to create is selected.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class StereotypedElementMatcherConfigurationModelWizardInitialObjectCreationPage extends WizardPage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo initialObjectField;
+
+ /**
+ * @generated
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ */
+ protected List<String> encodings;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo encodingField;
+
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationModelWizardInitialObjectCreationPage(String pageId) {
+ super(pageId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE);
+ {
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.verticalSpacing = 12;
+ composite.setLayout(layout);
+
+ GridData data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.grabExcessVerticalSpace = true;
+ data.horizontalAlignment = GridData.FILL;
+ composite.setLayoutData(data);
+ }
+
+ Label containerLabel = new Label(composite, SWT.LEFT);
+ {
+ containerLabel.setText(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_ModelObject"));
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ containerLabel.setLayoutData(data);
+ }
+
+ initialObjectField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ initialObjectField.setLayoutData(data);
+ }
+
+ for (String objectName : getInitialObjectNames()) {
+ initialObjectField.add(getLabel(objectName));
+ }
+
+ if (initialObjectField.getItemCount() == 1) {
+ initialObjectField.select(0);
+ }
+ initialObjectField.addModifyListener(validator);
+
+ Label encodingLabel = new Label(composite, SWT.LEFT);
+ {
+ encodingLabel.setText(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_XMLEncoding"));
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ encodingLabel.setLayoutData(data);
+ }
+ encodingField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ encodingField.setLayoutData(data);
+ }
+
+ for (String encoding : getEncodings()) {
+ encodingField.add(encoding);
+ }
+
+ encodingField.select(0);
+ encodingField.addModifyListener(validator);
+
+ setPageComplete(validatePage());
+ setControl(composite);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifyListener validator =
+ new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ setPageComplete(validatePage());
+ }
+ };
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean validatePage() {
+ return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ if (visible) {
+ if (initialObjectField.getItemCount() == 1) {
+ initialObjectField.clearSelection();
+ encodingField.setFocus();
+ }
+ else {
+ encodingField.clearSelection();
+ initialObjectField.setFocus();
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getInitialObjectName() {
+ String label = initialObjectField.getText();
+
+ for (String name : getInitialObjectNames()) {
+ if (getLabel(name).equals(label)) {
+ return name;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEncoding() {
+ return encodingField.getText();
+ }
+
+ /**
+ * Returns the label for the specified type name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected String getLabel(String typeName) {
+ try {
+ return StereotypedElementMatcherConfigurationEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+ }
+ catch(MissingResourceException mre) {
+ StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.log(mre);
+ }
+ return typeName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<String> getEncodings() {
+ if (encodings == null) {
+ encodings = new ArrayList<String>();
+ for (StringTokenizer stringTokenizer = new StringTokenizer(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) {
+ encodings.add(stringTokenizer.nextToken());
+ }
+ }
+ return encodings;
+ }
+ }
+
+ /**
+ * The framework calls this to create the contents of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void addPages() {
+ // Create a page, set the title, and the initial model file name.
+ //
+ newFileCreationPage = new StereotypedElementMatcherConfigurationModelWizardNewFileCreationPage("Whatever", selection);
+ newFileCreationPage.setTitle(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_StereotypedElementMatcherConfigurationModelWizard_label"));
+ newFileCreationPage.setDescription(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_StereotypedElementMatcherConfigurationModelWizard_description"));
+ newFileCreationPage.setFileName(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_StereotypedElementMatcherConfigurationEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
+ addPage(newFileCreationPage);
+
+ // Try and get the resource selection to determine a current directory for the file dialog.
+ //
+ if (selection != null && !selection.isEmpty()) {
+ // Get the resource...
+ //
+ Object selectedElement = selection.iterator().next();
+ if (selectedElement instanceof IResource) {
+ // Get the resource parent, if its a file.
+ //
+ IResource selectedResource = (IResource)selectedElement;
+ if (selectedResource.getType() == IResource.FILE) {
+ selectedResource = selectedResource.getParent();
+ }
+
+ // This gives us a directory...
+ //
+ if (selectedResource instanceof IFolder || selectedResource instanceof IProject) {
+ // Set this for the container.
+ //
+ newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+
+ // Make up a unique new name here.
+ //
+ String defaultModelBaseFilename = StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_StereotypedElementMatcherConfigurationEditorFilenameDefaultBase");
+ String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
+ String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;
+ for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
+ modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;
+ }
+ newFileCreationPage.setFileName(modelFilename);
+ }
+ }
+ }
+ initialObjectCreationPage = new StereotypedElementMatcherConfigurationModelWizardInitialObjectCreationPage("Whatever2");
+ initialObjectCreationPage.setTitle(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_StereotypedElementMatcherConfigurationModelWizard_label"));
+ initialObjectCreationPage.setDescription(StereotypedElementMatcherConfigurationEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description"));
+ addPage(initialObjectCreationPage);
+ }
+
+ /**
+ * Get the file from the page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile() {
+ return newFileCreationPage.getModelFile();
+ }
+
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/.settings/org.eclipse.core.resources.prefs b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..765c6a4faec
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+encoding//model/InvariantStereotypeConfiguration.ecore=UTF-8
+encoding//model/InvariantStereotypeConfiguration.ecorediag=UTF-8
+encoding//model/StereotypedElementMatcherConfiguration.ecore=UTF-8
+encoding//model/StereotypedElementMatcherConfiguration.ecorediag=UTF-8
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/META-INF/MANIFEST.MF b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/META-INF/MANIFEST.MF
index 9f303aada89..0c0153b9ec1 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/META-INF/MANIFEST.MF
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/META-INF/MANIFEST.MF
@@ -1,28 +1,30 @@
-Manifest-Version: 1.0
-Export-Package: org.eclipse.papyrus.uml.tools.extendedtypes,
- org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration,
- org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl,
- org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.util
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.ecore;visibility:=reexport,
- org.eclipse.emf.ecore.xmi;visibility:=reexport,
- org.eclipse.papyrus.infra.queries.core.configuration;bundle-version="0.10.1";visibility:=reexport,
- org.eclipse.papyrus.infra.extendedtypes;bundle-version="0.10.1";visibility:=reexport,
- org.eclipse.emf.facet.infra.query;visibility:=reexport,
- org.eclipse.uml2.uml,
- org.eclipse.papyrus.infra.core.log;bundle-version="0.10.1",
- org.eclipse.papyrus.uml.tools.utils;bundle-version="0.10.1",
- org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0"
-Bundle-Vendor: %providerName
-Bundle-Version: 0.10.1.qualifier
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.uml.tools.extendedtypes.Activato
- r$Implementation
-Bundle-SymbolicName: org.eclipse.papyrus.uml.tools.extendedtypes;singl
- eton:=true
-
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.uml.tools.extendedtypes,
+ org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration,
+ org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.impl,
+ org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.util,
+ org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration,
+ org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl,
+ org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.util
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.papyrus.infra.queries.core.configuration;visibility:=reexport;bundle-version="0.10.1",
+ org.eclipse.papyrus.infra.extendedtypes;visibility:=reexport;bundle-version="0.10.1",
+ org.eclipse.emf.facet.infra.query;visibility:=reexport,
+ org.eclipse.uml2.types;visibility:=reexport,
+ org.eclipse.uml2.uml,
+ org.eclipse.papyrus.infra.core.log;bundle-version="0.10.1",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="0.10.1",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0"
+Bundle-Vendor: %providerName
+Bundle-Version: 0.10.1.qualifier
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.uml.tools.extendedtypes.Activator$Implementation
+Bundle-SymbolicName: org.eclipse.papyrus.uml.tools.extendedtypes;singleton:=true
+
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.ecore b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.ecore
index 76e7e6a80cd..93409e3d700 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.ecore
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.ecore
@@ -1,17 +1,17 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="applystereotypeactionconfiguration" nsURI="http://www.eclipse.org/papyrus/diagram/types/applystereotypeactionconfiguration/0.7"
- nsPrefix="applystereotypeactionconfiguration">
- <eClassifiers xsi:type="ecore:EClass" name="ApplyStereotypeActionConfiguration"
- eSuperTypes="../../org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecore#//PostActionConfiguration">
- <eStructuralFeatures xsi:type="ecore:EReference" name="stereotypesToApply" upperBound="-1"
- eType="#//StereotypeToApply" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="StereotypeToApply">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="stereotypeQualifiedName"
- eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="updateName" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="requiredProfiles" lowerBound="1"
- upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
- </eClassifiers>
-</ecore:EPackage>
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="applystereotypeactionconfiguration" nsURI="http://www.eclipse.org/papyrus/diagram/types/applystereotypeactionconfiguration/0.7"
+ nsPrefix="applystereotypeactionconfiguration">
+ <eClassifiers xsi:type="ecore:EClass" name="ApplyStereotypeActionConfiguration"
+ eSuperTypes="../../org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecore#//PostActionConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stereotypesToApply" upperBound="-1"
+ eType="#//StereotypeToApply" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StereotypeToApply">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="stereotypeQualifiedName"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="updateName" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="requiredProfiles" lowerBound="1"
+ upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.ecorediag b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.ecorediag
index 4803a61de04..e5d1f828547 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.ecorediag
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.ecorediag
@@ -1,89 +1,89 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_VmEr0P4DEd-H0IKqF9Gf4w" type="EcoreTools" name="ApplyStereotypeActionConfiguration" measurementUnit="Pixel">
- <children xmi:type="notation:Node" xmi:id="_k1kC4P4FEd-H0IKqF9Gf4w" type="1001">
- <children xmi:type="notation:Node" xmi:id="_k1290P4FEd-H0IKqF9Gf4w" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_k1290f4FEd-H0IKqF9Gf4w" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_k1290v4FEd-H0IKqF9Gf4w"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_k1290_4FEd-H0IKqF9Gf4w"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_k1291P4FEd-H0IKqF9Gf4w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_k1291f4FEd-H0IKqF9Gf4w" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_k1291v4FEd-H0IKqF9Gf4w"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_k1291_4FEd-H0IKqF9Gf4w"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_k1292P4FEd-H0IKqF9Gf4w"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_k1kC4f4FEd-H0IKqF9Gf4w" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="ApplyStereotypeActionConfiguration.ecore#//ApplyStereotypeActionConfiguration"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k1kC4v4FEd-H0IKqF9Gf4w" x="115" y="270" width="293" height="43"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_m6VXAP4FEd-H0IKqF9Gf4w" type="1001">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m8kLoP4FEd-H0IKqF9Gf4w" source="Shortcut">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_m8kLof4FEd-H0IKqF9Gf4w" key="modelID" value="EcoreTools"/>
- </eAnnotations>
- <children xmi:type="notation:Node" xmi:id="_m6VXA_4FEd-H0IKqF9Gf4w" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_m6VXBP4FEd-H0IKqF9Gf4w" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_m6VXBf4FEd-H0IKqF9Gf4w"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_m6VXBv4FEd-H0IKqF9Gf4w"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_m6VXB_4FEd-H0IKqF9Gf4w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_m6VXCP4FEd-H0IKqF9Gf4w" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_m6VXCf4FEd-H0IKqF9Gf4w"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_m6VXCv4FEd-H0IKqF9Gf4w"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_m6VXC_4FEd-H0IKqF9Gf4w"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_m6VXAf4FEd-H0IKqF9Gf4w" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecore#//PostActionConfiguration"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m6VXAv4FEd-H0IKqF9Gf4w" x="194" y="131"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_oodFsP4FEd-H0IKqF9Gf4w" type="1001">
- <children xmi:type="notation:Node" xmi:id="_oodFs_4FEd-H0IKqF9Gf4w" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_oodFtP4FEd-H0IKqF9Gf4w" type="5001">
- <children xmi:type="notation:Node" xmi:id="_qJmvYP4FEd-H0IKqF9Gf4w" type="2001">
- <element xmi:type="ecore:EAttribute" href="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/stereotypeQualifiedName"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_qJmvYf4FEd-H0IKqF9Gf4w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_taFBoP4FEd-H0IKqF9Gf4w" type="2001">
- <element xmi:type="ecore:EAttribute" href="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/updateName"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_taFBof4FEd-H0IKqF9Gf4w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_jAOWcCo6EeC-g4g96tuXkQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/requiredProfiles"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_jAOWcSo6EeC-g4g96tuXkQ"/>
- </children>
- <styles xmi:type="notation:DrawerStyle" xmi:id="_oodFtf4FEd-H0IKqF9Gf4w"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_oodFtv4FEd-H0IKqF9Gf4w"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_oodFt_4FEd-H0IKqF9Gf4w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_oodFuP4FEd-H0IKqF9Gf4w" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_oodFuf4FEd-H0IKqF9Gf4w"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_oodFuv4FEd-H0IKqF9Gf4w"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_oodFu_4FEd-H0IKqF9Gf4w"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_oodFsf4FEd-H0IKqF9Gf4w" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oodFsv4FEd-H0IKqF9Gf4w" x="549" y="259" width="249" height="84"/>
- </children>
- <styles xmi:type="notation:DiagramStyle" xmi:id="_VmEr0f4DEd-H0IKqF9Gf4w"/>
- <element xmi:type="ecore:EPackage" href="ApplyStereotypeActionConfiguration.ecore#/"/>
- <edges xmi:type="notation:Edge" xmi:id="_m8RQsP4FEd-H0IKqF9Gf4w" type="3003" source="_k1kC4P4FEd-H0IKqF9Gf4w" target="_m6VXAP4FEd-H0IKqF9Gf4w">
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_m8RQsf4FEd-H0IKqF9Gf4w" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_m8RQsv4FEd-H0IKqF9Gf4w"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_m8RQs_4FEd-H0IKqF9Gf4w" points="[-93, -20, 273, 59]$[-365, -79, 1, 0]"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KydQ4P4GEd-H0IKqF9Gf4w" id="(0.4339622641509434,0.9137931034482759)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_zjnLsP4FEd-H0IKqF9Gf4w" type="3002" source="_k1kC4P4FEd-H0IKqF9Gf4w" target="_oodFsP4FEd-H0IKqF9Gf4w">
- <children xmi:type="notation:Node" xmi:id="_zkNooP4FEd-H0IKqF9Gf4w" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_zkNoof4FEd-H0IKqF9Gf4w" x="-42" y="-10"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_zkNoov4FEd-H0IKqF9Gf4w" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_zkNoo_4FEd-H0IKqF9Gf4w" x="10" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_zjnLsf4FEd-H0IKqF9Gf4w" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_zjnLsv4FEd-H0IKqF9Gf4w" fontColor="4210752" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="ApplyStereotypeActionConfiguration.ecore#//ApplyStereotypeActionConfiguration/stereotypesToApply"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zjnLs_4FEd-H0IKqF9Gf4w" points="[53, -1, -177, 1]$[231, -21, 1, -19]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zkzegP4FEd-H0IKqF9Gf4w" id="(0.7654867256637168,0.2619047619047619)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zkzegf4FEd-H0IKqF9Gf4w" id="(0.012048192771084338,0.23809523809523808)"/>
- </edges>
-</notation:Diagram>
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_VmEr0P4DEd-H0IKqF9Gf4w" type="EcoreTools" name="ApplyStereotypeActionConfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_k1kC4P4FEd-H0IKqF9Gf4w" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_k1290P4FEd-H0IKqF9Gf4w" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_k1290f4FEd-H0IKqF9Gf4w" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_k1290v4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_k1290_4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_k1291P4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_k1291f4FEd-H0IKqF9Gf4w" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_k1291v4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_k1291_4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_k1292P4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_k1kC4f4FEd-H0IKqF9Gf4w" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ApplyStereotypeActionConfiguration.ecore#//ApplyStereotypeActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k1kC4v4FEd-H0IKqF9Gf4w" x="115" y="270" width="293" height="43"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_m6VXAP4FEd-H0IKqF9Gf4w" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m8kLoP4FEd-H0IKqF9Gf4w" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_m8kLof4FEd-H0IKqF9Gf4w" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_m6VXA_4FEd-H0IKqF9Gf4w" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_m6VXBP4FEd-H0IKqF9Gf4w" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_m6VXBf4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_m6VXBv4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_m6VXB_4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_m6VXCP4FEd-H0IKqF9Gf4w" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_m6VXCf4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_m6VXCv4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_m6VXC_4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_m6VXAf4FEd-H0IKqF9Gf4w" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecore#//PostActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m6VXAv4FEd-H0IKqF9Gf4w" x="194" y="131"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_oodFsP4FEd-H0IKqF9Gf4w" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_oodFs_4FEd-H0IKqF9Gf4w" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_oodFtP4FEd-H0IKqF9Gf4w" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_qJmvYP4FEd-H0IKqF9Gf4w" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/stereotypeQualifiedName"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qJmvYf4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_taFBoP4FEd-H0IKqF9Gf4w" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/updateName"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_taFBof4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_jAOWcCo6EeC-g4g96tuXkQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/requiredProfiles"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jAOWcSo6EeC-g4g96tuXkQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_oodFtf4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_oodFtv4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_oodFt_4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_oodFuP4FEd-H0IKqF9Gf4w" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_oodFuf4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_oodFuv4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_oodFu_4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_oodFsf4FEd-H0IKqF9Gf4w" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oodFsv4FEd-H0IKqF9Gf4w" x="549" y="259" width="249" height="84"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_VmEr0f4DEd-H0IKqF9Gf4w"/>
+ <element xmi:type="ecore:EPackage" href="ApplyStereotypeActionConfiguration.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_m8RQsP4FEd-H0IKqF9Gf4w" type="3003" source="_k1kC4P4FEd-H0IKqF9Gf4w" target="_m6VXAP4FEd-H0IKqF9Gf4w">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_m8RQsf4FEd-H0IKqF9Gf4w" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_m8RQsv4FEd-H0IKqF9Gf4w"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_m8RQs_4FEd-H0IKqF9Gf4w" points="[-93, -20, 273, 59]$[-365, -79, 1, 0]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KydQ4P4GEd-H0IKqF9Gf4w" id="(0.4339622641509434,0.9137931034482759)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_zjnLsP4FEd-H0IKqF9Gf4w" type="3002" source="_k1kC4P4FEd-H0IKqF9Gf4w" target="_oodFsP4FEd-H0IKqF9Gf4w">
+ <children xmi:type="notation:Node" xmi:id="_zkNooP4FEd-H0IKqF9Gf4w" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_zkNoof4FEd-H0IKqF9Gf4w" x="-42" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_zkNoov4FEd-H0IKqF9Gf4w" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_zkNoo_4FEd-H0IKqF9Gf4w" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_zjnLsf4FEd-H0IKqF9Gf4w" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_zjnLsv4FEd-H0IKqF9Gf4w" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ApplyStereotypeActionConfiguration.ecore#//ApplyStereotypeActionConfiguration/stereotypesToApply"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zjnLs_4FEd-H0IKqF9Gf4w" points="[53, -1, -177, 1]$[231, -21, 1, -19]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zkzegP4FEd-H0IKqF9Gf4w" id="(0.7654867256637168,0.2619047619047619)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zkzegf4FEd-H0IKqF9Gf4w" id="(0.012048192771084338,0.23809523809523808)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.genmodel b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.genmodel
index 0a9bc65ef26..9b462430ac2 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.genmodel
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/ApplyStereotypeActionConfiguration.genmodel
@@ -1,21 +1,21 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen"
- editDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen" editorDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen"
- modelPluginID="org.eclipse.papyrus.uml.tools.extendedtypes" modelName="ApplyStereotypeActionConfiguration"
- modelPluginClass="org.eclipse.papyrus.uml.tools.extendedtypes.Activator" testsDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes.tests/src-gen"
- importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
- usedGenPackages="platform:/plugin/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel#//configuration platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.genmodel#//extendedtypes platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.genmodel#//query platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
- <foreignModel>ApplyStereotypeActionConfiguration.ecore</foreignModel>
- <genPackages prefix="ApplyStereotypeActionConfiguration" basePackage="org.eclipse.papyrus.uml.tools.extendedtypes"
- resource="XML" disposableProviderFactory="true" ecorePackage="ApplyStereotypeActionConfiguration.ecore#/">
- <genClasses ecoreClass="ApplyStereotypeActionConfiguration.ecore#//ApplyStereotypeActionConfiguration">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ApplyStereotypeActionConfiguration.ecore#//ApplyStereotypeActionConfiguration/stereotypesToApply"/>
- </genClasses>
- <genClasses ecoreClass="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/stereotypeQualifiedName"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/updateName"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/requiredProfiles"/>
- </genClasses>
- </genPackages>
-</genmodel:GenModel>
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen"
+ editDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen" editorDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.uml.tools.extendedtypes" modelName="ApplyStereotypeActionConfiguration"
+ modelPluginClass="org.eclipse.papyrus.uml.tools.extendedtypes.Activator" testsDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes.tests/src-gen"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ usedGenPackages="platform:/plugin/org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel#//configuration platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.genmodel#//extendedtypes platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.genmodel#//query platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
+ <foreignModel>ApplyStereotypeActionConfiguration.ecore</foreignModel>
+ <genPackages prefix="ApplyStereotypeActionConfiguration" basePackage="org.eclipse.papyrus.uml.tools.extendedtypes"
+ resource="XML" disposableProviderFactory="true" ecorePackage="ApplyStereotypeActionConfiguration.ecore#/">
+ <genClasses ecoreClass="ApplyStereotypeActionConfiguration.ecore#//ApplyStereotypeActionConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ApplyStereotypeActionConfiguration.ecore#//ApplyStereotypeActionConfiguration/stereotypesToApply"/>
+ </genClasses>
+ <genClasses ecoreClass="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/stereotypeQualifiedName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/updateName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/requiredProfiles"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/InvariantStereotypeConfiguration.ecore b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/InvariantStereotypeConfiguration.ecore
new file mode 100644
index 00000000000..3014f2caff1
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/InvariantStereotypeConfiguration.ecore
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="invariantstereotypeconfiguration" nsURI="http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/stereotype/1.0"
+ nsPrefix="invariantstereotypeconfiguration">
+ <eClassifiers xsi:type="ecore:EClass" name="InvariantStereotypeConfiguration" eSuperTypes="../../org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.ecore#//InvariantRuleConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="stereotypeQualifiedName"
+ lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="requiredProfile" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/InvariantStereotypeConfiguration.ecorediag b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/InvariantStereotypeConfiguration.ecorediag
new file mode 100644
index 00000000000..70274fef3c2
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/InvariantStereotypeConfiguration.ecorediag
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_oukREFguEeOZc_L6ctfnzA" type="EcoreTools" name="InvariantStereotypeConfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_4F8qwFguEeOZc_L6ctfnzA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_4F_uEFguEeOZc_L6ctfnzA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_4GAVIFguEeOZc_L6ctfnzA" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_8KMjUFguEeOZc_L6ctfnzA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="InvariantStereotypeConfiguration.ecore#//InvariantStereotypeConfiguration/stereotypeQualifiedName"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8KMjUVguEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VdH5YGQSEeOl5OaKZvi8pw" type="2001">
+ <element xmi:type="ecore:EAttribute" href="InvariantStereotypeConfiguration.ecore#//InvariantStereotypeConfiguration/requiredProfile"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VdH5YWQSEeOl5OaKZvi8pw"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_4GAVIVguEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4GAVIlguEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4GAVI1guEeOZc_L6ctfnzA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_4GA8MFguEeOZc_L6ctfnzA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_4GA8MVguEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4GA8MlguEeOZc_L6ctfnzA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4GA8M1guEeOZc_L6ctfnzA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_4F8qwVguEeOZc_L6ctfnzA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="InvariantStereotypeConfiguration.ecore#//InvariantStereotypeConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4F8qwlguEeOZc_L6ctfnzA" x="260" y="355" width="281" height="121"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_4a9FYGM6EeOMru3CBHS08Q" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4fcj0GM6EeOMru3CBHS08Q" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4fcj0WM6EeOMru3CBHS08Q" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_4bAIsGM6EeOMru3CBHS08Q" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_4bAvwGM6EeOMru3CBHS08Q" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_4bAvwWM6EeOMru3CBHS08Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4bAvwmM6EeOMru3CBHS08Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4bAvw2M6EeOMru3CBHS08Q"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_4bBW0GM6EeOMru3CBHS08Q" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_4bBW0WM6EeOMru3CBHS08Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4bBW0mM6EeOMru3CBHS08Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4bBW02M6EeOMru3CBHS08Q"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_4a9FYWM6EeOMru3CBHS08Q" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.ecore#//InvariantRuleConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4a9FYmM6EeOMru3CBHS08Q" x="260" y="130" width="283"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_oukREVguEeOZc_L6ctfnzA"/>
+ <element xmi:type="ecore:EPackage" href="InvariantStereotypeConfiguration.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_6U9T8GM6EeOMru3CBHS08Q" type="3003" source="_4F8qwFguEeOZc_L6ctfnzA" target="_4a9FYGM6EeOMru3CBHS08Q">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_6U9T8WM6EeOMru3CBHS08Q" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_6U9T8mM6EeOMru3CBHS08Q" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6U9T82M6EeOMru3CBHS08Q" points="[18, -13, -15, 196]$[18, -180, -15, 29]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6VAXQGM6EeOMru3CBHS08Q" id="(0.38434163701067614,0.11570247933884298)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/InvariantStereotypeConfiguration.genmodel b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/InvariantStereotypeConfiguration.genmodel
new file mode 100644
index 00000000000..78fdee5d592
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/InvariantStereotypeConfiguration.genmodel
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2013 CEA LIST.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA; CEA LIST - Initial API and implementation"
+ modelDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen" editDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen"
+ editorDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.uml.tools.extendedtypes" modelName="InvariantStereotypeConfiguration"
+ rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" codeFormatting="true"
+ testsDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes.tests/src-gen" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="5.0" copyrightFields="false" usedGenPackages="../../org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel#//configuration ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.genmodel#//extendedtypes ../../org.eclipse.papyrus.infra.extendedtypes/model/InvariantSemanticTypeConfiguration.genmodel#//invariantsemantictypeconfiguration ../../org.eclipse.emf.facet.infra.query/model/query.genmodel#//query ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+ operationReflection="true" importOrganizing="true">
+ <foreignModel>InvariantStereotypeConfiguration.ecore</foreignModel>
+ <genPackages prefix="InvariantStereotypeConfiguration" basePackage="org.eclipse.papyrus.uml.tools.extendedtypes"
+ resource="XML" disposableProviderFactory="true" ecorePackage="InvariantStereotypeConfiguration.ecore#/">
+ <genClasses ecoreClass="InvariantStereotypeConfiguration.ecore#//InvariantStereotypeConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute InvariantStereotypeConfiguration.ecore#//InvariantStereotypeConfiguration/stereotypeQualifiedName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute InvariantStereotypeConfiguration.ecore#//InvariantStereotypeConfiguration/requiredProfile"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/StereotypedElementMatcherConfiguration.ecore b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/StereotypedElementMatcherConfiguration.ecore
new file mode 100644
index 00000000000..4a9e6b712da
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/StereotypedElementMatcherConfiguration.ecore
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="stereotypedelementmatcherconfiguration" nsURI="http://www.eclipse.org/payrus/extendedtypes/uml/stereotypematcherconfiguration"
+ nsPrefix="stereotypedelementmatcherconfiguration">
+ <eClassifiers xsi:type="ecore:EClass" name="StereotypedElementMatcherConfiguration"
+ eSuperTypes="../../org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecore#//MatcherConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="stereotypedQualifiedName"
+ eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/StereotypedElementMatcherConfiguration.ecorediag b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/StereotypedElementMatcherConfiguration.ecorediag
new file mode 100644
index 00000000000..978ec4aab49
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/StereotypedElementMatcherConfiguration.ecorediag
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram 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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_v2jsUGNDEeOMru3CBHS08Q" type="EcoreTools" name="StereotypedElementMatcherConfiguration.ecorediag" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_v2nWsGNDEeOMru3CBHS08Q" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_v2nWs2NDEeOMru3CBHS08Q" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_v2n9wGNDEeOMru3CBHS08Q" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_v2py8GNDEeOMru3CBHS08Q" type="2001">
+ <element xmi:type="ecore:EAttribute" href="StereotypedElementMatcherConfiguration.ecore#//StereotypedElementMatcherConfiguration/stereotypedQualifiedName"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v2py8WNDEeOMru3CBHS08Q"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_v2n9wWNDEeOMru3CBHS08Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_v2n9wmNDEeOMru3CBHS08Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_v2n9w2NDEeOMru3CBHS08Q"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_v2n9xGNDEeOMru3CBHS08Q" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_v2n9xWNDEeOMru3CBHS08Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_v2n9xmNDEeOMru3CBHS08Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_v2n9x2NDEeOMru3CBHS08Q"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_v2nWsWNDEeOMru3CBHS08Q" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="StereotypedElementMatcherConfiguration.ecore#//StereotypedElementMatcherConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v2nWsmNDEeOMru3CBHS08Q" x="185" y="360"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_xyKdYGNDEeOMru3CBHS08Q" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xz90MGNDEeOMru3CBHS08Q" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xz90MWNDEeOMru3CBHS08Q" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_xyLEcGNDEeOMru3CBHS08Q" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_xyLEcWNDEeOMru3CBHS08Q" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_xyLEcmNDEeOMru3CBHS08Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xyLEc2NDEeOMru3CBHS08Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xyLEdGNDEeOMru3CBHS08Q"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_xyLrgGNDEeOMru3CBHS08Q" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_xyLrgWNDEeOMru3CBHS08Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xyLrgmNDEeOMru3CBHS08Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xyLrg2NDEeOMru3CBHS08Q"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_xyKdYWNDEeOMru3CBHS08Q" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.ecore#//MatcherConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xyKdYmNDEeOMru3CBHS08Q" x="225" y="155" width="188"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_v2jsUWNDEeOMru3CBHS08Q"/>
+ <element xmi:type="ecore:EPackage" href="StereotypedElementMatcherConfiguration.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_xzaakGNDEeOMru3CBHS08Q" type="3003" source="_v2nWsGNDEeOMru3CBHS08Q" target="_xyKdYGNDEeOMru3CBHS08Q">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_xzaakWNDEeOMru3CBHS08Q" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xzaakmNDEeOMru3CBHS08Q" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xzaak2NDEeOMru3CBHS08Q" points="[-2, -24, 0, 154]$[-2, -171, 0, 7]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ypTgwGNDEeOMru3CBHS08Q" id="(0.48404255319148937,0.8833333333333333)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/StereotypedElementMatcherConfiguration.genmodel b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/StereotypedElementMatcherConfiguration.genmodel
new file mode 100644
index 00000000000..d66bada2f16
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/model/StereotypedElementMatcherConfiguration.genmodel
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2013 CEA LIST.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA; CEA LIST - Initial API and implementation"
+ modelDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen" editDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes.edit/src-gen"
+ editorDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.uml.tools.extendedtypes" modelName="StereotypedElementMatcherConfiguration"
+ rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" testsDirectory="/org.eclipse.papyrus.uml.tools.extendedtypes.tests/src-gen"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ usedGenPackages="../../org.eclipse.papyrus.infra.queries.core.configuration/model/Configuration.genmodel#//configuration ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.infra.extendedtypes/model/ExtendedTypes.genmodel#//extendedtypes ../../org.eclipse.emf.facet.infra.query/model/query.genmodel#//query ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+ operationReflection="true" importOrganizing="true">
+ <foreignModel>StereotypedElementMatcherConfiguration.ecore</foreignModel>
+ <genPackages prefix="StereotypedElementMatcherConfiguration" basePackage="org.eclipse.papyrus.uml.tools.extendedtypes"
+ resource="XML" disposableProviderFactory="true" ecorePackage="StereotypedElementMatcherConfiguration.ecore#/">
+ <genClasses ecoreClass="StereotypedElementMatcherConfiguration.ecore#//StereotypedElementMatcherConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StereotypedElementMatcherConfiguration.ecore#//StereotypedElementMatcherConfiguration/stereotypedQualifiedName"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/plugin.xml b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/plugin.xml
index 3f738ab9750..dd2684f4698 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/plugin.xml
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/plugin.xml
@@ -1,40 +1,61 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<!--
- <copyright>
- </copyright>
-
- $Id$
--->
-
-<plugin>
-
- <extension point="org.eclipse.emf.ecore.generated_package">
- <package
- uri="http://www.eclipse.org/papyrus/diagram/types/applystereotypeactionconfiguration/0.7"
- class="org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage"
- genModel="model/ApplyStereotypeActionConfiguration.genmodel"/>
- </extension>
-
- <extension point="org.eclipse.emf.ecore.extension_parser">
- <parser
- type="applystereotypeactionconfiguration"
- class="org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.util.ApplyStereotypeActionConfigurationResourceFactoryImpl"/>
- </extension>
- <extension
- point="org.eclipse.papyrus.infra.extendedtypes.extendedElementTypeActionProvider">
- <extendedElementTypeActionProvider
- class="org.eclipse.papyrus.uml.tools.extendedtypes.providers.ApplyStereotypeActionProvider"
- configurationClass="org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration"
- description="Post action to apply stereotype on created element"
- icon="icons/Stereotype.gif"
- id="org.eclipse.papyrus.uml.tools.extendedtypes.applyStereotypeAction"
- name="Extended Element Type Apply Stereotype Post Action">
- <Priority
- name="Lowest">
- </Priority>
- </extendedElementTypeActionProvider>
- </extension>
-
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+
+ <extension
+ point="org.eclipse.papyrus.infra.extendedtypes.elementMatcherConfiguration">
+ <configuration
+ configurationClass="org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration"
+ configurationModelCreation="org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherModelCreation"
+ factoryClass="org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherFactory"
+ name="StereotypedElementMatcher">
+ </configuration>
+ </extension>
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated StereotypedElementMatcherConfiguration -->
+ <package
+ uri="http://www.eclipse.org/payrus/extendedtypes/uml/stereotypematcherconfiguration"
+ class="org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationPackage"
+ genModel="model/StereotypedElementMatcherConfiguration.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated StereotypedElementMatcherConfiguration -->
+ <parser
+ type="stereotypedelementmatcherconfiguration"
+ class="org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.util.StereotypedElementMatcherConfigurationResourceFactoryImpl"/>
+ </extension>
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated InvariantStereotypeConfiguration -->
+ <package
+ uri="http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/stereotype/1.0"
+ class="org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationPackage"
+ genModel="model/InvariantStereotypeConfiguration.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated InvariantStereotypeConfiguration -->
+ <parser
+ type="invariantstereotypeconfiguration"
+ class="org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.util.InvariantStereotypeConfigurationResourceFactoryImpl"/>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.infra.extendedtypes.invariantRule">
+ <invariantRule
+ configurationClass="org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration"
+ configurationModelCreation="org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationModelCreation"
+ creationElementValidator="org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeCreationElementValidator"
+ editHelperAdvice="org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeEditHelperAdvice"
+ elementMatcher="org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeElementMatcher">
+ </invariantRule>
+ </extension>
+</plugin>
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/ApplyStereotypeActionConfiguration.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/ApplyStereotypeActionConfiguration.java
deleted file mode 100644
index 1f3d5c2ef0b..00000000000
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/ApplyStereotypeActionConfiguration.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Apply Stereotype Action Configuration</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration#getStereotypesToApply <em>Stereotypes To Apply</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#getApplyStereotypeActionConfiguration()
- * @model
- * @generated
- */
-public interface ApplyStereotypeActionConfiguration extends PostActionConfiguration {
- /**
- * Returns the value of the '<em><b>Stereotypes To Apply</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Stereotypes To Apply</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>Stereotypes To Apply</em>' containment reference list.
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#getApplyStereotypeActionConfiguration_StereotypesToApply()
- * @model containment="true"
- * @generated
- */
- EList<StereotypeToApply> getStereotypesToApply();
-
-} // ApplyStereotypeActionConfiguration
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationFactory.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationFactory.java
deleted file mode 100644
index 06cd9ecfb12..00000000000
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationFactory.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage
- * @generated
- */
-public interface ApplyStereotypeActionConfigurationFactory extends EFactory {
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ApplyStereotypeActionConfigurationFactory eINSTANCE = org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Apply Stereotype Action Configuration</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Apply Stereotype Action Configuration</em>'.
- * @generated
- */
- ApplyStereotypeActionConfiguration createApplyStereotypeActionConfiguration();
-
- /**
- * Returns a new object of class '<em>Stereotype To Apply</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Stereotype To Apply</em>'.
- * @generated
- */
- StereotypeToApply createStereotypeToApply();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- ApplyStereotypeActionConfigurationPackage getApplyStereotypeActionConfigurationPackage();
-
-} //ApplyStereotypeActionConfigurationFactory
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationPackage.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationPackage.java
deleted file mode 100644
index e3f19f6b199..00000000000
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationPackage.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationFactory
- * @model kind="package"
- * @generated
- */
-public interface ApplyStereotypeActionConfigurationPackage extends EPackage {
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "applystereotypeactionconfiguration";
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://www.eclipse.org/papyrus/diagram/types/applystereotypeactionconfiguration/0.7";
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "applystereotypeactionconfiguration";
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ApplyStereotypeActionConfigurationPackage eINSTANCE = org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationImpl <em>Apply Stereotype Action Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationImpl
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationPackageImpl#getApplyStereotypeActionConfiguration()
- * @generated
- */
- int APPLY_STEREOTYPE_ACTION_CONFIGURATION = 0;
-
- /**
- * The feature id for the '<em><b>Label</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int APPLY_STEREOTYPE_ACTION_CONFIGURATION__LABEL = ExtendedtypesPackage.POST_ACTION_CONFIGURATION__LABEL;
-
- /**
- * The feature id for the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int APPLY_STEREOTYPE_ACTION_CONFIGURATION__ID = ExtendedtypesPackage.POST_ACTION_CONFIGURATION__ID;
-
- /**
- * The feature id for the '<em><b>Stereotypes To Apply</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY = ExtendedtypesPackage.POST_ACTION_CONFIGURATION_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the '<em>Apply Stereotype Action Configuration</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int APPLY_STEREOTYPE_ACTION_CONFIGURATION_FEATURE_COUNT = ExtendedtypesPackage.POST_ACTION_CONFIGURATION_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl <em>Stereotype To Apply</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationPackageImpl#getStereotypeToApply()
- * @generated
- */
- int STEREOTYPE_TO_APPLY = 1;
-
- /**
- * The feature id for the '<em><b>Stereotype Qualified Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME = 0;
-
- /**
- * The feature id for the '<em><b>Update Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STEREOTYPE_TO_APPLY__UPDATE_NAME = 1;
-
- /**
- * The feature id for the '<em><b>Required Profiles</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STEREOTYPE_TO_APPLY__REQUIRED_PROFILES = 2;
-
- /**
- * The number of structural features of the '<em>Stereotype To Apply</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STEREOTYPE_TO_APPLY_FEATURE_COUNT = 3;
-
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration <em>Apply Stereotype Action Configuration</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Apply Stereotype Action Configuration</em>'.
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration
- * @generated
- */
- EClass getApplyStereotypeActionConfiguration();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration#getStereotypesToApply <em>Stereotypes To Apply</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Stereotypes To Apply</em>'.
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration#getStereotypesToApply()
- * @see #getApplyStereotypeActionConfiguration()
- * @generated
- */
- EReference getApplyStereotypeActionConfiguration_StereotypesToApply();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply <em>Stereotype To Apply</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Stereotype To Apply</em>'.
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply
- * @generated
- */
- EClass getStereotypeToApply();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply#getStereotypeQualifiedName <em>Stereotype Qualified Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Stereotype Qualified Name</em>'.
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply#getStereotypeQualifiedName()
- * @see #getStereotypeToApply()
- * @generated
- */
- EAttribute getStereotypeToApply_StereotypeQualifiedName();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply#isUpdateName <em>Update Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Update Name</em>'.
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply#isUpdateName()
- * @see #getStereotypeToApply()
- * @generated
- */
- EAttribute getStereotypeToApply_UpdateName();
-
- /**
- * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply#getRequiredProfiles <em>Required Profiles</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute list '<em>Required Profiles</em>'.
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply#getRequiredProfiles()
- * @see #getStereotypeToApply()
- * @generated
- */
- EAttribute getStereotypeToApply_RequiredProfiles();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- ApplyStereotypeActionConfigurationFactory getApplyStereotypeActionConfigurationFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
- interface Literals {
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationImpl <em>Apply Stereotype Action Configuration</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationImpl
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationPackageImpl#getApplyStereotypeActionConfiguration()
- * @generated
- */
- EClass APPLY_STEREOTYPE_ACTION_CONFIGURATION = eINSTANCE.getApplyStereotypeActionConfiguration();
-
- /**
- * The meta object literal for the '<em><b>Stereotypes To Apply</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY = eINSTANCE.getApplyStereotypeActionConfiguration_StereotypesToApply();
-
- /**
- * The meta object literal for the '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl <em>Stereotype To Apply</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationPackageImpl#getStereotypeToApply()
- * @generated
- */
- EClass STEREOTYPE_TO_APPLY = eINSTANCE.getStereotypeToApply();
-
- /**
- * The meta object literal for the '<em><b>Stereotype Qualified Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME = eINSTANCE.getStereotypeToApply_StereotypeQualifiedName();
-
- /**
- * The meta object literal for the '<em><b>Update Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute STEREOTYPE_TO_APPLY__UPDATE_NAME = eINSTANCE.getStereotypeToApply_UpdateName();
-
- /**
- * The meta object literal for the '<em><b>Required Profiles</b></em>' attribute list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute STEREOTYPE_TO_APPLY__REQUIRED_PROFILES = eINSTANCE.getStereotypeToApply_RequiredProfiles();
-
- }
-
-} //ApplyStereotypeActionConfigurationPackage
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/StereotypeToApply.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/StereotypeToApply.java
deleted file mode 100644
index 7b88d3ae704..00000000000
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/StereotypeToApply.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Stereotype To Apply</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply#getStereotypeQualifiedName <em>Stereotype Qualified Name</em>}</li>
- * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply#isUpdateName <em>Update Name</em>}</li>
- * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply#getRequiredProfiles <em>Required Profiles</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#getStereotypeToApply()
- * @model
- * @generated
- */
-public interface StereotypeToApply extends EObject {
- /**
- * Returns the value of the '<em><b>Stereotype Qualified Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Stereotype Qualified Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Stereotype Qualified Name</em>' attribute.
- * @see #setStereotypeQualifiedName(String)
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#getStereotypeToApply_StereotypeQualifiedName()
- * @model dataType="types.String"
- * @generated
- */
- String getStereotypeQualifiedName();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply#getStereotypeQualifiedName <em>Stereotype Qualified Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Stereotype Qualified Name</em>' attribute.
- * @see #getStereotypeQualifiedName()
- * @generated
- */
- void setStereotypeQualifiedName(String value);
-
- /**
- * Returns the value of the '<em><b>Update Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Update Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Update Name</em>' attribute.
- * @see #setUpdateName(boolean)
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#getStereotypeToApply_UpdateName()
- * @model dataType="types.Boolean"
- * @generated
- */
- boolean isUpdateName();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply#isUpdateName <em>Update Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Update Name</em>' attribute.
- * @see #isUpdateName()
- * @generated
- */
- void setUpdateName(boolean value);
-
- /**
- * Returns the value of the '<em><b>Required Profiles</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Required Profiles</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Required Profiles</em>' attribute list.
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#getStereotypeToApply_RequiredProfiles()
- * @model required="true"
- * @generated
- */
- EList<String> getRequiredProfiles();
-
-} // StereotypeToApply
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationFactoryImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationFactoryImpl.java
deleted file mode 100644
index 0a76d1d35fc..00000000000
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationFactoryImpl.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl;
-
-import org.eclipse.emf.ecore.EClass;
-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.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationFactory;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ApplyStereotypeActionConfigurationFactoryImpl extends EFactoryImpl implements ApplyStereotypeActionConfigurationFactory {
- /**
- * Creates the default factory implementation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static ApplyStereotypeActionConfigurationFactory init() {
- try {
- ApplyStereotypeActionConfigurationFactory theApplyStereotypeActionConfigurationFactory = (ApplyStereotypeActionConfigurationFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/diagram/types/applystereotypeactionconfiguration/0.7");
- if (theApplyStereotypeActionConfigurationFactory != null) {
- return theApplyStereotypeActionConfigurationFactory;
- }
- }
- catch (Exception exception) {
- EcorePlugin.INSTANCE.log(exception);
- }
- return new ApplyStereotypeActionConfigurationFactoryImpl();
- }
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ApplyStereotypeActionConfigurationFactoryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION: return createApplyStereotypeActionConfiguration();
- case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY: return createStereotypeToApply();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ApplyStereotypeActionConfiguration createApplyStereotypeActionConfiguration() {
- ApplyStereotypeActionConfigurationImpl applyStereotypeActionConfiguration = new ApplyStereotypeActionConfigurationImpl();
- return applyStereotypeActionConfiguration;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public StereotypeToApply createStereotypeToApply() {
- StereotypeToApplyImpl stereotypeToApply = new StereotypeToApplyImpl();
- return stereotypeToApply;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ApplyStereotypeActionConfigurationPackage getApplyStereotypeActionConfigurationPackage() {
- return (ApplyStereotypeActionConfigurationPackage)getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @deprecated
- * @generated
- */
- @Deprecated
- public static ApplyStereotypeActionConfigurationPackage getPackage() {
- return ApplyStereotypeActionConfigurationPackage.eINSTANCE;
- }
-
-} //ApplyStereotypeActionConfigurationFactoryImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationImpl.java
deleted file mode 100644
index 9f37b4e12d2..00000000000
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationImpl.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl;
-
-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.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.papyrus.infra.extendedtypes.impl.PostActionConfigurationImpl;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Apply Stereotype Action Configuration</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationImpl#getStereotypesToApply <em>Stereotypes To Apply</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ApplyStereotypeActionConfigurationImpl extends PostActionConfigurationImpl implements ApplyStereotypeActionConfiguration {
- /**
- * The cached value of the '{@link #getStereotypesToApply() <em>Stereotypes To Apply</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getStereotypesToApply()
- * @generated
- * @ordered
- */
- protected EList<StereotypeToApply> stereotypesToApply;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ApplyStereotypeActionConfigurationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ApplyStereotypeActionConfigurationPackage.Literals.APPLY_STEREOTYPE_ACTION_CONFIGURATION;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<StereotypeToApply> getStereotypesToApply() {
- if (stereotypesToApply == null) {
- stereotypesToApply = new EObjectContainmentEList<StereotypeToApply>(StereotypeToApply.class, this, ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY);
- }
- return stereotypesToApply;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY:
- return ((InternalEList<?>)getStereotypesToApply()).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 ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY:
- return getStereotypesToApply();
- }
- 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 ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY:
- getStereotypesToApply().clear();
- getStereotypesToApply().addAll((Collection<? extends StereotypeToApply>)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY:
- getStereotypesToApply().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY:
- return stereotypesToApply != null && !stereotypesToApply.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
-} //ApplyStereotypeActionConfigurationImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationPackageImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationPackageImpl.java
deleted file mode 100644
index 43d5202357a..00000000000
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationPackageImpl.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-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.extendedtypes.ExtendedtypesPackage;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationFactory;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply;
-import org.eclipse.uml2.types.TypesPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ApplyStereotypeActionConfigurationPackageImpl extends EPackageImpl implements ApplyStereotypeActionConfigurationPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass applyStereotypeActionConfigurationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass stereotypeToApplyEClass = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>Note: the correct way to create the package is via the static
- * factory method {@link #init init()}, which also performs
- * initialization of the package, or returns the registered package,
- * if one already exists.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#eNS_URI
- * @see #init()
- * @generated
- */
- private ApplyStereotypeActionConfigurationPackageImpl() {
- super(eNS_URI, ApplyStereotypeActionConfigurationFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
- *
- * <p>This method is used to initialize {@link ApplyStereotypeActionConfigurationPackage#eINSTANCE} when that field is accessed.
- * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static ApplyStereotypeActionConfigurationPackage init() {
- if (isInited) return (ApplyStereotypeActionConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(ApplyStereotypeActionConfigurationPackage.eNS_URI);
-
- // Obtain or create and register package
- ApplyStereotypeActionConfigurationPackageImpl theApplyStereotypeActionConfigurationPackage = (ApplyStereotypeActionConfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ApplyStereotypeActionConfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ApplyStereotypeActionConfigurationPackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- ExtendedtypesPackage.eINSTANCE.eClass();
- TypesPackage.eINSTANCE.eClass();
-
- // Create package meta-data objects
- theApplyStereotypeActionConfigurationPackage.createPackageContents();
-
- // Initialize created meta-data
- theApplyStereotypeActionConfigurationPackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- theApplyStereotypeActionConfigurationPackage.freeze();
-
-
- // Update the registry and return the package
- EPackage.Registry.INSTANCE.put(ApplyStereotypeActionConfigurationPackage.eNS_URI, theApplyStereotypeActionConfigurationPackage);
- return theApplyStereotypeActionConfigurationPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getApplyStereotypeActionConfiguration() {
- return applyStereotypeActionConfigurationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getApplyStereotypeActionConfiguration_StereotypesToApply() {
- return (EReference)applyStereotypeActionConfigurationEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getStereotypeToApply() {
- return stereotypeToApplyEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getStereotypeToApply_StereotypeQualifiedName() {
- return (EAttribute)stereotypeToApplyEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getStereotypeToApply_UpdateName() {
- return (EAttribute)stereotypeToApplyEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getStereotypeToApply_RequiredProfiles() {
- return (EAttribute)stereotypeToApplyEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ApplyStereotypeActionConfigurationFactory getApplyStereotypeActionConfigurationFactory() {
- return (ApplyStereotypeActionConfigurationFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents() {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- applyStereotypeActionConfigurationEClass = createEClass(APPLY_STEREOTYPE_ACTION_CONFIGURATION);
- createEReference(applyStereotypeActionConfigurationEClass, APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY);
-
- stereotypeToApplyEClass = createEClass(STEREOTYPE_TO_APPLY);
- createEAttribute(stereotypeToApplyEClass, STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME);
- createEAttribute(stereotypeToApplyEClass, STEREOTYPE_TO_APPLY__UPDATE_NAME);
- createEAttribute(stereotypeToApplyEClass, STEREOTYPE_TO_APPLY__REQUIRED_PROFILES);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Obtain other dependent packages
- ExtendedtypesPackage theExtendedtypesPackage = (ExtendedtypesPackage)EPackage.Registry.INSTANCE.getEPackage(ExtendedtypesPackage.eNS_URI);
- TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
- EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
-
- // Create type parameters
-
- // Set bounds for type parameters
-
- // Add supertypes to classes
- applyStereotypeActionConfigurationEClass.getESuperTypes().add(theExtendedtypesPackage.getPostActionConfiguration());
-
- // Initialize classes and features; add operations and parameters
- initEClass(applyStereotypeActionConfigurationEClass, ApplyStereotypeActionConfiguration.class, "ApplyStereotypeActionConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getApplyStereotypeActionConfiguration_StereotypesToApply(), this.getStereotypeToApply(), null, "stereotypesToApply", null, 0, -1, ApplyStereotypeActionConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(stereotypeToApplyEClass, StereotypeToApply.class, "StereotypeToApply", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getStereotypeToApply_StereotypeQualifiedName(), theTypesPackage.getString(), "stereotypeQualifiedName", null, 0, 1, StereotypeToApply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getStereotypeToApply_UpdateName(), theTypesPackage.getBoolean(), "updateName", null, 0, 1, StereotypeToApply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getStereotypeToApply_RequiredProfiles(), theEcorePackage.getEString(), "requiredProfiles", null, 1, -1, StereotypeToApply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- // Create resource
- createResource(eNS_URI);
- }
-
-} //ApplyStereotypeActionConfigurationPackageImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/StereotypeToApplyImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/StereotypeToApplyImpl.java
deleted file mode 100644
index 33c8472e7da..00000000000
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/impl/StereotypeToApplyImpl.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Stereotype To Apply</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl#getStereotypeQualifiedName <em>Stereotype Qualified Name</em>}</li>
- * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl#isUpdateName <em>Update Name</em>}</li>
- * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl#getRequiredProfiles <em>Required Profiles</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class StereotypeToApplyImpl extends EObjectImpl implements StereotypeToApply {
- /**
- * The default value of the '{@link #getStereotypeQualifiedName() <em>Stereotype Qualified Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getStereotypeQualifiedName()
- * @generated
- * @ordered
- */
- protected static final String STEREOTYPE_QUALIFIED_NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getStereotypeQualifiedName() <em>Stereotype Qualified Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getStereotypeQualifiedName()
- * @generated
- * @ordered
- */
- protected String stereotypeQualifiedName = STEREOTYPE_QUALIFIED_NAME_EDEFAULT;
-
- /**
- * The default value of the '{@link #isUpdateName() <em>Update Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isUpdateName()
- * @generated
- * @ordered
- */
- protected static final boolean UPDATE_NAME_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isUpdateName() <em>Update Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isUpdateName()
- * @generated
- * @ordered
- */
- protected boolean updateName = UPDATE_NAME_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getRequiredProfiles() <em>Required Profiles</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRequiredProfiles()
- * @generated
- * @ordered
- */
- protected EList<String> requiredProfiles;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected StereotypeToApplyImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ApplyStereotypeActionConfigurationPackage.Literals.STEREOTYPE_TO_APPLY;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getStereotypeQualifiedName() {
- return stereotypeQualifiedName;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setStereotypeQualifiedName(String newStereotypeQualifiedName) {
- String oldStereotypeQualifiedName = stereotypeQualifiedName;
- stereotypeQualifiedName = newStereotypeQualifiedName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME, oldStereotypeQualifiedName, stereotypeQualifiedName));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isUpdateName() {
- return updateName;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setUpdateName(boolean newUpdateName) {
- boolean oldUpdateName = updateName;
- updateName = newUpdateName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__UPDATE_NAME, oldUpdateName, updateName));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<String> getRequiredProfiles() {
- if (requiredProfiles == null) {
- requiredProfiles = new EDataTypeUniqueEList<String>(String.class, this, ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__REQUIRED_PROFILES);
- }
- return requiredProfiles;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME:
- return getStereotypeQualifiedName();
- case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__UPDATE_NAME:
- return isUpdateName();
- case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__REQUIRED_PROFILES:
- return getRequiredProfiles();
- }
- 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 ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME:
- setStereotypeQualifiedName((String)newValue);
- return;
- case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__UPDATE_NAME:
- setUpdateName((Boolean)newValue);
- return;
- case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__REQUIRED_PROFILES:
- getRequiredProfiles().clear();
- getRequiredProfiles().addAll((Collection<? extends String>)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME:
- setStereotypeQualifiedName(STEREOTYPE_QUALIFIED_NAME_EDEFAULT);
- return;
- case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__UPDATE_NAME:
- setUpdateName(UPDATE_NAME_EDEFAULT);
- return;
- case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__REQUIRED_PROFILES:
- getRequiredProfiles().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME:
- return STEREOTYPE_QUALIFIED_NAME_EDEFAULT == null ? stereotypeQualifiedName != null : !STEREOTYPE_QUALIFIED_NAME_EDEFAULT.equals(stereotypeQualifiedName);
- case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__UPDATE_NAME:
- return updateName != UPDATE_NAME_EDEFAULT;
- case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__REQUIRED_PROFILES:
- return requiredProfiles != null && !requiredProfiles.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (stereotypeQualifiedName: ");
- result.append(stereotypeQualifiedName);
- result.append(", updateName: ");
- result.append(updateName);
- result.append(", requiredProfiles: ");
- result.append(requiredProfiles);
- result.append(')');
- return result.toString();
- }
-
-} //StereotypeToApplyImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationAdapterFactory.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationAdapterFactory.java
deleted file mode 100644
index c22ffab8a88..00000000000
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationAdapterFactory.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage
- * @generated
- */
-public class ApplyStereotypeActionConfigurationAdapterFactory extends AdapterFactoryImpl {
- /**
- * The cached model package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static ApplyStereotypeActionConfigurationPackage modelPackage;
-
- /**
- * Creates an instance of the adapter factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ApplyStereotypeActionConfigurationAdapterFactory() {
- if (modelPackage == null) {
- modelPackage = ApplyStereotypeActionConfigurationPackage.eINSTANCE;
- }
- }
-
- /**
- * Returns whether this factory is applicable for the type of the object.
- * <!-- begin-user-doc -->
- * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
- * <!-- end-user-doc -->
- * @return whether this factory is applicable for the type of the object.
- * @generated
- */
- @Override
- public boolean isFactoryForType(Object object) {
- if (object == modelPackage) {
- return true;
- }
- if (object instanceof EObject) {
- return ((EObject)object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch that delegates to the <code>createXXX</code> methods.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ApplyStereotypeActionConfigurationSwitch<Adapter> modelSwitch =
- new ApplyStereotypeActionConfigurationSwitch<Adapter>() {
- @Override
- public Adapter caseApplyStereotypeActionConfiguration(ApplyStereotypeActionConfiguration object) {
- return createApplyStereotypeActionConfigurationAdapter();
- }
- @Override
- public Adapter caseStereotypeToApply(StereotypeToApply object) {
- return createStereotypeToApplyAdapter();
- }
- @Override
- public Adapter caseActionConfiguration(ActionConfiguration object) {
- return createActionConfigurationAdapter();
- }
- @Override
- public Adapter casePostActionConfiguration(PostActionConfiguration object) {
- return createPostActionConfigurationAdapter();
- }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
-
- /**
- * Creates an adapter for the <code>target</code>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param target the object to adapt.
- * @return the adapter for the <code>target</code>.
- * @generated
- */
- @Override
- public Adapter createAdapter(Notifier target) {
- return modelSwitch.doSwitch((EObject)target);
- }
-
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration <em>Apply Stereotype Action Configuration</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.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration
- * @generated
- */
- public Adapter createApplyStereotypeActionConfigurationAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply <em>Stereotype To Apply</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.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply
- * @generated
- */
- public Adapter createStereotypeToApplyAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration <em>Action Configuration</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.extendedtypes.ActionConfiguration
- * @generated
- */
- public Adapter createActionConfigurationAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.PostActionConfiguration <em>Post Action Configuration</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.extendedtypes.PostActionConfiguration
- * @generated
- */
- public Adapter createPostActionConfigurationAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case.
- * <!-- begin-user-doc -->
- * This default implementation returns null.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter() {
- return null;
- }
-
-} //ApplyStereotypeActionConfigurationAdapterFactory
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceImpl.java
deleted file mode 100644
index 7c53034488e..00000000000
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceImpl.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.util;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource </b> associated with the package.
- * <!-- end-user-doc -->
- * @see org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.util.ApplyStereotypeActionConfigurationResourceFactoryImpl
- * @generated
- */
-public class ApplyStereotypeActionConfigurationResourceImpl extends XMLResourceImpl {
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param uri the URI of the new resource.
- * @generated
- */
- public ApplyStereotypeActionConfigurationResourceImpl(URI uri) {
- super(uri);
- }
-
-} //ApplyStereotypeActionConfigurationResourceImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationXMLProcessor.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationXMLProcessor.java
deleted file mode 100644
index 70e5c5addf7..00000000000
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationXMLProcessor.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.util;
-
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
-
-/**
- * This class contains helper methods to serialize and deserialize XML documents
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class ApplyStereotypeActionConfigurationXMLProcessor extends XMLProcessor {
-
- /**
- * Public constructor to instantiate the helper.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ApplyStereotypeActionConfigurationXMLProcessor() {
- super((EPackage.Registry.INSTANCE));
- ApplyStereotypeActionConfigurationPackage.eINSTANCE.eClass();
- }
-
- /**
- * Register for "*" and "xml" file extensions the ApplyStereotypeActionConfigurationResourceFactoryImpl factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected Map<String, Resource.Factory> getRegistrations() {
- if (registrations == null) {
- super.getRegistrations();
- registrations.put(XML_EXTENSION, new ApplyStereotypeActionConfigurationResourceFactoryImpl());
- registrations.put(STAR_EXTENSION, new ApplyStereotypeActionConfigurationResourceFactoryImpl());
- }
- return registrations;
- }
-
-} //ApplyStereotypeActionConfigurationXMLProcessor
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfiguration.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfiguration.java
new file mode 100644
index 00000000000..a15d5125c96
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfiguration.java
@@ -0,0 +1,87 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Invariant Stereotype Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration#getStereotypeQualifiedName <em>Stereotype Qualified Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration#getRequiredProfile <em>Required Profile</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationPackage#getInvariantStereotypeConfiguration()
+ * @model
+ * @generated
+ */
+public interface InvariantStereotypeConfiguration extends InvariantRuleConfiguration {
+
+ /**
+ * Returns the value of the '<em><b>Stereotype Qualified Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Stereotype Qualified Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Stereotype Qualified Name</em>' attribute.
+ * @see #setStereotypeQualifiedName(String)
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationPackage#getInvariantStereotypeConfiguration_StereotypeQualifiedName()
+ * @model required="true"
+ * @generated
+ */
+ String getStereotypeQualifiedName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration#getStereotypeQualifiedName <em>Stereotype Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Stereotype Qualified Name</em>' attribute.
+ * @see #getStereotypeQualifiedName()
+ * @generated
+ */
+ void setStereotypeQualifiedName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Required Profile</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Required Profile</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Required Profile</em>' attribute.
+ * @see #setRequiredProfile(String)
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationPackage#getInvariantStereotypeConfiguration_RequiredProfile()
+ * @model
+ * @generated
+ */
+ String getRequiredProfile();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration#getRequiredProfile <em>Required Profile</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Required Profile</em>' attribute.
+ * @see #getRequiredProfile()
+ * @generated
+ */
+ void setRequiredProfile(String value);
+} // InvariantStereotypeConfiguration
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfigurationFactory.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfigurationFactory.java
new file mode 100644
index 00000000000..35a86f1b40c
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfigurationFactory.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationPackage
+ * @generated
+ */
+public interface InvariantStereotypeConfigurationFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ InvariantStereotypeConfigurationFactory eINSTANCE = org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl.InvariantStereotypeConfigurationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Invariant Stereotype Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Invariant Stereotype Configuration</em>'.
+ * @generated
+ */
+ InvariantStereotypeConfiguration createInvariantStereotypeConfiguration();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ InvariantStereotypeConfigurationPackage getInvariantStereotypeConfigurationPackage();
+} //InvariantStereotypeConfigurationFactory
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfigurationPackage.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfigurationPackage.java
new file mode 100644
index 00000000000..f251c51d7e5
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfigurationPackage.java
@@ -0,0 +1,199 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface InvariantStereotypeConfigurationPackage extends EPackage {
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "invariantstereotypeconfiguration";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/stereotype/1.0";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "invariantstereotypeconfiguration";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ InvariantStereotypeConfigurationPackage eINSTANCE = org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl.InvariantStereotypeConfigurationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl.InvariantStereotypeConfigurationImpl <em>Invariant Stereotype Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl.InvariantStereotypeConfigurationImpl
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl.InvariantStereotypeConfigurationPackageImpl#getInvariantStereotypeConfiguration()
+ * @generated
+ */
+ int INVARIANT_STEREOTYPE_CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Stereotype Qualified Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_STEREOTYPE_CONFIGURATION__STEREOTYPE_QUALIFIED_NAME = InvariantSemanticTypeConfigurationPackage.INVARIANT_RULE_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Required Profile</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_STEREOTYPE_CONFIGURATION__REQUIRED_PROFILE = InvariantSemanticTypeConfigurationPackage.INVARIANT_RULE_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Invariant Stereotype Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_STEREOTYPE_CONFIGURATION_FEATURE_COUNT = InvariantSemanticTypeConfigurationPackage.INVARIANT_RULE_CONFIGURATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Invariant Stereotype Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVARIANT_STEREOTYPE_CONFIGURATION_OPERATION_COUNT = InvariantSemanticTypeConfigurationPackage.INVARIANT_RULE_CONFIGURATION_OPERATION_COUNT + 0;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration <em>Invariant Stereotype Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Invariant Stereotype Configuration</em>'.
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration
+ * @generated
+ */
+ EClass getInvariantStereotypeConfiguration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration#getStereotypeQualifiedName <em>Stereotype Qualified Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Stereotype Qualified Name</em>'.
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration#getStereotypeQualifiedName()
+ * @see #getInvariantStereotypeConfiguration()
+ * @generated
+ */
+ EAttribute getInvariantStereotypeConfiguration_StereotypeQualifiedName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration#getRequiredProfile <em>Required Profile</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Required Profile</em>'.
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration#getRequiredProfile()
+ * @see #getInvariantStereotypeConfiguration()
+ * @generated
+ */
+ EAttribute getInvariantStereotypeConfiguration_RequiredProfile();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ InvariantStereotypeConfigurationFactory getInvariantStereotypeConfigurationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl.InvariantStereotypeConfigurationImpl <em>Invariant Stereotype Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl.InvariantStereotypeConfigurationImpl
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl.InvariantStereotypeConfigurationPackageImpl#getInvariantStereotypeConfiguration()
+ * @generated
+ */
+ EClass INVARIANT_STEREOTYPE_CONFIGURATION = eINSTANCE.getInvariantStereotypeConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Stereotype Qualified Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INVARIANT_STEREOTYPE_CONFIGURATION__STEREOTYPE_QUALIFIED_NAME = eINSTANCE.getInvariantStereotypeConfiguration_StereotypeQualifiedName();
+
+ /**
+ * The meta object literal for the '<em><b>Required Profile</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INVARIANT_STEREOTYPE_CONFIGURATION__REQUIRED_PROFILE = eINSTANCE.getInvariantStereotypeConfiguration_RequiredProfile();
+ }
+} //InvariantStereotypeConfigurationPackage
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/impl/InvariantStereotypeConfigurationFactoryImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/impl/InvariantStereotypeConfigurationFactoryImpl.java
new file mode 100644
index 00000000000..7f523e0e940
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/impl/InvariantStereotypeConfigurationFactoryImpl.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+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.uml.tools.extendedtypes.invariantstereotypeconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantStereotypeConfigurationFactoryImpl extends EFactoryImpl implements InvariantStereotypeConfigurationFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static InvariantStereotypeConfigurationFactory init() {
+ try {
+ InvariantStereotypeConfigurationFactory theInvariantStereotypeConfigurationFactory = (InvariantStereotypeConfigurationFactory)EPackage.Registry.INSTANCE.getEFactory(InvariantStereotypeConfigurationPackage.eNS_URI);
+ if(theInvariantStereotypeConfigurationFactory != null) {
+ return theInvariantStereotypeConfigurationFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new InvariantStereotypeConfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch(eClass.getClassifierID()) {
+ case InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION:
+ return createInvariantStereotypeConfiguration();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfiguration createInvariantStereotypeConfiguration() {
+ InvariantStereotypeConfigurationImpl invariantStereotypeConfiguration = new InvariantStereotypeConfigurationImpl();
+ return invariantStereotypeConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationPackage getInvariantStereotypeConfigurationPackage() {
+ return (InvariantStereotypeConfigurationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static InvariantStereotypeConfigurationPackage getPackage() {
+ return InvariantStereotypeConfigurationPackage.eINSTANCE;
+ }
+} //InvariantStereotypeConfigurationFactoryImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/impl/InvariantStereotypeConfigurationImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/impl/InvariantStereotypeConfigurationImpl.java
new file mode 100644
index 00000000000..e150ece1c64
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/impl/InvariantStereotypeConfigurationImpl.java
@@ -0,0 +1,228 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl.InvariantRuleConfigurationImpl;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration;
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Invariant Stereotype Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl.InvariantStereotypeConfigurationImpl#getStereotypeQualifiedName <em>Stereotype Qualified Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl.InvariantStereotypeConfigurationImpl#getRequiredProfile <em>Required Profile</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InvariantStereotypeConfigurationImpl extends InvariantRuleConfigurationImpl implements InvariantStereotypeConfiguration {
+
+ /**
+ * The default value of the '{@link #getStereotypeQualifiedName() <em>Stereotype Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStereotypeQualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected static final String STEREOTYPE_QUALIFIED_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStereotypeQualifiedName() <em>Stereotype Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStereotypeQualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected String stereotypeQualifiedName = STEREOTYPE_QUALIFIED_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRequiredProfile() <em>Required Profile</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRequiredProfile()
+ * @generated
+ * @ordered
+ */
+ protected static final String REQUIRED_PROFILE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRequiredProfile() <em>Required Profile</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRequiredProfile()
+ * @generated
+ * @ordered
+ */
+ protected String requiredProfile = REQUIRED_PROFILE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantStereotypeConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return InvariantStereotypeConfigurationPackage.Literals.INVARIANT_STEREOTYPE_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStereotypeQualifiedName() {
+ return stereotypeQualifiedName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStereotypeQualifiedName(String newStereotypeQualifiedName) {
+ String oldStereotypeQualifiedName = stereotypeQualifiedName;
+ stereotypeQualifiedName = newStereotypeQualifiedName;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION__STEREOTYPE_QUALIFIED_NAME, oldStereotypeQualifiedName, stereotypeQualifiedName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getRequiredProfile() {
+ return requiredProfile;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRequiredProfile(String newRequiredProfile) {
+ String oldRequiredProfile = requiredProfile;
+ requiredProfile = newRequiredProfile;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION__REQUIRED_PROFILE, oldRequiredProfile, requiredProfile));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch(featureID) {
+ case InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION__STEREOTYPE_QUALIFIED_NAME:
+ return getStereotypeQualifiedName();
+ case InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION__REQUIRED_PROFILE:
+ return getRequiredProfile();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch(featureID) {
+ case InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION__STEREOTYPE_QUALIFIED_NAME:
+ setStereotypeQualifiedName((String)newValue);
+ return;
+ case InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION__REQUIRED_PROFILE:
+ setRequiredProfile((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch(featureID) {
+ case InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION__STEREOTYPE_QUALIFIED_NAME:
+ setStereotypeQualifiedName(STEREOTYPE_QUALIFIED_NAME_EDEFAULT);
+ return;
+ case InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION__REQUIRED_PROFILE:
+ setRequiredProfile(REQUIRED_PROFILE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch(featureID) {
+ case InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION__STEREOTYPE_QUALIFIED_NAME:
+ return STEREOTYPE_QUALIFIED_NAME_EDEFAULT == null ? stereotypeQualifiedName != null : !STEREOTYPE_QUALIFIED_NAME_EDEFAULT.equals(stereotypeQualifiedName);
+ case InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION__REQUIRED_PROFILE:
+ return REQUIRED_PROFILE_EDEFAULT == null ? requiredProfile != null : !REQUIRED_PROFILE_EDEFAULT.equals(requiredProfile);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if(eIsProxy())
+ return super.toString();
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (stereotypeQualifiedName: ");
+ result.append(stereotypeQualifiedName);
+ result.append(", requiredProfile: ");
+ result.append(requiredProfile);
+ result.append(')');
+ return result.toString();
+ }
+} //InvariantStereotypeConfigurationImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/impl/InvariantStereotypeConfigurationPackageImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/impl/InvariantStereotypeConfigurationPackageImpl.java
new file mode 100644
index 00000000000..1f08dbcceef
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/impl/InvariantStereotypeConfigurationPackageImpl.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantSemanticTypeConfigurationPackage;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration;
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationFactory;
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantStereotypeConfigurationPackageImpl extends EPackageImpl implements InvariantStereotypeConfigurationPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass invariantStereotypeConfigurationEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private InvariantStereotypeConfigurationPackageImpl() {
+ super(eNS_URI, InvariantStereotypeConfigurationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link InvariantStereotypeConfigurationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static InvariantStereotypeConfigurationPackage init() {
+ if(isInited)
+ return (InvariantStereotypeConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(InvariantStereotypeConfigurationPackage.eNS_URI);
+ // Obtain or create and register package
+ InvariantStereotypeConfigurationPackageImpl theInvariantStereotypeConfigurationPackage = (InvariantStereotypeConfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof InvariantStereotypeConfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new InvariantStereotypeConfigurationPackageImpl());
+ isInited = true;
+ // Initialize simple dependencies
+ InvariantSemanticTypeConfigurationPackage.eINSTANCE.eClass();
+ // Create package meta-data objects
+ theInvariantStereotypeConfigurationPackage.createPackageContents();
+ // Initialize created meta-data
+ theInvariantStereotypeConfigurationPackage.initializePackageContents();
+ // Mark meta-data to indicate it can't be changed
+ theInvariantStereotypeConfigurationPackage.freeze();
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(InvariantStereotypeConfigurationPackage.eNS_URI, theInvariantStereotypeConfigurationPackage);
+ return theInvariantStereotypeConfigurationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInvariantStereotypeConfiguration() {
+ return invariantStereotypeConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getInvariantStereotypeConfiguration_StereotypeQualifiedName() {
+ return (EAttribute)invariantStereotypeConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getInvariantStereotypeConfiguration_RequiredProfile() {
+ return (EAttribute)invariantStereotypeConfigurationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationFactory getInvariantStereotypeConfigurationFactory() {
+ return (InvariantStereotypeConfigurationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if(isCreated)
+ return;
+ isCreated = true;
+ // Create classes and their features
+ invariantStereotypeConfigurationEClass = createEClass(INVARIANT_STEREOTYPE_CONFIGURATION);
+ createEAttribute(invariantStereotypeConfigurationEClass, INVARIANT_STEREOTYPE_CONFIGURATION__STEREOTYPE_QUALIFIED_NAME);
+ createEAttribute(invariantStereotypeConfigurationEClass, INVARIANT_STEREOTYPE_CONFIGURATION__REQUIRED_PROFILE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if(isInitialized)
+ return;
+ isInitialized = true;
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+ // Obtain other dependent packages
+ InvariantSemanticTypeConfigurationPackage theInvariantSemanticTypeConfigurationPackage = (InvariantSemanticTypeConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(InvariantSemanticTypeConfigurationPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ // Create type parameters
+ // Set bounds for type parameters
+ // Add supertypes to classes
+ invariantStereotypeConfigurationEClass.getESuperTypes().add(theInvariantSemanticTypeConfigurationPackage.getInvariantRuleConfiguration());
+ // Initialize classes, features, and operations; add parameters
+ initEClass(invariantStereotypeConfigurationEClass, InvariantStereotypeConfiguration.class, "InvariantStereotypeConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getInvariantStereotypeConfiguration_StereotypeQualifiedName(), theEcorePackage.getEString(), "stereotypeQualifiedName", null, 1, 1, InvariantStereotypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getInvariantStereotypeConfiguration_RequiredProfile(), theEcorePackage.getEString(), "requiredProfile", null, 0, 1, InvariantStereotypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ // Create resource
+ createResource(eNS_URI);
+ }
+} //InvariantStereotypeConfigurationPackageImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationAdapterFactory.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationAdapterFactory.java
new file mode 100644
index 00000000000..1ddce4b4b24
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationAdapterFactory.java
@@ -0,0 +1,151 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationPackage
+ * @generated
+ */
+public class InvariantStereotypeConfigurationAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static InvariantStereotypeConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationAdapterFactory() {
+ if(modelPackage == null) {
+ modelPackage = InvariantStereotypeConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if(object == modelPackage) {
+ return true;
+ }
+ if(object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvariantStereotypeConfigurationSwitch<Adapter> modelSwitch = new InvariantStereotypeConfigurationSwitch<Adapter>() {
+
+ @Override
+ public Adapter caseInvariantStereotypeConfiguration(InvariantStereotypeConfiguration object) {
+ return createInvariantStereotypeConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseInvariantRuleConfiguration(InvariantRuleConfiguration object) {
+ return createInvariantRuleConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration <em>Invariant Stereotype Configuration</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.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration
+ * @generated
+ */
+ public Adapter createInvariantStereotypeConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration <em>Invariant Rule Configuration</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.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration
+ * @generated
+ */
+ public Adapter createInvariantRuleConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+} //InvariantStereotypeConfigurationAdapterFactory
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationResourceFactoryImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationResourceFactoryImpl.java
new file mode 100644
index 00000000000..40fa8951285
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationResourceFactoryImpl.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.util;
+
+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.uml.tools.extendedtypes.invariantstereotypeconfiguration.util.InvariantStereotypeConfigurationResourceImpl
+ * @generated
+ */
+public class InvariantStereotypeConfigurationResourceFactoryImpl extends ResourceFactoryImpl {
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new InvariantStereotypeConfigurationResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+} //InvariantStereotypeConfigurationResourceFactoryImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationResourceImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationResourceImpl.java
new file mode 100644
index 00000000000..aad1c11fde6
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationResourceImpl.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.util.InvariantStereotypeConfigurationResourceFactoryImpl
+ * @generated
+ */
+public class InvariantStereotypeConfigurationResourceImpl extends XMLResourceImpl {
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public InvariantStereotypeConfigurationResourceImpl(URI uri) {
+ super(uri);
+ }
+} //InvariantStereotypeConfigurationResourceImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationSwitch.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationSwitch.java
new file mode 100644
index 00000000000..036f7749c4f
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationSwitch.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.InvariantRuleConfiguration;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationPackage
+ * @generated
+ */
+public class InvariantStereotypeConfigurationSwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static InvariantStereotypeConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationSwitch() {
+ if(modelPackage == null) {
+ modelPackage = InvariantStereotypeConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch(classifierID) {
+ case InvariantStereotypeConfigurationPackage.INVARIANT_STEREOTYPE_CONFIGURATION:
+ {
+ InvariantStereotypeConfiguration invariantStereotypeConfiguration = (InvariantStereotypeConfiguration)theEObject;
+ T result = caseInvariantStereotypeConfiguration(invariantStereotypeConfiguration);
+ if(result == null)
+ result = caseInvariantRuleConfiguration(invariantStereotypeConfiguration);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Invariant Stereotype Configuration</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>Invariant Stereotype Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInvariantStereotypeConfiguration(InvariantStereotypeConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Invariant Rule Configuration</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>Invariant Rule Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInvariantRuleConfiguration(InvariantRuleConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+} //InvariantStereotypeConfigurationSwitch
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationXMLProcessor.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationXMLProcessor.java
new file mode 100644
index 00000000000..c9f4e8990ed
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/util/InvariantStereotypeConfigurationXMLProcessor.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfigurationPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvariantStereotypeConfigurationXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvariantStereotypeConfigurationXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ InvariantStereotypeConfigurationPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the InvariantStereotypeConfigurationResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if(registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new InvariantStereotypeConfigurationResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new InvariantStereotypeConfigurationResourceFactoryImpl());
+ }
+ return registrations;
+ }
+} //InvariantStereotypeConfigurationXMLProcessor
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherConfiguration.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherConfiguration.java
new file mode 100644
index 00000000000..cffe0e30180
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherConfiguration.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.MatcherConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stereotyped Element Matcher Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration#getStereotypedQualifiedName <em>Stereotyped Qualified Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationPackage#getStereotypedElementMatcherConfiguration()
+ * @model
+ * @generated
+ */
+public interface StereotypedElementMatcherConfiguration extends MatcherConfiguration {
+ /**
+ * Returns the value of the '<em><b>Stereotyped Qualified Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Stereotyped Qualified Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Stereotyped Qualified Name</em>' attribute.
+ * @see #setStereotypedQualifiedName(String)
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationPackage#getStereotypedElementMatcherConfiguration_StereotypedQualifiedName()
+ * @model
+ * @generated
+ */
+ String getStereotypedQualifiedName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration#getStereotypedQualifiedName <em>Stereotyped Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Stereotyped Qualified Name</em>' attribute.
+ * @see #getStereotypedQualifiedName()
+ * @generated
+ */
+ void setStereotypedQualifiedName(String value);
+
+} // StereotypedElementMatcherConfiguration
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherConfigurationFactory.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherConfigurationFactory.java
new file mode 100644
index 00000000000..251a7939058
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherConfigurationFactory.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationPackage
+ * @generated
+ */
+public interface StereotypedElementMatcherConfigurationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ StereotypedElementMatcherConfigurationFactory eINSTANCE = org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.impl.StereotypedElementMatcherConfigurationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Stereotyped Element Matcher Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Stereotyped Element Matcher Configuration</em>'.
+ * @generated
+ */
+ StereotypedElementMatcherConfiguration createStereotypedElementMatcherConfiguration();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ StereotypedElementMatcherConfigurationPackage getStereotypedElementMatcherConfigurationPackage();
+
+} //StereotypedElementMatcherConfigurationFactory
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherConfigurationPackage.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherConfigurationPackage.java
new file mode 100644
index 00000000000..a8bde44ab3f
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherConfigurationPackage.java
@@ -0,0 +1,162 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface StereotypedElementMatcherConfigurationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "stereotypedelementmatcherconfiguration";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/payrus/extendedtypes/uml/stereotypematcherconfiguration";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "stereotypedelementmatcherconfiguration";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ StereotypedElementMatcherConfigurationPackage eINSTANCE = org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.impl.StereotypedElementMatcherConfigurationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.impl.StereotypedElementMatcherConfigurationImpl <em>Stereotyped Element Matcher Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.impl.StereotypedElementMatcherConfigurationImpl
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.impl.StereotypedElementMatcherConfigurationPackageImpl#getStereotypedElementMatcherConfiguration()
+ * @generated
+ */
+ int STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Stereotyped Qualified Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION__STEREOTYPED_QUALIFIED_NAME = ExtendedtypesPackage.MATCHER_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Stereotyped Element Matcher Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION_FEATURE_COUNT = ExtendedtypesPackage.MATCHER_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration <em>Stereotyped Element Matcher Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Stereotyped Element Matcher Configuration</em>'.
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration
+ * @generated
+ */
+ EClass getStereotypedElementMatcherConfiguration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration#getStereotypedQualifiedName <em>Stereotyped Qualified Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Stereotyped Qualified Name</em>'.
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration#getStereotypedQualifiedName()
+ * @see #getStereotypedElementMatcherConfiguration()
+ * @generated
+ */
+ EAttribute getStereotypedElementMatcherConfiguration_StereotypedQualifiedName();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ StereotypedElementMatcherConfigurationFactory getStereotypedElementMatcherConfigurationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.impl.StereotypedElementMatcherConfigurationImpl <em>Stereotyped Element Matcher Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.impl.StereotypedElementMatcherConfigurationImpl
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.impl.StereotypedElementMatcherConfigurationPackageImpl#getStereotypedElementMatcherConfiguration()
+ * @generated
+ */
+ EClass STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION = eINSTANCE.getStereotypedElementMatcherConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Stereotyped Qualified Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION__STEREOTYPED_QUALIFIED_NAME = eINSTANCE.getStereotypedElementMatcherConfiguration_StereotypedQualifiedName();
+
+ }
+
+} //StereotypedElementMatcherConfigurationPackage
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/impl/StereotypedElementMatcherConfigurationFactoryImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/impl/StereotypedElementMatcherConfigurationFactoryImpl.java
new file mode 100644
index 00000000000..9417ae763e3
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/impl/StereotypedElementMatcherConfigurationFactoryImpl.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+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.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StereotypedElementMatcherConfigurationFactoryImpl extends EFactoryImpl implements StereotypedElementMatcherConfigurationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static StereotypedElementMatcherConfigurationFactory init() {
+ try {
+ StereotypedElementMatcherConfigurationFactory theStereotypedElementMatcherConfigurationFactory = (StereotypedElementMatcherConfigurationFactory)EPackage.Registry.INSTANCE.getEFactory(StereotypedElementMatcherConfigurationPackage.eNS_URI);
+ if (theStereotypedElementMatcherConfigurationFactory != null) {
+ return theStereotypedElementMatcherConfigurationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new StereotypedElementMatcherConfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case StereotypedElementMatcherConfigurationPackage.STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION: return createStereotypedElementMatcherConfiguration();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfiguration createStereotypedElementMatcherConfiguration() {
+ StereotypedElementMatcherConfigurationImpl stereotypedElementMatcherConfiguration = new StereotypedElementMatcherConfigurationImpl();
+ return stereotypedElementMatcherConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationPackage getStereotypedElementMatcherConfigurationPackage() {
+ return (StereotypedElementMatcherConfigurationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static StereotypedElementMatcherConfigurationPackage getPackage() {
+ return StereotypedElementMatcherConfigurationPackage.eINSTANCE;
+ }
+
+} //StereotypedElementMatcherConfigurationFactoryImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/impl/StereotypedElementMatcherConfigurationImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/impl/StereotypedElementMatcherConfigurationImpl.java
new file mode 100644
index 00000000000..01447d7f05a
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/impl/StereotypedElementMatcherConfigurationImpl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.impl.MatcherConfigurationImpl;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration;
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stereotyped Element Matcher Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.impl.StereotypedElementMatcherConfigurationImpl#getStereotypedQualifiedName <em>Stereotyped Qualified Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StereotypedElementMatcherConfigurationImpl extends MatcherConfigurationImpl implements StereotypedElementMatcherConfiguration {
+ /**
+ * The default value of the '{@link #getStereotypedQualifiedName() <em>Stereotyped Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStereotypedQualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected static final String STEREOTYPED_QUALIFIED_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStereotypedQualifiedName() <em>Stereotyped Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStereotypedQualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected String stereotypedQualifiedName = STEREOTYPED_QUALIFIED_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypedElementMatcherConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StereotypedElementMatcherConfigurationPackage.Literals.STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStereotypedQualifiedName() {
+ return stereotypedQualifiedName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStereotypedQualifiedName(String newStereotypedQualifiedName) {
+ String oldStereotypedQualifiedName = stereotypedQualifiedName;
+ stereotypedQualifiedName = newStereotypedQualifiedName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StereotypedElementMatcherConfigurationPackage.STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION__STEREOTYPED_QUALIFIED_NAME, oldStereotypedQualifiedName, stereotypedQualifiedName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StereotypedElementMatcherConfigurationPackage.STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION__STEREOTYPED_QUALIFIED_NAME:
+ return getStereotypedQualifiedName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StereotypedElementMatcherConfigurationPackage.STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION__STEREOTYPED_QUALIFIED_NAME:
+ setStereotypedQualifiedName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StereotypedElementMatcherConfigurationPackage.STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION__STEREOTYPED_QUALIFIED_NAME:
+ setStereotypedQualifiedName(STEREOTYPED_QUALIFIED_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StereotypedElementMatcherConfigurationPackage.STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION__STEREOTYPED_QUALIFIED_NAME:
+ return STEREOTYPED_QUALIFIED_NAME_EDEFAULT == null ? stereotypedQualifiedName != null : !STEREOTYPED_QUALIFIED_NAME_EDEFAULT.equals(stereotypedQualifiedName);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (stereotypedQualifiedName: ");
+ result.append(stereotypedQualifiedName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StereotypedElementMatcherConfigurationImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/impl/StereotypedElementMatcherConfigurationPackageImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/impl/StereotypedElementMatcherConfigurationPackageImpl.java
new file mode 100644
index 00000000000..0ba5e339844
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/impl/StereotypedElementMatcherConfigurationPackageImpl.java
@@ -0,0 +1,198 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration;
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationFactory;
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StereotypedElementMatcherConfigurationPackageImpl extends EPackageImpl implements StereotypedElementMatcherConfigurationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stereotypedElementMatcherConfigurationEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private StereotypedElementMatcherConfigurationPackageImpl() {
+ super(eNS_URI, StereotypedElementMatcherConfigurationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link StereotypedElementMatcherConfigurationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static StereotypedElementMatcherConfigurationPackage init() {
+ if (isInited) return (StereotypedElementMatcherConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(StereotypedElementMatcherConfigurationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ StereotypedElementMatcherConfigurationPackageImpl theStereotypedElementMatcherConfigurationPackage = (StereotypedElementMatcherConfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof StereotypedElementMatcherConfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new StereotypedElementMatcherConfigurationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ ExtendedtypesPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theStereotypedElementMatcherConfigurationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theStereotypedElementMatcherConfigurationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theStereotypedElementMatcherConfigurationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(StereotypedElementMatcherConfigurationPackage.eNS_URI, theStereotypedElementMatcherConfigurationPackage);
+ return theStereotypedElementMatcherConfigurationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStereotypedElementMatcherConfiguration() {
+ return stereotypedElementMatcherConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStereotypedElementMatcherConfiguration_StereotypedQualifiedName() {
+ return (EAttribute)stereotypedElementMatcherConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationFactory getStereotypedElementMatcherConfigurationFactory() {
+ return (StereotypedElementMatcherConfigurationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ stereotypedElementMatcherConfigurationEClass = createEClass(STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION);
+ createEAttribute(stereotypedElementMatcherConfigurationEClass, STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION__STEREOTYPED_QUALIFIED_NAME);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ ExtendedtypesPackage theExtendedtypesPackage = (ExtendedtypesPackage)EPackage.Registry.INSTANCE.getEPackage(ExtendedtypesPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ stereotypedElementMatcherConfigurationEClass.getESuperTypes().add(theExtendedtypesPackage.getMatcherConfiguration());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(stereotypedElementMatcherConfigurationEClass, StereotypedElementMatcherConfiguration.class, "StereotypedElementMatcherConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getStereotypedElementMatcherConfiguration_StereotypedQualifiedName(), theEcorePackage.getEString(), "stereotypedQualifiedName", null, 0, 1, StereotypedElementMatcherConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //StereotypedElementMatcherConfigurationPackageImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationAdapterFactory.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationAdapterFactory.java
new file mode 100644
index 00000000000..b051ece0194
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationAdapterFactory.java
@@ -0,0 +1,150 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.infra.extendedtypes.MatcherConfiguration;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationPackage
+ * @generated
+ */
+public class StereotypedElementMatcherConfigurationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static StereotypedElementMatcherConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = StereotypedElementMatcherConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypedElementMatcherConfigurationSwitch<Adapter> modelSwitch =
+ new StereotypedElementMatcherConfigurationSwitch<Adapter>() {
+ @Override
+ public Adapter caseStereotypedElementMatcherConfiguration(StereotypedElementMatcherConfiguration object) {
+ return createStereotypedElementMatcherConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseMatcherConfiguration(MatcherConfiguration object) {
+ return createMatcherConfigurationAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration <em>Stereotyped Element Matcher Configuration</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.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration
+ * @generated
+ */
+ public Adapter createStereotypedElementMatcherConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.extendedtypes.MatcherConfiguration <em>Matcher Configuration</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.extendedtypes.MatcherConfiguration
+ * @generated
+ */
+ public Adapter createMatcherConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //StereotypedElementMatcherConfigurationAdapterFactory
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationResourceFactoryImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationResourceFactoryImpl.java
new file mode 100644
index 00000000000..a1ae63ec6fb
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.util;
+
+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.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.util.StereotypedElementMatcherConfigurationResourceImpl
+ * @generated
+ */
+public class StereotypedElementMatcherConfigurationResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new StereotypedElementMatcherConfigurationResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //StereotypedElementMatcherConfigurationResourceFactoryImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationResourceImpl.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationResourceImpl.java
new file mode 100644
index 00000000000..0ab713688cf
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationResourceImpl.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.util.StereotypedElementMatcherConfigurationResourceFactoryImpl
+ * @generated
+ */
+public class StereotypedElementMatcherConfigurationResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //StereotypedElementMatcherConfigurationResourceImpl
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationSwitch.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationSwitch.java
new file mode 100644
index 00000000000..4a2df56433d
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationSwitch.java
@@ -0,0 +1,138 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.infra.extendedtypes.MatcherConfiguration;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationPackage
+ * @generated
+ */
+public class StereotypedElementMatcherConfigurationSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static StereotypedElementMatcherConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = StereotypedElementMatcherConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case StereotypedElementMatcherConfigurationPackage.STEREOTYPED_ELEMENT_MATCHER_CONFIGURATION: {
+ StereotypedElementMatcherConfiguration stereotypedElementMatcherConfiguration = (StereotypedElementMatcherConfiguration)theEObject;
+ T result = caseStereotypedElementMatcherConfiguration(stereotypedElementMatcherConfiguration);
+ if (result == null) result = caseMatcherConfiguration(stereotypedElementMatcherConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Stereotyped Element Matcher Configuration</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>Stereotyped Element Matcher Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStereotypedElementMatcherConfiguration(StereotypedElementMatcherConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Matcher Configuration</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>Matcher Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMatcherConfiguration(MatcherConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //StereotypedElementMatcherConfigurationSwitch
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationXMLProcessor.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationXMLProcessor.java
new file mode 100644
index 00000000000..28e9324473f
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/util/StereotypedElementMatcherConfigurationXMLProcessor.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfigurationPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StereotypedElementMatcherConfigurationXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypedElementMatcherConfigurationXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ StereotypedElementMatcherConfigurationPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the StereotypedElementMatcherConfigurationResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new StereotypedElementMatcherConfigurationResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new StereotypedElementMatcherConfigurationResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //StereotypedElementMatcherConfigurationXMLProcessor
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/Activator.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/Activator.java
index 21561c38347..21561c38347 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src-gen/org/eclipse/papyrus/uml/tools/extendedtypes/Activator.java
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/Activator.java
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfigurationModelCreation.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfigurationModelCreation.java
new file mode 100644
index 00000000000..a739258302f
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeConfigurationModelCreation.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IConfigurationModelCreation;
+
+
+/**
+ * @author RS211865
+ */
+public class InvariantStereotypeConfigurationModelCreation implements IConfigurationModelCreation<InvariantStereotypeConfiguration> {
+
+ /**
+ * {@inheritDoc}
+ */
+ public InvariantStereotypeConfiguration createConfigurationModel() {
+ return InvariantStereotypeConfigurationFactory.eINSTANCE.createInvariantStereotypeConfiguration();
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeCreationElementValidator.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeCreationElementValidator.java
new file mode 100644
index 00000000000..078a76cf6e8
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeCreationElementValidator.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IInvariantCreationElementValidator;
+import org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration.InvariantStereotypeConfiguration;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Profile;
+
+
+
+/**
+ * @author RS211865
+ */
+public class InvariantStereotypeCreationElementValidator implements IInvariantCreationElementValidator<InvariantStereotypeConfiguration> {
+
+ private String stereotypeQualifiedName;
+ private String requiredProfile;
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean canCreate(CreateElementRequest request) {
+ // check basic element type can be created
+
+ // check container is a UML element
+ EObject container = request.getContainer();
+ if(!(container instanceof Element)) {
+ return false;
+ }
+
+ Package nearestPackage = ((Element)container).getNearestPackage();
+ if(nearestPackage == null) {
+ // impossible to check the applied profiles for the container
+ return false;
+ }
+
+ Profile appliedProfile = nearestPackage.getAppliedProfile(requiredProfile, true);
+ return appliedProfile !=null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(InvariantStereotypeConfiguration configuration) {
+ stereotypeQualifiedName = configuration.getStereotypeQualifiedName();
+ requiredProfile = configuration.getRequiredProfile();
+
+ if(requiredProfile == null) {
+ // try to find the profile qualified name from the qualified stereotype name
+ requiredProfile = stereotypeQualifiedName.substring(stereotypeQualifiedName.lastIndexOf(NamedElement.SEPARATOR));
+ }
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeEditHelperAdvice.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeEditHelperAdvice.java
new file mode 100644
index 00000000000..c510e0b259b
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeEditHelperAdvice.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration;
+
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IConfigurableEditHelperAdvice;
+
+
+/**
+ * EditHelperAdvice for Stereotype application invariant
+ */
+public class InvariantStereotypeEditHelperAdvice extends AbstractEditHelperAdvice implements IConfigurableEditHelperAdvice<InvariantStereotypeConfiguration> {
+
+ private String stereotypeQualifiedName;
+
+ /**
+ *
+ */
+ public InvariantStereotypeEditHelperAdvice() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(InvariantStereotypeConfiguration ruleConfiguration) {
+ setStereotypeQualifiedName(ruleConfiguration.getStereotypeQualifiedName());
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean approveRequest(IEditCommandRequest request) {
+ // check for stereotype application. Possible in the request system ?!
+ return super.approveRequest(request);
+ }
+
+ /**
+ * @return the stereotypeQualifiedName
+ */
+ public String getStereotypeQualifiedName() {
+ return stereotypeQualifiedName;
+ }
+
+ /**
+ * @param stereotypeQualifiedName the stereotypeQualifiedName to set
+ */
+ public void setStereotypeQualifiedName(String stereotypeQualifiedName) {
+ this.stereotypeQualifiedName = stereotypeQualifiedName;
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeElementMatcher.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeElementMatcher.java
new file mode 100644
index 00000000000..d9ac1bbc95a
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/invariantstereotypeconfiguration/InvariantStereotypeElementMatcher.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.tools.extendedtypes.invariantstereotypeconfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.IConfigurableElementMatcher;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Stereotype;
+
+
+/**
+ * @author RS211865
+ */
+public class InvariantStereotypeElementMatcher implements IConfigurableElementMatcher<InvariantStereotypeConfiguration> {
+
+ private String stereotypeQualifiedName;
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean matches(EObject eObject) {
+
+ if(!(eObject instanceof Element)) {
+ return false;
+ }
+
+ Stereotype appliedStereotype = ((Element)eObject).getAppliedStereotype(getStereotypeQualifiedName());
+ return appliedStereotype !=null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(InvariantStereotypeConfiguration ruleConfiguration) {
+ setStereotypeQualifiedName(ruleConfiguration.getStereotypeQualifiedName());
+ }
+
+ /**
+ * @return the stereotypeQualifiedName
+ */
+ public String getStereotypeQualifiedName() {
+ return stereotypeQualifiedName;
+ }
+
+ /**
+ * @param stereotypeQualifiedName the stereotypeQualifiedName to set
+ */
+ public void setStereotypeQualifiedName(String stereotypeQualifiedName) {
+ this.stereotypeQualifiedName = stereotypeQualifiedName;
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/providers/ApplyStereotypeActionProvider.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/providers/ApplyStereotypeActionProvider.java
deleted file mode 100644
index 9a5a9adf0fa..00000000000
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/providers/ApplyStereotypeActionProvider.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.tools.extendedtypes.providers;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
-import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
-import org.eclipse.gmf.runtime.common.core.service.IOperation;
-import org.eclipse.gmf.runtime.emf.type.core.EditHelperContext;
-import org.eclipse.gmf.runtime.emf.type.core.IClientContext;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.AbstractEditCommandRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
-import org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.providers.GetAllExtendedElementTypeActionProvidersOperation;
-import org.eclipse.papyrus.infra.extendedtypes.providers.GetExtendedElementTypeActionProviderOperation;
-import org.eclipse.papyrus.infra.extendedtypes.providers.IExtendedElementTypeActionProvider;
-import org.eclipse.papyrus.uml.tools.extendedtypes.Activator;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration;
-import org.eclipse.papyrus.uml.tools.extendedtypes.applystereotypeactionconfiguration.StereotypeToApply;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Profile;
-import org.eclipse.uml2.uml.Stereotype;
-
-/**
- * Provider for Action that applies stereotypes to an element on creation
- */
-public class ApplyStereotypeActionProvider extends AbstractProvider implements IExtendedElementTypeActionProvider {
-
- /**
- * {@inheritDoc}
- */
- public boolean provides(IOperation operation) {
- if(operation instanceof GetAllExtendedElementTypeActionProvidersOperation) {
- return true;
- }
- if(operation instanceof GetExtendedElementTypeActionProviderOperation) {
- return (((GetExtendedElementTypeActionProviderOperation)operation).getActionConfiguration() instanceof ApplyStereotypeActionConfiguration);
- }
- return false;
- }
-
- /**
- * {@inheritDoc}
- */
- public ICommand getICommand(List<? extends Object> elementsToEdit, ActionConfiguration configuration) {
- // try to create the command that will apply the stereotypes
- if(!(configuration instanceof ApplyStereotypeActionConfiguration)) {
- Activator.INSTANCE.log("Trying to configure a stereotype action configuration with a configuration which is not a stereotype one: " + configuration);
- return UnexecutableCommand.INSTANCE;
- }
-
- CompositeCommand compositeCommand = new CompositeCommand("Apply Stereotypes");
- ApplyStereotypeActionConfiguration stereotypeActionConfiguration = (ApplyStereotypeActionConfiguration)configuration;
-
- // for each object in the list of eobjects to edit, create the stereotype apply command
- for(Object objectToEdit : elementsToEdit) {
- if(objectToEdit instanceof Element) {
- //1. retrieve the list of stereotypes
- for(StereotypeToApply stereotypeToApply : stereotypeActionConfiguration.getStereotypesToApply()) {
- String qualifiedName = stereotypeToApply.getStereotypeQualifiedName();
-
- ICommand command = new ApplyStereotypeCommand((Element)objectToEdit, new ApplyStereotypeRequest(TransactionUtil.getEditingDomain(objectToEdit), (Element)objectToEdit, qualifiedName));
- compositeCommand.add(command);
- }
- } else {
- Activator.INSTANCE.log("Impossible to cast the element to edit into an Element, trying to apply a stereotype on it");
- }
- }
- return compositeCommand;
- }
-
- /**
- * {@inheritDoc}
- */
- public ICommand getBeforeCreateValidationCommand(List<? extends Object> elementsToEdit, ActionConfiguration configuration) {
- // here, element to edit should be the parent of the created element on which the stereotype is applied.
- ApplyStereotypeActionConfiguration stereotypeActionConfiguration = (ApplyStereotypeActionConfiguration)configuration;
-
- for(Object objectToEdit : elementsToEdit) {
- for(StereotypeToApply stereotypeToApply : stereotypeActionConfiguration.getStereotypesToApply()) {
- // compare this list to accessible profiles from container.
- if(objectToEdit instanceof Element) {
- Element elementToEdit = ((Element)objectToEdit);
- org.eclipse.uml2.uml.Package ownerPackage = elementToEdit.getNearestPackage();
- if(ownerPackage == null) {
- return UnexecutableCommand.INSTANCE;
- }
- for(String requiredProfileName : stereotypeToApply.getRequiredProfiles()) {
- Profile profile = ownerPackage.getAppliedProfile(requiredProfileName, true);
- if(profile == null) {
- return UnexecutableCommand.INSTANCE;
- }
- }
- }
- }
- }
- // returns a null command, which means it is possible to apply the stereotype
- return null;
- }
-
- /**
- * {@inheritDoc}
- */
- public void setConfiguration(IConfigurationElement element) {
- // something to do here ?
- }
-
- /**
- * Command to apply stereotypes and set stereotype application properties values
- */
- public class ApplyStereotypeCommand extends EditElementCommand {
-
- /**
- * Create a new {@link ApplyStereotypeCommand}.
- *
- * @param elementToEdit
- * element to edit
- * @param request
- * the request used to modify the model
- */
- protected ApplyStereotypeCommand(Element elementToEdit, IEditCommandRequest request) {
- super("Apply Stereotype Command", elementToEdit, request);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
- // retrieve the stereotype
- Stereotype stereotypeToApply = getElementToEdit().getApplicableStereotype(getRequest().getStereotypeQualifiedName());
- if(stereotypeToApply == null) {
- return CommandResult.newErrorCommandResult("Impossible to find the stereotype " + getRequest().getStereotypeQualifiedName() + " for the element " + getElementToEdit());
- }
- EObject result = getElementToEdit().applyStereotype(stereotypeToApply);
- if(result != null) {
- return CommandResult.newOKCommandResult();
- }
- return CommandResult.newErrorCommandResult("Impossible to apply the stereotype " + stereotypeToApply + " for the element " + getElementToEdit());
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean canExecute() {
- // check the stereotype is present and can be applied
- Stereotype stereotypeToApply = getElementToEdit().getApplicableStereotype(getRequest().getStereotypeQualifiedName());
- if(stereotypeToApply == null) {
- return false;
- }
- return super.canExecute();
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected Element getElementToEdit() {
- return (Element)super.getElementToEdit();
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected ApplyStereotypeRequest getRequest() {
- return (ApplyStereotypeRequest)super.getRequest();
- }
- }
-
- /**
- * Request to apply stereotype on an element
- */
- public class ApplyStereotypeRequest extends AbstractEditCommandRequest {
-
- /** element to edit */
- private final Element elementToEdit;
-
- /** stererotype qualified name */
- private final String stereotypeQualifiedName;
-
- /**
- * Constructor.
- *
- * @param editingDomain
- * editing domain in which the command will be executed
- * @param elementToEdit
- * element on which the stereotype should be applied
- * @param stereotypeQualifiedName
- * qualified name of the stereotype to apply
- */
- protected ApplyStereotypeRequest(TransactionalEditingDomain editingDomain, Element elementToEdit, String stereotypeQualifiedName) {
- super(editingDomain);
- this.elementToEdit = elementToEdit;
- this.stereotypeQualifiedName = stereotypeQualifiedName;
- }
-
- /**
- * {@inheritDoc}
- */
- public Object getEditHelperContext() {
- IClientContext context = getClientContext();
-
- if(context == null) {
- return getElementToEdit();
- } else {
- return new EditHelperContext(getElementToEdit(), context);
- }
- }
-
- /**
- * Returns the element to edit
- *
- * @return the element to edit
- */
- public Element getElementToEdit() {
- return elementToEdit;
- }
-
- /**
- * Returns the qualified name of the stereotype to apply
- *
- * @return the qualified name of the stereotype to apply
- */
- public String getStereotypeQualifiedName() {
- return stereotypeQualifiedName;
- }
- }
-
-}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcher.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcher.java
new file mode 100644
index 00000000000..04f1fde860d
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcher.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.uml2.uml.Element;
+
+
+/**
+ * Matcher for UML elements that should be stereotypes
+ */
+public class StereotypedElementMatcher implements IElementMatcher {
+
+ private String stereotypedQualifiedName;
+
+ /**
+ * @param stereotypedQualifiedName
+ */
+ public StereotypedElementMatcher(String stereotypedQualifiedName) {
+ this.setStereotypedQualifiedName(stereotypedQualifiedName);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean matches(EObject eObject) {
+ if(!(eObject instanceof Element)) {
+ return false;
+ }
+
+ return ((Element)eObject).getAppliedStereotype(getStereotypedQualifiedName()) != null;
+
+ }
+
+ /**
+ * @return the stereotypedQualifiedName
+ */
+ public String getStereotypedQualifiedName() {
+ return stereotypedQualifiedName;
+ }
+
+ /**
+ * @param stereotypedQualifiedName the stereotypedQualifiedName to set
+ */
+ public void setStereotypedQualifiedName(String stereotypedQualifiedName) {
+ this.stereotypedQualifiedName = stereotypedQualifiedName;
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherFactory.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherFactory.java
new file mode 100644
index 00000000000..157961aa40d
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherFactory.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.IElementMatcherFactory;
+import org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration.StereotypedElementMatcherConfiguration;
+
+
+/**
+ * Factory to create matcher based on stereotypes applied on the element
+ */
+public class StereotypedElementMatcherFactory implements IElementMatcherFactory<StereotypedElementMatcherConfiguration> {
+
+ /**
+ * {@inheritDoc}
+ */
+ public StereotypedElementMatcher createElementMatcher(StereotypedElementMatcherConfiguration configuration) {
+ return new StereotypedElementMatcher(configuration.getStereotypedQualifiedName());
+ }
+}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherModelCreation.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherModelCreation.java
new file mode 100644
index 00000000000..6545177af3c
--- /dev/null
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.extendedtypes/src/org/eclipse/papyrus/uml/tools/extendedtypes/stereotypedelementmatcherconfiguration/StereotypedElementMatcherModelCreation.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.tools.extendedtypes.stereotypedelementmatcherconfiguration;
+
+import org.eclipse.papyrus.infra.extendedtypes.IElementMatcherConfigurationModelCreation;
+
+
+/**
+ * Factory in charge of the creation of a new element matcher
+ */
+public class StereotypedElementMatcherModelCreation implements IElementMatcherConfigurationModelCreation<StereotypedElementMatcherConfiguration>{
+
+ /**
+ * {@inheritDoc}
+ */
+ public StereotypedElementMatcherConfiguration createConfigurationModel() {
+ return StereotypedElementMatcherConfigurationFactory.eINSTANCE.createStereotypedElementMatcherConfiguration();
+ }
+}
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/.project b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/.project
index f32f0dff98c..11857429c80 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/.project
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/.project
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.infra.extendedtypes.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.extendedtypes.tests.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/META-INF/MANIFEST.MF
index 80f5bcce193..7e3743e3e37 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/META-INF/MANIFEST.MF
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/META-INF/MANIFEST.MF
@@ -1,15 +1,25 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.papyrus.uml.service.types;bundle-version="0.10.1",
- org.junit;bundle-version="4.10.0"
-Export-Package: org.eclipse.papyrus.infra.extendedtypes
-Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.papyrus.infra.extendedtypes;bundle-version=
- "0.10.0"
-Bundle-Version: 0.10.1.qualifier
-Bundle-Name: %fragmentName
-Bundle-Localization: fragment
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.extendedtypes.tests;singleton
- :=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.papyrus.uml.service.types;bundle-version="0.10.1",
+ org.junit;bundle-version="4.10.0",
+ org.eclipse.papyrus.junit.utils;bundle-version="0.10.1",
+ org.eclipse.papyrus.uml.tools;bundle-version="0.10.1",
+ org.eclipse.papyrus.infra.newchild,
+ org.eclipse.papyrus.uml.diagram.common,
+ org.eclipse.papyrus.infra.core;bundle-version="0.10.1",
+ org.eclipse.emf.transaction;bundle-version="1.4.0",
+ org.eclipse.gmf.runtime.emf.core;bundle-version="1.7.0",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.7.0",
+ org.eclipse.gmf.runtime.diagram.ui
+Export-Package: org.eclipse.papyrus.infra.extendedtypes.tests
+Bundle-Vendor: %providerName
+Bundle-Version: 0.10.1.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.infra.extendedtypes.tests;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.papyrus.infra.extendedtypes.tests.Activator
+
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/build.properties b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/build.properties
index 28d3b56ba7d..89abf6ef7cc 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/build.properties
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/build.properties
@@ -1,9 +1,9 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- fragment.xml,\
- icons/,\
- model/,\
- fragment.properties,\
- about.html
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ icons/,\
+ model/,\
+ plugin.properties,\
+ about.html
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/fragment.xml b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/fragment.xml
deleted file mode 100644
index 323f3e28aca..00000000000
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<fragment>
- <extension
- point="org.eclipse.papyrus.infra.extendedtypes.extendedTypesSetConfiguration">
- <configuration
- description="Test - Model for Extended Element Type Set"
- icon="icons/debug.gif"
- name="Test1 Model for Extended Element Type Set"
- path="model/Test1.extendedtypes"
- id="org.eclipse.papyrus.infra.extendedtypes.tests.test1">
- </configuration>
- </extension>
-
-</fragment>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/icons/M.gif b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/icons/M.gif
new file mode 100644
index 00000000000..f9a5b239d6c
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/icons/M.gif
Binary files differ
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/icons/O.gif b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/icons/O.gif
new file mode 100644
index 00000000000..e6ce0916227
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/icons/O.gif
Binary files differ
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/icons/Values.gif b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/icons/Values.gif
new file mode 100644
index 00000000000..f1f019535ea
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/icons/Values.gif
Binary files differ
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/ExtendedTypesTestsProfile.profile.di b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/ExtendedTypesTestsProfile.profile.di
new file mode 100644
index 00000000000..2f52d7be634
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/ExtendedTypesTestsProfile.profile.di
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
+ <pageList>
+ <availablePage>
+ <emfPageIdentifier href="ExtendedTypesTestsProfile.profile.notation#_sK_p8Gb7EeOyHY5evmQkxA"/>
+ </availablePage>
+ </pageList>
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="ExtendedTypesTestsProfile.profile.notation#_sK_p8Gb7EeOyHY5evmQkxA"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/ExtendedTypesTestsProfile.profile.notation b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/ExtendedTypesTestsProfile.profile.notation
new file mode 100644
index 00000000000..42057e704c1
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/ExtendedTypesTestsProfile.profile.notation
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xmi:id="_sK_p8Gb7EeOyHY5evmQkxA" type="PapyrusUMLProfileDiagram" name="Main" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_VqWqYGcCEeO5043Nsj3xUw" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VqgbYmcCEeO5043Nsj3xUw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VqgbY2cCEeO5043Nsj3xUw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VqgbZGcCEeO5043Nsj3xUw" key="StereotypeList" value="StandardProfileL2::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VqgbZWcCEeO5043Nsj3xUw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VqgbZmcCEeO5043Nsj3xUw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VqgbZ2cCEeO5043Nsj3xUw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_VqgbYGcCEeO5043Nsj3xUw" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VqgbYWcCEeO5043Nsj3xUw" x="422" y="304"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_WnzKEGcCEeO5043Nsj3xUw" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_WnzKEmcCEeO5043Nsj3xUw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Wn8UAGcCEeO5043Nsj3xUw" type="1071">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wn8UCmcCEeO5043Nsj3xUw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wn8UC2cCEeO5043Nsj3xUw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Wn8UAWcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Wn8UAmcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Wn8UA2cCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wn8UBGcCEeO5043Nsj3xUw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Wn8UBWcCEeO5043Nsj3xUw" visible="false" type="1019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wn8UDGcCEeO5043Nsj3xUw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wn8UDWcCEeO5043Nsj3xUw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Wn8UBmcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Wn8UB2cCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Wn8UCGcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wn8UCWcCEeO5043Nsj3xUw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="ExtendedTypesTestsProfile.profile.uml#_WnpZEGcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WnzKEWcCEeO5043Nsj3xUw" x="251" y="496" width="213" height="88"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ZAb1YWcCEeO5043Nsj3xUw" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZAb1Y2cCEeO5043Nsj3xUw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ZAb1ZGcCEeO5043Nsj3xUw" type="1071">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZAb1bmcCEeO5043Nsj3xUw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZAb1b2cCEeO5043Nsj3xUw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_em-nIGcCEeO5043Nsj3xUw" type="3002">
+ <element xmi:type="uml:Property" href="ExtendedTypesTestsProfile.profile.uml#_ekTGkGcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_em-nIWcCEeO5043Nsj3xUw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ZAb1ZWcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ZAb1ZmcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ZAb1Z2cCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZAb1aGcCEeO5043Nsj3xUw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ZAb1aWcCEeO5043Nsj3xUw" visible="false" type="1019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZAb1cGcCEeO5043Nsj3xUw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZAb1cWcCEeO5043Nsj3xUw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ZAb1amcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ZAb1a2cCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ZAb1bGcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZAb1bWcCEeO5043Nsj3xUw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="ExtendedTypesTestsProfile.profile.uml#_ZAb1YGcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZAb1YmcCEeO5043Nsj3xUw" x="477" y="496" width="241" height="96"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_hWruoGcCEeO5043Nsj3xUw" type="2006">
+ <children xmi:type="notation:DecorationNode" xmi:id="_hWruomcCEeO5043Nsj3xUw" type="5023"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_hWruo2cCEeO5043Nsj3xUw" type="1063">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hW04kGcCEeO5043Nsj3xUw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hW04kWcCEeO5043Nsj3xUw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_ixk_UGcCEeO5043Nsj3xUw" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="ExtendedTypesTestsProfile.profile.uml#_ixb1YGcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ixk_UWcCEeO5043Nsj3xUw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pLd5kGcCEeO5043Nsj3xUw" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="ExtendedTypesTestsProfile.profile.uml#_motB4GcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pLd5kWcCEeO5043Nsj3xUw" x="70" y="56"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pLd5kmcCEeO5043Nsj3xUw" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="ExtendedTypesTestsProfile.profile.uml#_n328oGcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pLd5k2cCEeO5043Nsj3xUw" x="70" y="56"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_hWrupGcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_hWrupWcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_hWrupmcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hWrup2cCEeO5043Nsj3xUw"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="ExtendedTypesTestsProfile.profile.uml#_hWh9oGcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hWruoWcCEeO5043Nsj3xUw" x="971" y="246" width="119" height="166"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_vpg7EWcCEeO5043Nsj3xUw" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vpg7FWcCEeO5043Nsj3xUw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vpg7FmcCEeO5043Nsj3xUw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vpg7F2cCEeO5043Nsj3xUw" key="StereotypeList" value="StandardProfileL2::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vpg7GGcCEeO5043Nsj3xUw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vpg7GWcCEeO5043Nsj3xUw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vpg7GmcCEeO5043Nsj3xUw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vpg7E2cCEeO5043Nsj3xUw" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vpg7FGcCEeO5043Nsj3xUw" x="1180" y="272" width="185" height="75"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_xUCjMWcCEeO5043Nsj3xUw" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_xUCjM2cCEeO5043Nsj3xUw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xUCjNGcCEeO5043Nsj3xUw" type="1071">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xUCjPmcCEeO5043Nsj3xUw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xULtIGcCEeO5043Nsj3xUw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xUCjNWcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xUCjNmcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xUCjN2cCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xUCjOGcCEeO5043Nsj3xUw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xUCjOWcCEeO5043Nsj3xUw" visible="false" type="1019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xULtIWcCEeO5043Nsj3xUw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xULtImcCEeO5043Nsj3xUw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xUCjOmcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xUCjO2cCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xUCjPGcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xUCjPWcCEeO5043Nsj3xUw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="ExtendedTypesTestsProfile.profile.uml#_xUCjMGcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xUCjMmcCEeO5043Nsj3xUw" x="1180" y="470" width="188" height="94"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_75QOYWcCEeO5043Nsj3xUw" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_75QOY2cCEeO5043Nsj3xUw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_75QOZGcCEeO5043Nsj3xUw" type="1071">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_75QObmcCEeO5043Nsj3xUw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_75QOb2cCEeO5043Nsj3xUw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_75QOZWcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_75QOZmcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_75QOZ2cCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_75QOaGcCEeO5043Nsj3xUw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_75QOaWcCEeO5043Nsj3xUw" visible="false" type="1019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_75QOcGcCEeO5043Nsj3xUw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_75QOcWcCEeO5043Nsj3xUw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_75QOamcCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_75QOa2cCEeO5043Nsj3xUw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_75QObGcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_75QObWcCEeO5043Nsj3xUw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="ExtendedTypesTestsProfile.profile.uml#_75QOYGcCEeO5043Nsj3xUw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_75QOYmcCEeO5043Nsj3xUw" x="1420" y="469" width="211" height="102"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_sK_p8Wb7EeOyHY5evmQkxA"/>
+ <element xmi:type="uml:Profile" href="ExtendedTypesTestsProfile.profile.uml#_sK148Gb7EeOyHY5evmQkxA"/>
+ <edges xmi:type="notation:Connector" xmi:id="_tmJVIGcCEeO5043Nsj3xUw" type="1013" source="_WnzKEGcCEeO5043Nsj3xUw" target="_VqWqYGcCEeO5043Nsj3xUw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_tmJVIWcCEeO5043Nsj3xUw"/>
+ <element xmi:type="uml:Extension" href="ExtendedTypesTestsProfile.profile.uml#_tmALMWcCEeO5043Nsj3xUw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tmJVImcCEeO5043Nsj3xUw" points="[2, -4, -81, 167]$[91, -146, 8, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tmcQEGcCEeO5043Nsj3xUw" id="(0.647887323943662,0.045454545454545456)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_uA7MoGcCEeO5043Nsj3xUw" type="1013" source="_ZAb1YWcCEeO5043Nsj3xUw" target="_VqWqYGcCEeO5043Nsj3xUw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_uA7MoWcCEeO5043Nsj3xUw"/>
+ <element xmi:type="uml:Extension" href="ExtendedTypesTestsProfile.profile.uml#_uAyCsWcCEeO5043Nsj3xUw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uA7MomcCEeO5043Nsj3xUw" points="[-10, -15, 102, 167]$[-109, -157, 3, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uA7Mo2cCEeO5043Nsj3xUw" id="(0.44398340248962653,0.15625)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-iHHAGcCEeO5043Nsj3xUw" type="1013" source="_xUCjMWcCEeO5043Nsj3xUw" target="_vpg7EWcCEeO5043Nsj3xUw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_-iHHAWcCEeO5043Nsj3xUw"/>
+ <element xmi:type="uml:Extension" href="ExtendedTypesTestsProfile.profile.uml#_-h9WAWcCEeO5043Nsj3xUw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-iHHAmcCEeO5043Nsj3xUw" points="[1, -14, -7, 161]$[13, -137, 5, 38]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-iHHA2cCEeO5043Nsj3xUw" id="(0.44680851063829785,0.14893617021276595)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-4uQMGcCEeO5043Nsj3xUw" type="1013" source="_75QOYWcCEeO5043Nsj3xUw" target="_vpg7EWcCEeO5043Nsj3xUw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_-4uQMWcCEeO5043Nsj3xUw"/>
+ <element xmi:type="uml:Extension" href="ExtendedTypesTestsProfile.profile.uml#_-4kfMWcCEeO5043Nsj3xUw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-4uQMmcCEeO5043Nsj3xUw" points="[0, -15, 246, 160]$[0, -72, 246, 103]$[-246, -72, 0, 103]$[-246, -137, 0, 38]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-4uQM2cCEeO5043Nsj3xUw" id="(0.46445497630331756,0.14705882352941177)"/>
+ </edges>
+</notation:Diagram>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/ExtendedTypesTestsProfile.profile.uml b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/ExtendedTypesTestsProfile.profile.uml
new file mode 100644
index 00000000000..b3609aeb2b7
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/ExtendedTypesTestsProfile.profile.uml
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Profile xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xmi:id="_sK148Gb7EeOyHY5evmQkxA" name="ExtendedTypesTestsProfile" metaclassReference="_VqM5YGcCEeO5043Nsj3xUw _vpg7EGcCEeO5043Nsj3xUw" metamodelReference="_sK148Wb7EeOyHY5evmQkxA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CwRwkWcDEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_5IfFAWcEEeO5043Nsj3xUw" name="ExtendedTypesTestsProfile" nsURI="http:///schemas/ExtendedTypesTestsProfile/_5IfFAGcEEeO5043Nsj3xUw/2" nsPrefix="ExtendedTypesTestsProfile">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5IgTJGcEEeO5043Nsj3xUw" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5IgTJWcEEeO5043Nsj3xUw" key="Version" value="0.0.3"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5IgTJmcEEeO5043Nsj3xUw" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5IgTJ2cEEeO5043Nsj3xUw" key="Copyright" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5IgTKGcEEeO5043Nsj3xUw" key="Date" value="2013-12-17"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5IgTKWcEEeO5043Nsj3xUw" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_5IfFAmcEEeO5043Nsj3xUw" name="PackageWithComponents">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5IfFA2cEEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WnpZEGcCEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_5IfFBGcEEeO5043Nsj3xUw" name="base_Element" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_5IfFBmcEEeO5043Nsj3xUw" name="Module">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5IfFB2cEEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ZAb1YGcCEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_5IfFCGcEEeO5043Nsj3xUw" name="kind" ordered="false" lowerBound="1" eType="_5IfFDGcEEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_5IfFCmcEEeO5043Nsj3xUw" name="base_Element" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_5IfFDGcEEeO5043Nsj3xUw" name="ModuleKind">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5IfFDWcEEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_hWh9oGcCEeO5043Nsj3xUw"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5IfFDmcEEeO5043Nsj3xUw" name="Mechanical"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5IfsEGcEEeO5043Nsj3xUw" name="Electrical" value="1"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_5IfsEWcEEeO5043Nsj3xUw" name="Hydraulic" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_5IfsEmcEEeO5043Nsj3xUw" name="BlockExtension">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5IfsE2cEEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_xUCjMGcCEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_5IfsFGcEEeO5043Nsj3xUw" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_5IfsFmcEEeO5043Nsj3xUw" name="ClassExtension">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5IfsF2cEEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_75QOYGcCEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_5IfsGGcEEeO5043Nsj3xUw" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_CD2S8WcEEeO5043Nsj3xUw" name="ExtendedTypesTestsProfile" nsURI="http:///schemas/ExtendedTypesTestsProfile/_CD2S8GcEEeO5043Nsj3xUw/1" nsPrefix="ExtendedTypesTestsProfile">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CD2TDWcEEeO5043Nsj3xUw" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CD2TDmcEEeO5043Nsj3xUw" key="Version" value="0.0.2"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CD2TD2cEEeO5043Nsj3xUw" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CD2TEGcEEeO5043Nsj3xUw" key="Copyright" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CD2TEWcEEeO5043Nsj3xUw" key="Date" value="2013-12-17"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CD2TEmcEEeO5043Nsj3xUw" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_CD2S8mcEEeO5043Nsj3xUw" name="PackageWithComponent">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CD2S82cEEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WnpZEGcCEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CD2S9GcEEeO5043Nsj3xUw" name="base_Element" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_CD2S9mcEEeO5043Nsj3xUw" name="Module">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CD2S92cEEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ZAb1YGcCEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CD2S-GcEEeO5043Nsj3xUw" name="kind" ordered="false" lowerBound="1" eType="_CD2S_GcEEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CD2S-mcEEeO5043Nsj3xUw" name="base_Element" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_CD2S_GcEEeO5043Nsj3xUw" name="ModuleKind">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CD2S_WcEEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_hWh9oGcCEeO5043Nsj3xUw"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CD2S_mcEEeO5043Nsj3xUw" name="Mechanical"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CD2S_2cEEeO5043Nsj3xUw" name="Electrical" value="1"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CD2TAGcEEeO5043Nsj3xUw" name="Hydraulic" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_CD2TAWcEEeO5043Nsj3xUw" name="BlockExtension">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CD2TAmcEEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_xUCjMGcCEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CD2TA2cEEeO5043Nsj3xUw" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_CD2TBWcEEeO5043Nsj3xUw" name="ClassExtension">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CD2TBmcEEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_75QOYGcCEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CD2TB2cEEeO5043Nsj3xUw" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_CwRwkmcDEeO5043Nsj3xUw" name="Profile" nsURI="http:///schemas/Profile/_CwRwkGcDEeO5043Nsj3xUw/0" nsPrefix="Profile">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CwbhlGcDEeO5043Nsj3xUw" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CwbhlWcDEeO5043Nsj3xUw" key="Version" value="0.0.1"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CwbhlmcDEeO5043Nsj3xUw" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Cwbhl2cDEeO5043Nsj3xUw" key="Copyright" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CwbhmGcDEeO5043Nsj3xUw" key="Date" value="2013-12-17"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CwbhmWcDEeO5043Nsj3xUw" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_CwRwk2cDEeO5043Nsj3xUw" name="PackageWithComponent">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CwRwlGcDEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WnpZEGcCEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CwRwlWcDEeO5043Nsj3xUw" name="base_Element" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_CwRwl2cDEeO5043Nsj3xUw" name="Module">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CwRwmGcDEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ZAb1YGcCEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_CwRwmWcDEeO5043Nsj3xUw" name="kind" ordered="false" lowerBound="1" eType="_CwRwnWcDEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CwRwm2cDEeO5043Nsj3xUw" name="base_Element" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_CwRwnWcDEeO5043Nsj3xUw" name="ModuleKind">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CwRwnmcDEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_hWh9oGcCEeO5043Nsj3xUw"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CwRwn2cDEeO5043Nsj3xUw" name="Mechanical"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CwRwoGcDEeO5043Nsj3xUw" name="Electrical" value="1"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_CwRwoWcDEeO5043Nsj3xUw" name="Hydraulic" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_CwRwomcDEeO5043Nsj3xUw" name="BlockExtension">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CwRwo2cDEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_xUCjMGcCEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CwRwpGcDEeO5043Nsj3xUw" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_CwRwpmcDEeO5043Nsj3xUw" name="ClassExtension">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CwRwp2cDEeO5043Nsj3xUw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_75QOYGcCEeO5043Nsj3xUw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_CwRwqGcDEeO5043Nsj3xUw" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ </eAnnotations>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_VqM5YGcCEeO5043Nsj3xUw" alias="Element">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_vpg7EGcCEeO5043Nsj3xUw" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_sK148Wb7EeOyHY5evmQkxA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_sK148mb7EeOyHY5evmQkxA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_WnpZEGcCEeO5043Nsj3xUw" name="PackageWithComponents">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_tmALMGcCEeO5043Nsj3xUw" name="base_Element" association="_tmALMWcCEeO5043Nsj3xUw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ZAb1YGcCEeO5043Nsj3xUw" name="Module">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_ekTGkGcCEeO5043Nsj3xUw" name="kind" visibility="public" type="_hWh9oGcCEeO5043Nsj3xUw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BtVF0GcDEeO5043Nsj3xUw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BtVF0WcDEeO5043Nsj3xUw" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_BtVF0mcDEeO5043Nsj3xUw">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_uAyCsGcCEeO5043Nsj3xUw" name="base_Element" association="_uAyCsWcCEeO5043Nsj3xUw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_hWh9oGcCEeO5043Nsj3xUw" name="ModuleKind">
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ixb1YGcCEeO5043Nsj3xUw" name="Mechanical"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_motB4GcCEeO5043Nsj3xUw" name="Electrical"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_n328oGcCEeO5043Nsj3xUw" name="Hydraulic"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_tmALMWcCEeO5043Nsj3xUw" name="E_PackageWithComponents_Element1" memberEnd="_tmALMmcCEeO5043Nsj3xUw _tmALMGcCEeO5043Nsj3xUw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_tmALMmcCEeO5043Nsj3xUw" name="extension_PackageWithComponents" type="_WnpZEGcCEeO5043Nsj3xUw" aggregation="composite" association="_tmALMWcCEeO5043Nsj3xUw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_uAyCsWcCEeO5043Nsj3xUw" name="E_Module_Element1" memberEnd="_uAyCsmcCEeO5043Nsj3xUw _uAyCsGcCEeO5043Nsj3xUw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_uAyCsmcCEeO5043Nsj3xUw" name="extension_Module" type="_ZAb1YGcCEeO5043Nsj3xUw" aggregation="composite" association="_uAyCsWcCEeO5043Nsj3xUw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_xUCjMGcCEeO5043Nsj3xUw" name="BlockExtension">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_-h9WAGcCEeO5043Nsj3xUw" name="base_Class" association="_-h9WAWcCEeO5043Nsj3xUw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_75QOYGcCEeO5043Nsj3xUw" name="ClassExtension">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_-4kfMGcCEeO5043Nsj3xUw" name="base_Class" association="_-4kfMWcCEeO5043Nsj3xUw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_-h9WAWcCEeO5043Nsj3xUw" name="E_BlockExtension_Class1" memberEnd="_-h9WAmcCEeO5043Nsj3xUw _-h9WAGcCEeO5043Nsj3xUw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-h9WAmcCEeO5043Nsj3xUw" name="extension_BlockExtension" type="_xUCjMGcCEeO5043Nsj3xUw" aggregation="composite" association="_-h9WAWcCEeO5043Nsj3xUw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_-4kfMWcCEeO5043Nsj3xUw" name="E_ClassExtension_Class1" memberEnd="_-4kfMmcCEeO5043Nsj3xUw _-4kfMGcCEeO5043Nsj3xUw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-4kfMmcCEeO5043Nsj3xUw" name="extension_ClassExtension" type="_75QOYGcCEeO5043Nsj3xUw" aggregation="composite" association="_-4kfMWcCEeO5043Nsj3xUw"/>
+ </packagedElement>
+</uml:Profile>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/Test.extendedtypes b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/Test.extendedtypes
new file mode 100644
index 00000000000..b7220d6d310
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/Test.extendedtypes
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<extendedtypes:ExtendedElementTypeSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:extendedtypes="http://www.eclipse.org/papyrus/infra/extendedtypes/1.0" xmlns:invariantcontainerconfiguration="http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/container/1.0" xmlns:invariantsemantictypeconfiguration="http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/1.0" xmlns:invariantstereotypeconfiguration="http://www.eclipse.org/papyrus/infra/extendedtypes/semantictype/invariant/stereotype/1.0" name="Tests extended types" identifier="org.eclipse.papyrus.infra.extendedtypes.tests.tests">
+ <elementType xsi:type="invariantsemantictypeconfiguration:InvariantSemanticTypeConfiguration" name="Component in specific package only" identifier="org.eclipse.papyrus.infra.extendedtypes.tests.specificcomponent">
+ <iconEntry iconPath="icons/full/obj16/add_obj.gif" bundleId="org.eclipse.ui"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.Component</specializedTypesID>
+ <invariantRuleConfiguration xsi:type="invariantcontainerconfiguration:InvariantContainerConfiguration">
+ <permissions childType="org.eclipse.papyrus.uml.Package"/>
+ <permissions childType="org.eclipse.papyrus.infra.extendedtypes.tests.packagewithcomponentsonly" isPermitted="true" isStrict="true"/>
+ </invariantRuleConfiguration>
+ </elementType>
+ <elementType xsi:type="invariantsemantictypeconfiguration:InvariantSemanticTypeConfiguration" name="PackageWithComponentsOnly" description="Package that can contain only components" identifier="org.eclipse.papyrus.infra.extendedtypes.tests.packagewithcomponentsonly">
+ <specializedTypesID>org.eclipse.papyrus.uml.Package</specializedTypesID>
+ <invariantRuleConfiguration xsi:type="invariantstereotypeconfiguration:InvariantStereotypeConfiguration" stereotypeQualifiedName="ExtendedTypesTestsProfile::PackageWithComponents"/>
+ </elementType>
+</extendedtypes:ExtendedElementTypeSet>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/Test.palette.xml b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/Test.palette.xml
new file mode 100644
index 00000000000..809b6ce6015
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/Test.palette.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<paletteDefinition>
+ <content>
+ <drawer iconpath="/icons/drawer.gif" id="ExtendedTypesTests_Drawer"
+ name="Extended Types">
+ <aspectTool description="Create a new Restricted Component"
+ iconpath="platform:/plugin/org.eclipse.papyrus.sysml/icons/blocks/Block.gif"
+ id="extendedtypestests.restrictedcomponent" name="Restricted Component"
+ refToolId="org.eclipse.papyrus.infra.extendedtypes.tests.specificcomponent"></aspectTool>
+ </drawer>
+ </content>
+</paletteDefinition> \ No newline at end of file
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/Test1.extendedtypes b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/Test1.extendedtypes
deleted file mode 100644
index 9eca2d787d3..00000000000
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/Test1.extendedtypes
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<extendedtypes:ExtendedElementTypeSet xmlns:configuration="http://www.eclipse.org/papyrus/core/queries/0.7" xmlns:extendedtypes="http://www.eclipse.org/papyrus/diagram/types/extendedtypes/0.7" id="org.eclipse.papyrus.infra.extendedtypes.tests.test1">
- <elementType name="TestClass1ExtendedElementType " id="org.eclipse.papyrus.infra.extendedtypes.tests.Class1" preValidation="configuration:ModiscoQueryConfiguration ../../org.eclipse.papyrus.core.queries.test/resources/IsNameLongerThanQueryConfiguration1.configuration#/">
- <iconEntry iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
- <specializedTypesID>org.eclipse.papyrus.uml.Class</specializedTypesID>
- </elementType>
- <elementType name="TestClassInPackageExtendedElementType " id="org.eclipse.papyrus.infra.extendedtypes.tests.ClassInPackageOnly" preValidation="configuration:ModiscoQueryConfiguration ../../org.eclipse.papyrus.core.queries.test/resources/IsNameLongerThanQueryConfiguration1.configuration#/ configuration:ModiscoQueryConfiguration ../../org.eclipse.papyrus.core.queries.test/resources/IsStrictInstanceOfPackage.configuration#/">
- <iconEntry iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
- <specializedTypesID>org.eclipse.papyrus.uml.Class</specializedTypesID>
- </elementType>
- <elementType name="TestClassInModelExtendedElementType " id="org.eclipse.papyrus.infra.extendedtypes.tests.ClassInModelOnly" preValidation="configuration:ModiscoQueryConfiguration ../../org.eclipse.papyrus.core.queries.test/resources/IsStrictInstanceOfModel.configuration#/ configuration:ModiscoQueryConfiguration ../../org.eclipse.papyrus.core.queries.test/resources/IsNameLongerThanQueryConfiguration1.configuration#/">
- <iconEntry iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
- <specializedTypesID>org.eclipse.papyrus.uml.Class</specializedTypesID>
- </elementType>
-</extendedtypes:ExtendedElementTypeSet>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/TestMenu.xmi b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/TestMenu.xmi
new file mode 100644
index 00000000000..8a211a6f7de
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/TestMenu.xmi
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ElementCreationMenuModel:Folder
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ElementCreationMenuModel="http://ElementCreationMenuModel"
+ label="Test For Extended Types">
+ <menu xsi:type="ElementCreationMenuModel:CreationMenu"
+ label="specific Component"
+ icon=""
+ elementTypeIdRef="org.eclipse.papyrus.infra.extendedtypes.tests.specificcomponent"/>
+</ElementCreationMenuModel:Folder>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.di b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.di
index 65f88a8052c..d8872ffde77 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.di
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.di
@@ -1,17 +1,20 @@
-<?xml version="1.0" encoding="ASCII"?>
-<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi" xmi:id="_YCELMP1VEd-WkaQf4YgINA">
- <pageList xmi:id="_YCELMf1VEd-WkaQf4YgINA">
- <availablePage xmi:id="_YCg3IP1VEd-WkaQf4YgINA">
- <emfPageIdentifier href="model.notation#_X_rlkP1VEd-WkaQf4YgINA"/>
- </availablePage>
- </pageList>
- <sashModel xmi:id="_YCELMv1VEd-WkaQf4YgINA" currentSelection="_YCELNP1VEd-WkaQf4YgINA">
- <windows xmi:id="_YCELM_1VEd-WkaQf4YgINA">
- <children xsi:type="di:TabFolder" xmi:id="_YCELNP1VEd-WkaQf4YgINA">
- <children xmi:id="_YCg3If1VEd-WkaQf4YgINA">
- <emfPageIdentifier href="model.notation#_X_rlkP1VEd-WkaQf4YgINA"/>
- </children>
- </children>
- </windows>
- </sashModel>
-</di:SashWindowsMngr>
+<?xml version="1.0" encoding="UTF-8"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi" xmi:id="_YCELMP1VEd-WkaQf4YgINA">
+ <pageList xmi:id="_YCELMf1VEd-WkaQf4YgINA">
+ <availablePage>
+ <emfPageIdentifier href="model.notation#_B7UjoGe1EeOCxY1uxkJbkw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="model.notation#_MSbgYGfAEeOeZsTtUeHY9w"/>
+ </availablePage>
+ </pageList>
+ <sashModel xmi:id="_YCELMv1VEd-WkaQf4YgINA" currentSelection="_YCELNP1VEd-WkaQf4YgINA">
+ <windows xmi:id="_YCELM_1VEd-WkaQf4YgINA">
+ <children xsi:type="di:TabFolder" xmi:id="_YCELNP1VEd-WkaQf4YgINA">
+ <children>
+ <emfPageIdentifier href="model.notation#_MSbgYGfAEeOeZsTtUeHY9w"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.notation b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.notation
index 6780a566229..592c5c74870 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.notation
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.notation
@@ -1,39 +1,111 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xmi:id="_X_rlkP1VEd-WkaQf4YgINA" type="PapyrusUMLClassDiagram" name="Main" measurementUnit="Pixel">
- <children xmi:type="notation:Shape" xmi:id="_b3oukP1VEd-WkaQf4YgINA" type="2007" fontHeight="8" lineColor="0">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b41BYP1VEd-WkaQf4YgINA" source="ShadowFigure">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b41BYf1VEd-WkaQf4YgINA" key="ShadowFigure_Value" value="false"/>
- </eAnnotations>
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b4-yYP1VEd-WkaQf4YgINA" source="displayNameLabelIcon">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b4-yYf1VEd-WkaQf4YgINA" key="displayNameLabelIcon_value" value="false"/>
- </eAnnotations>
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b4-yYv1VEd-WkaQf4YgINA" source="QualifiedName">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b4-yY_1VEd-WkaQf4YgINA" key="QualifiedNameDepth" value="1000"/>
- </eAnnotations>
- <children xmi:type="notation:DecorationNode" xmi:id="_b5H8UP1VEd-WkaQf4YgINA" type="5026"/>
- <children xmi:type="notation:DecorationNode" xmi:id="_b5H8Uf1VEd-WkaQf4YgINA" type="7016">
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b5H8Uv1VEd-WkaQf4YgINA"/>
- </children>
- <element xmi:type="uml:Package" href="model.uml#_b1QI8P1VEd-WkaQf4YgINA"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3oukf1VEd-WkaQf4YgINA" x="91" y="133" width="173" height="144"/>
- </children>
- <children xmi:type="notation:Shape" xmi:id="_dHWqAf1VEd-WkaQf4YgINA" type="2007" fontHeight="8" lineColor="0">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dHWqA_1VEd-WkaQf4YgINA" source="ShadowFigure">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dHWqBP1VEd-WkaQf4YgINA" key="ShadowFigure_Value" value="false"/>
- </eAnnotations>
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dHWqBf1VEd-WkaQf4YgINA" source="displayNameLabelIcon">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dHWqBv1VEd-WkaQf4YgINA" key="displayNameLabelIcon_value" value="false"/>
- </eAnnotations>
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dHWqB_1VEd-WkaQf4YgINA" source="QualifiedName">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dHgbAP1VEd-WkaQf4YgINA" key="QualifiedNameDepth" value="1000"/>
- </eAnnotations>
- <children xmi:type="notation:DecorationNode" xmi:id="_dHgbAf1VEd-WkaQf4YgINA" type="5026"/>
- <children xmi:type="notation:DecorationNode" xmi:id="_dHgbAv1VEd-WkaQf4YgINA" type="7016">
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dHgbA_1VEd-WkaQf4YgINA"/>
- </children>
- <element xmi:type="uml:Package" href="model.uml#_dHWqAP1VEd-WkaQf4YgINA"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dHWqAv1VEd-WkaQf4YgINA" x="392" y="127" width="228" height="183"/>
- </children>
- <styles xmi:type="notation:DiagramStyle" xmi:id="_X_rlkf1VEd-WkaQf4YgINA"/>
- <element xmi:type="uml:Model" href="model.uml#_X66aUf1VEd-WkaQf4YgINA"/>
-</notation:Diagram>
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
+ <notation:Diagram xmi:id="_B7UjoGe1EeOCxY1uxkJbkw" type="BlockDefinition" name="Main" measurementUnit="Pixel">
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_B7UjoWe1EeOCxY1uxkJbkw"/>
+ <element xmi:type="uml:Model" href="model.uml#_X66aUf1VEd-WkaQf4YgINA"/>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_MSbgYGfAEeOeZsTtUeHY9w" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_NqqeoGfAEeOeZsTtUeHY9w" type="2007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NqqeomfAEeOeZsTtUeHY9w" type="5026"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Nqqeo2fAEeOeZsTtUeHY9w" type="7016">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NqwlQGfAEeOeZsTtUeHY9w" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NqwlQWfAEeOeZsTtUeHY9w" key="showTitle" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_SYI6YGfAEeOeZsTtUeHY9w" type="3021">
+ <children xmi:type="notation:DecorationNode" xmi:id="_SYI6YmfAEeOeZsTtUeHY9w" type="5043"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SYJhcGfAEeOeZsTtUeHY9w" type="7023">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SYL9sGfAEeOeZsTtUeHY9w" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SYL9sWfAEeOeZsTtUeHY9w" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_SYJhcWfAEeOeZsTtUeHY9w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SYJhcmfAEeOeZsTtUeHY9w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SYJhc2fAEeOeZsTtUeHY9w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SYJhdGfAEeOeZsTtUeHY9w"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SYJhdWfAEeOeZsTtUeHY9w" type="7024">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SYMkwGfAEeOeZsTtUeHY9w" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SYMkwWfAEeOeZsTtUeHY9w" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_SYJhdmfAEeOeZsTtUeHY9w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SYJhd2fAEeOeZsTtUeHY9w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SYJheGfAEeOeZsTtUeHY9w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SYJheWfAEeOeZsTtUeHY9w"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SYJhemfAEeOeZsTtUeHY9w" type="7025">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SYNL0GfAEeOeZsTtUeHY9w" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SYNL0WfAEeOeZsTtUeHY9w" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_SYJhe2fAEeOeZsTtUeHY9w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SYJhfGfAEeOeZsTtUeHY9w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SYJhfWfAEeOeZsTtUeHY9w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SYJhfmfAEeOeZsTtUeHY9w"/>
+ </children>
+ <element xmi:type="uml:Component" href="model.uml#_TCAGQGc9EeOeFPMFS4Wv8Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SYI6YWfAEeOeZsTtUeHY9w" x="45" y="15"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_NqqepGfAEeOeZsTtUeHY9w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NqqepWfAEeOeZsTtUeHY9w"/>
+ </children>
+ <element xmi:type="uml:Package" href="model.uml#_Caa0gGczEeO-Gf1_f5pJdw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NqqeoWfAEeOeZsTtUeHY9w" x="186" y="281" width="355" height="168"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Oclq0GfAEeOeZsTtUeHY9w" type="2007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_OcmR4GfAEeOeZsTtUeHY9w" type="5026"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_OcmR4WfAEeOeZsTtUeHY9w" type="7016">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OcmR5GfAEeOeZsTtUeHY9w" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ocm48GfAEeOeZsTtUeHY9w" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_OcmR4mfAEeOeZsTtUeHY9w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OcmR42fAEeOeZsTtUeHY9w"/>
+ </children>
+ <element xmi:type="uml:Package" href="model.uml#_dHWqAP1VEd-WkaQf4YgINA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Oclq0WfAEeOeZsTtUeHY9w" x="523" y="99" width="339" height="146"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Pf9zYGfAEeOeZsTtUeHY9w" type="2007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Pf9zYmfAEeOeZsTtUeHY9w" type="5026"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Pf9zY2fAEeOeZsTtUeHY9w" type="7016">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pf-acGfAEeOeZsTtUeHY9w" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Pf-acWfAEeOeZsTtUeHY9w" key="showTitle" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_M-FFcGfAEeOeZsTtUeHY9w" type="2002">
+ <children xmi:type="notation:DecorationNode" xmi:id="_M-JW4GfAEeOeZsTtUeHY9w" type="5005"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_M-OPYGfAEeOeZsTtUeHY9w" type="7002">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M-q7UGfAEeOeZsTtUeHY9w" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M-riYGfAEeOeZsTtUeHY9w" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_M-OPYWfAEeOeZsTtUeHY9w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_M-OPYmfAEeOeZsTtUeHY9w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_M-OPY2fAEeOeZsTtUeHY9w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M-OPZGfAEeOeZsTtUeHY9w"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_M-OPZWfAEeOeZsTtUeHY9w" type="7003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M-sJcGfAEeOeZsTtUeHY9w" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M-sJcWfAEeOeZsTtUeHY9w" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_M-OPZmfAEeOeZsTtUeHY9w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_M-OPZ2fAEeOeZsTtUeHY9w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_M-OPaGfAEeOeZsTtUeHY9w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M-OPaWfAEeOeZsTtUeHY9w"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_M-O2cGfAEeOeZsTtUeHY9w" type="7004">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M-swgGfAEeOeZsTtUeHY9w" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M-swgWfAEeOeZsTtUeHY9w" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_M-O2cWfAEeOeZsTtUeHY9w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_M-O2cmfAEeOeZsTtUeHY9w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_M-O2c2fAEeOeZsTtUeHY9w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M-O2dGfAEeOeZsTtUeHY9w"/>
+ </children>
+ <element xmi:type="uml:Component" href="model.uml#_M9hEwGfAEeOeZsTtUeHY9w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M-FFcWfAEeOeZsTtUeHY9w" x="31" y="18"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Pf9zZGfAEeOeZsTtUeHY9w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Pf9zZWfAEeOeZsTtUeHY9w"/>
+ </children>
+ <element xmi:type="uml:Package" href="model.uml#_b1QI8P1VEd-WkaQf4YgINA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Pf9zYWfAEeOeZsTtUeHY9w" x="188" y="74" width="269" height="191"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_MScHcGfAEeOeZsTtUeHY9w"/>
+ <element xmi:type="uml:Model" href="model.uml#_X66aUf1VEd-WkaQf4YgINA"/>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.uml b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.uml
index acc9d86ef26..03d6a008002 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.uml
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/model/model.uml
@@ -1,8 +1,91 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xmi:id="_X66aUf1VEd-WkaQf4YgINA" name="Model">
- <packageImport xmi:id="_X66aUv1VEd-WkaQf4YgINA">
- <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
- </packageImport>
- <packagedElement xmi:type="uml:Package" xmi:id="_b1QI8P1VEd-WkaQf4YgINA" name="P1"/>
- <packagedElement xmi:type="uml:Package" xmi:id="_dHWqAP1VEd-WkaQf4YgINA" name="Package 2"/>
-</uml:Model>
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ExtendedTypesTestsProfile="http:///schemas/ExtendedTypesTestsProfile/_5IfFAGcEEeO5043Nsj3xUw/2" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http:///schemas/ExtendedTypesTestsProfile/_5IfFAGcEEeO5043Nsj3xUw/2 ExtendedTypesTestsProfile.profile.uml#_5IfFAWcEEeO5043Nsj3xUw">
+ <uml:Model xmi:id="_X66aUf1VEd-WkaQf4YgINA" name="Model">
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_X66aUv1VEd-WkaQf4YgINA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Package" xmi:id="_b1QI8P1VEd-WkaQf4YgINA" name="PackageWithComponents">
+ <packagedElement xmi:type="uml:Component" xmi:id="_Y-QksGe-EeOeZsTtUeHY9w" name="Component2"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_M9hEwGfAEeOeZsTtUeHY9w" name="Component1"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_dHWqAP1VEd-WkaQf4YgINA" name="PackageWithAllElements"/>
+ <packagedElement xmi:type="uml:Package" xmi:id="_Caa0gGczEeO-Gf1_f5pJdw" name="OtherPackageWithComponents">
+ <packagedElement xmi:type="uml:Component" xmi:id="_8PG7EGctEeOYUqC_A3tTEw" name="Component"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_TCAGQGc9EeOeFPMFS4Wv8Q" name="Component1"/>
+ </packagedElement>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_dj-KoGcFEeOea9k8XF7uAg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dkH7oGcFEeOea9k8XF7uAg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="ExtendedTypesTestsProfile.profile.uml#_5IfFAWcEEeO5043Nsj3xUw"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="ExtendedTypesTestsProfile.profile.uml#_sK148Gb7EeOyHY5evmQkxA"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="__7kSYGe0EeOCxY1uxkJbkw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__8L9cGe0EeOCxY1uxkJbkw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="__8L9cWe0EeOCxY1uxkJbkw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__8e4YGe0EeOCxY1uxkJbkw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="__8e4YWe0EeOCxY1uxkJbkw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__8opYGe0EeOCxY1uxkJbkw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="__8opYWe0EeOCxY1uxkJbkw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__87kUGe0EeOCxY1uxkJbkw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="__87kUWe0EeOCxY1uxkJbkw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__9OfQGe0EeOCxY1uxkJbkw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="__9OfQWe0EeOCxY1uxkJbkw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__9YQQGe0EeOCxY1uxkJbkw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="__9YQQWe0EeOCxY1uxkJbkw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__9rLMGe0EeOCxY1uxkJbkw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="__9rLMWe0EeOCxY1uxkJbkw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__90VIGe0EeOCxY1uxkJbkw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="__90VIWe0EeOCxY1uxkJbkw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__-H3IGe0EeOCxY1uxkJbkw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="__-H3IWe0EeOCxY1uxkJbkw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__-RBEGe0EeOCxY1uxkJbkw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="__-RBEWe0EeOCxY1uxkJbkw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__-ayEGe0EeOCxY1uxkJbkw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <ExtendedTypesTestsProfile:PackageWithComponents xmi:id="_keWi0GcFEeOea9k8XF7uAg" base_Element="_b1QI8P1VEd-WkaQf4YgINA"/>
+ <ExtendedTypesTestsProfile:PackageWithComponents xmi:id="_FHOZAGczEeO-Gf1_f5pJdw" base_Element="_Caa0gGczEeO-Gf1_f5pJdw"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/org.eclipse.papyrus.extendedtypes.tests.launch b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/org.eclipse.papyrus.infra.extendedtypes.tests.launch
index cbfc9a9841f..869cd7daab0 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/org.eclipse.papyrus.extendedtypes.tests.launch
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/org.eclipse.papyrus.infra.extendedtypes.tests.launch
@@ -1,40 +1,41 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.papyrus.infra.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/AllTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.papyrus.infra.extendedtypes.AllTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.infra.extendedtypes.tests"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="false"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="true"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.infra.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.papyrus.infra.extendedtypes.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.infra.extendedtypes.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=512M"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="false"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="true"/>
+</launchConfiguration>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/fragment.properties b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/plugin.properties
index 374016923b4..374016923b4 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/fragment.properties
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/plugin.properties
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/plugin.xml b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/plugin.xml
new file mode 100644
index 00000000000..6384bcf86d9
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/plugin.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.papyrus.infra.extendedtypes.extendedElementTypeSet">
+ <extendedTypesSet
+ icon="icons/debug.gif"
+ id="org.eclipse.papyrus.infra.extendedtypes.tests.set1"
+ name="Test extended type set"
+ path="model/Test.extendedtypes">
+ </extendedTypesSet>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.infra.newchild">
+ <menuCreationModel
+ model="model/TestMenu.xmi">
+ </menuCreationModel>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="org.eclipse.papyrus.infra.extendedtypes.tests.palette"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ icon="icons/debug.gif"
+ name="Test Palette For Extended Types"
+ path="model/Test.palette.xml"
+ provider="Eclipse Modeling Project">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.sysml.diagram.blockdefinition">
+ </editor>
+ </paletteDefinition>
+ </extension>
+</plugin>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedEditHelperAdviceTests.java b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedEditHelperAdviceTests.java
deleted file mode 100644
index 2e1300cb9f6..00000000000
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedEditHelperAdviceTests.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedEditHelperAdvice;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSet;
-import org.eclipse.papyrus.infra.extendedtypes.ExtendedTypesRegistry;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.UMLFactory;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-
-/**
- * Test class for extended edit helper advice
- */
-public class ExtendedEditHelperAdviceTests implements ITestConstants {
-
- /** test class1 element type */
- private static IElementType class1ElementType;
-
- /** test class in package element type */
- private static IElementType classInPackageElementType;
-
- /** test class in model element type */
- private static IElementType classInModelElementType;
-
- /** class1 configuration element type */
- private static ExtendedElementTypeConfiguration class1ElementTypeConfiguration;
-
- /** class in package configuration element type */
- private static ExtendedElementTypeConfiguration classInPackageElementTypeConfiguration;
-
- /** class in model configuration element type */
- private static ExtendedElementTypeConfiguration classInModelElementTypeConfiguration;
-
- /** extended edit helper advice for class1 */
- private static ExtendedEditHelperAdvice extendedClass1EditHelperAdvice;
-
- /** extended edit helper advice for class in package */
- private static ExtendedEditHelperAdvice extendedClassInPackageEditHelperAdvice;
-
- /** extended edit helper advice for class in model */
- private static ExtendedEditHelperAdvice extendedClassInModelEditHelperAdvice;
-
- /** package with short name */
- private static org.eclipse.uml2.uml.Package shortNamePackage;
-
- /** package with long name */
- private static org.eclipse.uml2.uml.Package longNamePackage;
-
- /** model with short Name */
- private static Package shortNameModel;
-
- /** model with long name */
- private static Package longNameModel;
-
- /**
- * @throws java.lang.Exception
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- // create the configuration passes as argument
- class1ElementType = ExtendedTypesRegistry.getInstance().getType(CLASS1_TEST_TYPE_ID);
- assertNotNull("Class1 element type should not be null", class1ElementType);
- classInPackageElementType = ExtendedTypesRegistry.getInstance().getType(CLASS_IN_PACKAGE_TEST_TYPE_ID);
- assertNotNull("Class in package element type should not be null", classInPackageElementType);
- classInModelElementType = ExtendedTypesRegistry.getInstance().getType(CLASS_IN_MODEL_TEST_TYPE_ID);
- assertNotNull("Class in model element type should not be null", classInModelElementType);
-
- ExtendedElementTypeSet set = ExtendedTypesRegistry.getInstance().getExtendedElementTypeSet(TEST1_CONFIGURATION_SET_ID, TEST1_MODEL_PATH, org.eclipse.papyrus.infra.extendedtypes.Activator.PLUGIN_ID);
- assertNotNull("extended type set should not be null", set);
- for(ExtendedElementTypeConfiguration configuration : set.getElementType()) {
- if(CLASS1_TEST_TYPE_CONFIGURATION_ID.equals(configuration.getId())) {
- class1ElementTypeConfiguration = configuration;
- } else if(CLASS_IN_PACKAGE_TEST_TYPE_CONFIGURATION_ID.equals(configuration.getId())) {
- classInPackageElementTypeConfiguration = configuration;
- } else if(CLASS_IN_MODEL_TEST_TYPE_CONFIGURATION_ID.equals(configuration.getId())) {
- classInModelElementTypeConfiguration = configuration;
- }
- }
- assertNotNull("extended type configuration should not be null", class1ElementTypeConfiguration);
- assertNotNull("extended type configuration should not be null", classInPackageElementTypeConfiguration);
- assertNotNull("extended type configuration should not be null", classInModelElementTypeConfiguration);
- extendedClass1EditHelperAdvice = new ExtendedEditHelperAdvice();
- extendedClassInPackageEditHelperAdvice = new ExtendedEditHelperAdvice();
- extendedClassInModelEditHelperAdvice = new ExtendedEditHelperAdvice();
-
- // create Test Model
- Model model1 = UMLFactory.eINSTANCE.createModel();
- model1.setName("Model1");
- shortNamePackage = model1.createNestedPackage("P");
- longNamePackage = model1.createNestedPackage("veryLongPackage");
- shortNameModel = model1.createNestedPackage("tinyM", UMLPackage.eINSTANCE.getModel());
- longNameModel = model1.createNestedPackage("veryLongModel", UMLPackage.eINSTANCE.getModel());
-
- }
-
- /**
- * @throws java.lang.Exception
- */
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- class1ElementType = null;
- class1ElementTypeConfiguration = null;
- extendedClass1EditHelperAdvice = null;
- shortNamePackage = null;
- longNamePackage = null;
- shortNameModel = null;
- longNameModel = null;
- }
-
- /**
- * @throws java.lang.Exception
- */
- @Before
- public void setUp() throws Exception {
- }
-
- /**
- * @throws java.lang.Exception
- */
- @After
- public void tearDown() throws Exception {
- }
-
- /**
- * Test method for
- * {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedEditHelperAdvice#ExtendedEditHelperAdvice(org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration)}
- * .
- */
- @Test
- public final void testExtendedEditHelperAdvice() {
- assertNotNull("edit helper advice should not be null", extendedClass1EditHelperAdvice);
- }
-
- /**
- * Test method for
- * {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedEditHelperAdvice#approveRequest(org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest)}
- * .
- */
- @Test
- public final void testApproveRequestIEditCommandRequest() {
- // get the request: create a class on the test packages
-
- // simple test: test if it the name of the container is long or not enough
- CreateElementRequest inShortPackageCreateRequest = new CreateElementRequest(shortNamePackage, class1ElementType);
- boolean resultShort = extendedClass1EditHelperAdvice.approveRequest(inShortPackageCreateRequest);
- assertTrue("request should always be approved", resultShort);
-
- // simple test: test if it the name of the container is long or not enough
- CreateElementRequest inLongPackageCreateRequest = new CreateElementRequest(longNamePackage, class1ElementType);
- boolean resultLong = extendedClass1EditHelperAdvice.approveRequest(inLongPackageCreateRequest);
- assertTrue("request should always be approved", resultLong);
-
- // advanced tests: 2 queries at the same time (test true&false; false&false, false&true, true&true)
- // false & false
- CreateElementRequest requestShortPackageModel = new CreateElementRequest(shortNamePackage, classInModelElementType);
- boolean shortPackageModel = extendedClassInModelEditHelperAdvice.approveRequest(requestShortPackageModel);
- assertTrue("request should always be approved", shortPackageModel);
-
- // true & false
- CreateElementRequest requestLongPackageModel = new CreateElementRequest(longNamePackage, classInModelElementType);
- boolean longPackageModel = extendedClassInModelEditHelperAdvice.approveRequest(requestLongPackageModel);
- assertTrue("request should always be approved", longPackageModel);
-
- // false & true
- CreateElementRequest requestShortPackagePackage = new CreateElementRequest(shortNamePackage, classInPackageElementType);
- boolean shortPackagePackage = extendedClassInPackageEditHelperAdvice.approveRequest(requestShortPackagePackage);
- assertTrue("request should always be approved", shortPackagePackage);
-
- // true & true
- CreateElementRequest requestlongPackagePackage = new CreateElementRequest(longNamePackage, classInPackageElementType);
- boolean longPackagePackage = extendedClassInPackageEditHelperAdvice.approveRequest(requestlongPackagePackage);
- assertTrue("request should always be approved", longPackagePackage);
- }
-
- /**
- * Test method for
- * {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedEditHelperAdvice#getBeforeCreateCommand(org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest)}
- * .
- */
- @Test
- public final void testGetBeforeCreateCommandCreateElementRequest() {
- // not test here for now...
- }
-
- /**
- * Test method for
- * {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedEditHelperAdvice#getAfterCreateCommand(org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest)}
- * .
- */
- @Test
- public final void testGetAfterCreateCommandCreateElementRequest() {
- // test in {oep}.diagram.extendedtypes.uml.tests fragment
- }
-
-}
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedTypesRegistryTests.java b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedTypesRegistryTests.java
deleted file mode 100644
index 1bc78e0d106..00000000000
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedTypesRegistryTests.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-
-import junit.framework.Assert;
-
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-
-/**
- * Tests for {@link ExtendedTypesRegistry}
- */
-public class ExtendedTypesRegistryTests implements ITestConstants {
-
- /**
- * @throws java.lang.Exception
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- }
-
- /**
- * @throws java.lang.Exception
- */
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- }
-
- /**
- * @throws java.lang.Exception
- */
- @Before
- public void setUp() throws Exception {
- }
-
- /**
- * @throws java.lang.Exception
- */
- @After
- public void tearDown() throws Exception {
- }
-
- /**
- * Test method for {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedTypesRegistry#getInstance()}.
- */
- @Test
- public final void testGetInstance() {
- Assert.assertNotNull("The singleton instance should not be null", ExtendedTypesRegistry.getInstance());
- }
-
- /**
- * Test method for {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedTypesRegistry#loadExtendedTypeSets()}.
- */
- @Test
- public final void testLoadExtendedTypeSets() {
- List<ExtendedElementTypeSet> result = ExtendedTypesRegistry.getInstance().loadExtendedTypeSets();
-
-
- assertNotNull("The list of extended type sets should not be null after loading", result);
- assertTrue("The list of extended type sets should not be empty after loading", result.size() > 0);
-
- boolean found = false;
- for(ExtendedElementTypeSet set : result) {
- if(ExtendedTypeSetName_Test1.equals(set.getId())) {
- found = true;
- }
- }
- assertTrue("The list should contain Extended Type Set from Test1: " + ExtendedTypeSetName_Test1, found);
- }
-
- /**
- * Test method for {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedTypesRegistry#createResourceSet()}.
- */
- @Test
- public final void testCreateResourceSet() {
- ResourceSet set = ExtendedTypesRegistry.getInstance().createResourceSet();
- assertNotNull("Resource set should not be null", set);
- }
-
- /**
- * Test method for {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedTypesRegistry#getExtendedElementTypeSet(java.lang.String, java.lang.String)}.
- */
- @Test
- public final void testGetExtendedElementTypeSet() {
- ExtendedElementTypeSet set = ExtendedTypesRegistry.getInstance().getExtendedElementTypeSet(TEST1_CONFIGURATION_SET_ID, TEST1_MODEL_PATH, Activator.PLUGIN_ID);
- assertNotNull("Element type model file set should be found", set);
-
- ExtendedElementTypeSet set2 = ExtendedTypesRegistry.getInstance().getExtendedElementTypeSet("null", NO_FILE, Activator.PLUGIN_ID);
- assertNull("Element type model file set should not be found", set2);
- }
-
- /**
- * Test method for {@link org.eclipse.papyrus.infra.extendedtypes.ExtendedTypesRegistry#getType(java.lang.String)}.
- */
- @Test
- public final void testGetType() {
- IElementType classType = ExtendedTypesRegistry.getInstance().getType(UMLElementTypes.CLASS.getId());
- assertNotNull("element Type for class should be found", classType);
-
- IElementType extendedClassType = ExtendedTypesRegistry.getInstance().getType(CLASS1_TEST_TYPE_ID);
- assertNotNull("element Type for class should be found", extendedClassType);
-
- IElementType noType = ExtendedTypesRegistry.getInstance().getType(NO_TYPE);
- assertNull("element Type for class should not be found", noType);
- }
-}
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/ITestConstants.java b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/ITestConstants.java
deleted file mode 100644
index 5a12b52ceb7..00000000000
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/ITestConstants.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes;
-
-
-/**
- * Constants for test classes
- */
-public interface ITestConstants {
-
- /** element type id for test1::Class1 */
- public static final String CLASS1_TEST_TYPE_ID = "org.eclipse.papyrus.infra.extendedtypes.tests.Class1";
-
- /** element type id for test1::ClassInPackage */
- public static final String CLASS_IN_PACKAGE_TEST_TYPE_ID = "org.eclipse.papyrus.infra.extendedtypes.tests.ClassInPackageOnly";
-
- /** element type id for test1::ClassInModel */
- public static final String CLASS_IN_MODEL_TEST_TYPE_ID = "org.eclipse.papyrus.infra.extendedtypes.tests.ClassInModelOnly";
-
-
- /** name of the extended type set in Test1 */
- public final static String ExtendedTypeSetName_Test1 = "org.eclipse.papyrus.infra.extendedtypes.tests.test1";
-
- /** path to a non existing file */
- public static final String NO_FILE = "no_file";
-
- /** path to a right model file */
- public static final String TEST1_MODEL_PATH = "/model/Test1.extendedtypes";
-
- /** identifier of the extende type set configuration */
- public static final String TEST1_CONFIGURATION_SET_ID = "org.eclipse.papyrus.infra.extendedtypes.tests.test1";
-
- /** no type identifier */
- public static final String NO_TYPE = "no_type";
-
- /** configuration name for test1::Class1 */
- public static final String CLASS1_TEST_TYPE_CONFIGURATION_ID = "org.eclipse.papyrus.infra.extendedtypes.tests.Class1";
-
- /** configuration name for test1::Class1 */
- public static final String CLASS_IN_PACKAGE_TEST_TYPE_CONFIGURATION_ID = CLASS_IN_PACKAGE_TEST_TYPE_ID;
-
- /** configuration name for test1::Class1 */
- public static final String CLASS_IN_MODEL_TEST_TYPE_CONFIGURATION_ID = CLASS_IN_MODEL_TEST_TYPE_ID;
-}
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/preferences/ExtendedTypesPreferencesTests.java b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/preferences/ExtendedTypesPreferencesTests.java
deleted file mode 100644
index e8f25397ccf..00000000000
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/preferences/ExtendedTypesPreferencesTests.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.preferences;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.papyrus.infra.extendedtypes.preferences.ExtendedTypesPreferences;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.XMLMemento;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-
-/**
- * Test class for {@link ExtendedTypesPreferences}
- */
-public class ExtendedTypesPreferencesTests extends ExtendedTypesPreferences {
-
- /** id of the extended type set for tests */
- private final static String EXTENDED_TYPES_TEST_ID = "testExtendedTypes";
-
- /**
- * @throws java.lang.Exception
- * exception thrown in case of issues
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- }
-
- /**
- * @throws java.lang.Exception
- * exception thrown in case of issues
- */
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- }
-
- /**
- * @throws java.lang.Exception
- * exception thrown in case of issues
- */
- @Before
- public void setUp() throws Exception {
- }
-
- /**
- * @throws java.lang.Exception
- * exception thrown in case of issues
- */
- @After
- public void tearDown() throws Exception {
- }
-
- /**
- * Test for local definitions of Palette in preferences
- */
- @Test
- public final void testLocalRedefinitions() {
- // 1. saves the root memento
- XMLMemento rootMemento = getLocalRedefinitions();
- IMemento[] extendedTypesRedefinitions = rootMemento.getChildren(EXTENDED_TYPES_REDEFINITION);
-
- int initialLength = extendedTypesRedefinitions.length;
-
- // 2. test add
- // be sure not already existing
- String path = getExtendedTypesRedefinition(EXTENDED_TYPES_TEST_ID);
- assertNull("There should be no test extendedTypes yet", path);
-
- registerLocalRedefinition(EXTENDED_TYPES_TEST_ID, "testAdd.xml");
-
- int newLength = initialLength + 1;
- XMLMemento newMemento = getLocalRedefinitions();
- IMemento[] newPaletteRedefinitions = newMemento.getChildren(EXTENDED_TYPES_REDEFINITION);
- assertTrue("There should be " + newLength + " elements, currently " + newPaletteRedefinitions.length, newLength == newPaletteRedefinitions.length);
- String newPath = getExtendedTypesRedefinition(EXTENDED_TYPES_TEST_ID);
- assertEquals("There should be a new path for the extendedTypes id", "testAdd.xml", newPath);
-
- // 3. test remove
- unregisterLocalRedefinition(EXTENDED_TYPES_TEST_ID);
- newMemento = getLocalRedefinitions();
- newPaletteRedefinitions = newMemento.getChildren(EXTENDED_TYPES_REDEFINITION);
- assertTrue("There should be " + newLength + " elements", newPaletteRedefinitions.length == initialLength);
- newPath = getExtendedTypesRedefinition(EXTENDED_TYPES_TEST_ID);
- assertNull("There should be no path for the extendedTypes id", newPath);
-
- }
-}
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/Activator.java b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/Activator.java
new file mode 100644
index 00000000000..6c7df711a20
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/Activator.java
@@ -0,0 +1,50 @@
+package org.eclipse.papyrus.infra.extendedtypes.tests;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.extendedtypes.tests"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/AllTests.java b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/AllTests.java
index 00b90d48b4b..d29666206a8 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/AllTests.java
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/AllTests.java
@@ -1,27 +1,26 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes;
-
-import org.eclipse.papyrus.infra.extendedtypes.preferences.ExtendedTypesPreferencesTests;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.Suite.SuiteClasses;
-
-
-/**
- * All tests for this fragment
- */
-@RunWith(Suite.class)
-@SuiteClasses({ ExtendedTypesRegistryTests.class, ExtendedEditHelperAdviceTests.class, ExtendedTypesPreferencesTests.class })
-public class AllTests {
-
-}
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.tests;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+
+/**
+ * All tests for this fragment
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ ExtendedTypesRegistryTests.class, })
+public class AllTests {
+
+}
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/ExtendedEditHelperAdviceTests.java b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/ExtendedEditHelperAdviceTests.java
new file mode 100644
index 00000000000..382c670411e
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/ExtendedEditHelperAdviceTests.java
@@ -0,0 +1,200 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.tests;
+
+
+
+/**
+ * Test class for extended edit helper advice
+ */
+public class ExtendedEditHelperAdviceTests implements ITestConstants {
+
+// /** test class1 element type */
+// private static IElementType class1ElementType;
+//
+// /** test class in package element type */
+// private static IElementType classInPackageElementType;
+//
+// /** test class in model element type */
+// private static IElementType classInModelElementType;
+//
+// /** class1 configuration element type */
+// private static ExtendedElementTypeConfiguration class1ElementTypeConfiguration;
+//
+// /** class in package configuration element type */
+// private static ExtendedElementTypeConfiguration classInPackageElementTypeConfiguration;
+//
+// /** class in model configuration element type */
+// private static ExtendedElementTypeConfiguration classInModelElementTypeConfiguration;
+//
+// /** extended edit helper advice for class1 */
+// private static ExtendedEditHelperAdvice extendedClass1EditHelperAdvice;
+//
+// /** extended edit helper advice for class in package */
+// private static ExtendedEditHelperAdvice extendedClassInPackageEditHelperAdvice;
+//
+// /** extended edit helper advice for class in model */
+// private static ExtendedEditHelperAdvice extendedClassInModelEditHelperAdvice;
+//
+// /** package with short name */
+// private static org.eclipse.uml2.uml.Package shortNamePackage;
+//
+// /** package with long name */
+// private static org.eclipse.uml2.uml.Package longNamePackage;
+//
+// /** model with short Name */
+// private static Package shortNameModel;
+//
+// /** model with long name */
+// private static Package longNameModel;
+//
+// /**
+// * @throws java.lang.Exception
+// */
+// @BeforeClass
+// public static void setUpBeforeClass() throws Exception {
+// // create the configuration passes as argument
+// class1ElementType = ExtendedTypesRegistry.getInstance().getType(CLASS1_TEST_TYPE_ID);
+// assertNotNull("Class1 element type should not be null", class1ElementType);
+// classInPackageElementType = ExtendedTypesRegistry.getInstance().getType(CLASS_IN_PACKAGE_TEST_TYPE_ID);
+// assertNotNull("Class in package element type should not be null", classInPackageElementType);
+// classInModelElementType = ExtendedTypesRegistry.getInstance().getType(CLASS_IN_MODEL_TEST_TYPE_ID);
+// assertNotNull("Class in model element type should not be null", classInModelElementType);
+//
+// ExtendedElementTypeSet set = ExtendedTypesRegistry.getInstance().getExtendedElementTypeSet(TEST1_CONFIGURATION_SET_ID, TEST1_MODEL_PATH, org.eclipse.papyrus.infra.extendedtypes.tests.Activator.PLUGIN_ID);
+// assertNotNull("extended type set should not be null", set);
+// for(ExtendedElementTypeConfiguration configuration : set.getElementType()) {
+// if(CLASS1_TEST_TYPE_CONFIGURATION_ID.equals(configuration.getId())) {
+// class1ElementTypeConfiguration = configuration;
+// } else if(CLASS_IN_PACKAGE_TEST_TYPE_CONFIGURATION_ID.equals(configuration.getId())) {
+// classInPackageElementTypeConfiguration = configuration;
+// } else if(CLASS_IN_MODEL_TEST_TYPE_CONFIGURATION_ID.equals(configuration.getId())) {
+// classInModelElementTypeConfiguration = configuration;
+// }
+// }
+// assertNotNull("extended type configuration should not be null", class1ElementTypeConfiguration);
+// assertNotNull("extended type configuration should not be null", classInPackageElementTypeConfiguration);
+// assertNotNull("extended type configuration should not be null", classInModelElementTypeConfiguration);
+// extendedClass1EditHelperAdvice = new ExtendedEditHelperAdvice();
+// extendedClassInPackageEditHelperAdvice = new ExtendedEditHelperAdvice();
+// extendedClassInModelEditHelperAdvice = new ExtendedEditHelperAdvice();
+//
+// // create Test Model
+// Model model1 = UMLFactory.eINSTANCE.createModel();
+// model1.setName("Model1");
+// shortNamePackage = model1.createNestedPackage("P");
+// longNamePackage = model1.createNestedPackage("veryLongPackage");
+// shortNameModel = model1.createNestedPackage("tinyM", UMLPackage.eINSTANCE.getModel());
+// longNameModel = model1.createNestedPackage("veryLongModel", UMLPackage.eINSTANCE.getModel());
+//
+// }
+//
+// /**
+// * @throws java.lang.Exception
+// */
+// @AfterClass
+// public static void tearDownAfterClass() throws Exception {
+// class1ElementType = null;
+// class1ElementTypeConfiguration = null;
+// extendedClass1EditHelperAdvice = null;
+// shortNamePackage = null;
+// longNamePackage = null;
+// shortNameModel = null;
+// longNameModel = null;
+// }
+//
+// /**
+// * @throws java.lang.Exception
+// */
+// @Before
+// public void setUp() throws Exception {
+// }
+//
+// /**
+// * @throws java.lang.Exception
+// */
+// @After
+// public void tearDown() throws Exception {
+// }
+//
+// /**
+// * Test method for
+// * {@link org.eclipse.papyrus.infra.extendedtypes.tests.ExtendedEditHelperAdvice#ExtendedEditHelperAdvice(org.eclipse.papyrus.infra.extendedtypes.tests.ExtendedElementTypeConfiguration)}
+// * .
+// */
+// @Test
+// public final void testExtendedEditHelperAdvice() {
+// assertNotNull("edit helper advice should not be null", extendedClass1EditHelperAdvice);
+// }
+//
+// /**
+// * Test method for
+// * {@link org.eclipse.papyrus.infra.extendedtypes.tests.ExtendedEditHelperAdvice#approveRequest(org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest)}
+// * .
+// */
+// @Test
+// public final void testApproveRequestIEditCommandRequest() {
+// // get the request: create a class on the test packages
+//
+// // simple test: test if it the name of the container is long or not enough
+// CreateElementRequest inShortPackageCreateRequest = new CreateElementRequest(shortNamePackage, class1ElementType);
+// boolean resultShort = extendedClass1EditHelperAdvice.approveRequest(inShortPackageCreateRequest);
+// assertTrue("request should always be approved", resultShort);
+//
+// // simple test: test if it the name of the container is long or not enough
+// CreateElementRequest inLongPackageCreateRequest = new CreateElementRequest(longNamePackage, class1ElementType);
+// boolean resultLong = extendedClass1EditHelperAdvice.approveRequest(inLongPackageCreateRequest);
+// assertTrue("request should always be approved", resultLong);
+//
+// // advanced tests: 2 queries at the same time (test true&false; false&false, false&true, true&true)
+// // false & false
+// CreateElementRequest requestShortPackageModel = new CreateElementRequest(shortNamePackage, classInModelElementType);
+// boolean shortPackageModel = extendedClassInModelEditHelperAdvice.approveRequest(requestShortPackageModel);
+// assertTrue("request should always be approved", shortPackageModel);
+//
+// // true & false
+// CreateElementRequest requestLongPackageModel = new CreateElementRequest(longNamePackage, classInModelElementType);
+// boolean longPackageModel = extendedClassInModelEditHelperAdvice.approveRequest(requestLongPackageModel);
+// assertTrue("request should always be approved", longPackageModel);
+//
+// // false & true
+// CreateElementRequest requestShortPackagePackage = new CreateElementRequest(shortNamePackage, classInPackageElementType);
+// boolean shortPackagePackage = extendedClassInPackageEditHelperAdvice.approveRequest(requestShortPackagePackage);
+// assertTrue("request should always be approved", shortPackagePackage);
+//
+// // true & true
+// CreateElementRequest requestlongPackagePackage = new CreateElementRequest(longNamePackage, classInPackageElementType);
+// boolean longPackagePackage = extendedClassInPackageEditHelperAdvice.approveRequest(requestlongPackagePackage);
+// assertTrue("request should always be approved", longPackagePackage);
+// }
+//
+// /**
+// * Test method for
+// * {@link org.eclipse.papyrus.infra.extendedtypes.tests.ExtendedEditHelperAdvice#getBeforeCreateCommand(org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest)}
+// * .
+// */
+// @Test
+// public final void testGetBeforeCreateCommandCreateElementRequest() {
+// // not test here for now...
+// }
+//
+// /**
+// * Test method for
+// * {@link org.eclipse.papyrus.infra.extendedtypes.tests.ExtendedEditHelperAdvice#getAfterCreateCommand(org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest)}
+// * .
+// */
+// @Test
+// public final void testGetAfterCreateCommandCreateElementRequest() {
+// // test in {oep}.diagram.extendedtypes.uml.tests fragment
+// }
+
+}
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/ExtendedTypesRegistryTests.java b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/ExtendedTypesRegistryTests.java
new file mode 100644
index 00000000000..55b808bd860
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/ExtendedTypesRegistryTests.java
@@ -0,0 +1,224 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.tests;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.core.resource.ModelUtils;
+import org.eclipse.papyrus.infra.core.resource.NotFoundException;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSetRegistry;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedTypeRegistryService;
+import org.eclipse.papyrus.junit.utils.EditorUtils;
+import org.eclipse.papyrus.junit.utils.PapyrusProjectUtils;
+import org.eclipse.papyrus.junit.utils.ProjectUtils;
+import org.eclipse.papyrus.uml.tools.model.UmlModel;
+import org.eclipse.papyrus.uml.tools.model.UmlUtils;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+
+/**
+ * Tests for {@link ExtendedTypesRegistry}
+ */
+public class ExtendedTypesRegistryTests implements ITestConstants {
+
+ private static IProject createProject;
+
+ private static IFile copyPapyrusModel;
+
+ private static IMultiDiagramEditor openPapyrusEditor;
+
+ private static ModelSet modelset;
+
+ private static UmlModel umlIModel;
+
+ private static Model rootModel;
+
+ private static Activity testActivity;
+
+ private static TransactionalEditingDomain transactionalEditingDomain;
+
+ private static Class testClass;
+
+ private static Activity testActivityWithNode;
+
+ /**
+ * Init test class
+ */
+ @BeforeClass
+ public static void initCreateElementTest() {
+
+ // create Project
+ try {
+ createProject = ProjectUtils.createProject("ExtendedTypes");
+ } catch (CoreException e) {
+ fail(e.getMessage());
+ }
+
+ // import test model
+ try {
+ copyPapyrusModel = PapyrusProjectUtils.copyPapyrusModel(createProject, Platform.getBundle("org.eclipse.papyrus.infra.extendedtypes.tests"), "/model/", "model");
+ } catch (CoreException e) {
+ fail(e.getMessage());
+ } catch (IOException e) {
+ fail(e.getMessage());
+ }
+
+ // open project
+ Display.getDefault().syncExec(new Runnable() {
+
+ public void run() {
+ try {
+ openPapyrusEditor = EditorUtils.openPapyrusEditor(copyPapyrusModel);
+ } catch (PartInitException e) {
+ fail(e.getMessage());
+ }
+ }
+ });
+
+ transactionalEditingDomain = (TransactionalEditingDomain)openPapyrusEditor.getAdapter(TransactionalEditingDomain.class);
+ assertTrue("Impossible to init editing domain", transactionalEditingDomain instanceof TransactionalEditingDomain);
+
+ // retrieve UML model from this editor
+ try {
+ modelset = ModelUtils.getModelSetChecked(openPapyrusEditor.getServicesRegistry());
+ umlIModel = UmlUtils.getUmlModel(modelset);
+ rootModel = (Model)umlIModel.lookupRoot();
+
+ Assert.assertNotNull("root model should not be null", rootModel);
+
+ } catch (ServiceException e) {
+ fail(e.getMessage());
+ } catch (NotFoundException e) {
+ fail(e.getMessage());
+ } catch (ClassCastException e) {
+ fail(e.getMessage());
+ }
+ try {
+ initExistingElements();
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+
+ }
+
+ /**
+ * Init fields corresponding to element in the test model
+ */
+ private static void initExistingElements() throws Exception {
+
+
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Before
+ public void setUp() throws Exception {
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @After
+ public void tearDown() throws Exception {
+ }
+
+ /**
+ * Test method for {@link ExtendedElementTypeSetRegistry#getInstance()}
+ */
+ @Test
+ @Ignore
+ public final void testGetInstance() {
+ ExtendedTypeRegistryService service = null;
+ try {
+ service = openPapyrusEditor.getServicesRegistry().getService(ExtendedTypeRegistryService.class);
+ } catch (ServiceException e) {
+ fail(e.getMessage());
+ }
+ Assert.assertNotNull("Extended type service should not be null", service);
+
+ // retrieve registry from this service
+ Assert.assertNotNull("Extended type registry singleton should not be null", service.getExtendedElementTypeSetRegistry());
+ }
+
+
+ /**
+ * Test method for {@link org.eclipse.papyrus.infra.extendedtypes.tests.ExtendedTypesRegistry#createResourceSet()}.
+ */
+ @Test
+ public final void testGetTypeRegisteredInplugin() {
+ // check standard class
+ IElementType classType = ElementTypeRegistry.getInstance().getType("org.eclipse.papyrus.uml.Class");
+ Assert.assertNotNull("Element type should be registered", classType);
+
+ IElementType restrictedClassType = ElementTypeRegistry.getInstance().getType(CLASS_ONLY_IN_MODEL_ID);
+ Assert.assertNotNull("Element type should be registered", restrictedClassType);
+ }
+
+// /**
+// * Test method for {@link org.eclipse.papyrus.infra.extendedtypes.tests.ExtendedTypesRegistry#getExtendedElementTypeSet(java.lang.String, java.lang.String)}.
+// */
+// @Test
+// public final void testGetExtendedElementTypeSet() {
+// ExtendedElementTypeSet set = ExtendedTypesRegistry.getInstance().getExtendedElementTypeSet(TEST1_CONFIGURATION_SET_ID, TEST1_MODEL_PATH, Activator.PLUGIN_ID);
+// assertNotNull("Element type model file set should be found", set);
+//
+// ExtendedElementTypeSet set2 = ExtendedTypesRegistry.getInstance().getExtendedElementTypeSet("null", NO_FILE, Activator.PLUGIN_ID);
+// assertNull("Element type model file set should not be found", set2);
+// }
+//
+// /**
+// * Test method for {@link org.eclipse.papyrus.infra.extendedtypes.tests.ExtendedTypesRegistry#getType(java.lang.String)}.
+// */
+// @Test
+// public final void testGetType() {
+// IElementType classType = ExtendedTypesRegistry.getInstance().getType(UMLElementTypes.CLASS.getId());
+// assertNotNull("element Type for class should be found", classType);
+//
+// IElementType extendedClassType = ExtendedTypesRegistry.getInstance().getType(CLASS1_TEST_TYPE_ID);
+// assertNotNull("element Type for class should be found", extendedClassType);
+//
+// IElementType noType = ExtendedTypesRegistry.getInstance().getType(NO_TYPE);
+// assertNull("element Type for class should not be found", noType);
+// }
+}
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/ITestConstants.java b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/ITestConstants.java
new file mode 100644
index 00000000000..fbdc4c829ab
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/ITestConstants.java
@@ -0,0 +1,25 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.tests;
+
+
+/**
+ * Constants for test classes
+ */
+public interface ITestConstants {
+
+ public final static String CLASS_ONLY_IN_MODEL_ID = "org.eclipse.papyrus.infra.extendedtypes.tests.classonlyinmodel"; //$NON-NLS-1$
+ /** name of the extended type set in Test1 */
+ public final static String ExtendedTypeSetName_Test1 = "org.eclipse.papyrus.infra.extendedtypes.tests.tests.test1";
+
+
+}

Back to the top