Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrschnekenbu2013-12-18 03:57:22 -0500
committerrschnekenbu2013-12-18 03:57:22 -0500
commit46f10891f0bbd1242fca82b042ab90878d80bf58 (patch)
treecedf84bcf141532ecf4722a8700a6a8146ca6a05
parenta2d767fcdba8a2fd7c4f37777d6b0318ca62fa35 (diff)
downloadorg.eclipse.papyrus-46f10891f0bbd1242fca82b042ab90878d80bf58.tar.gz
org.eclipse.papyrus-46f10891f0bbd1242fca82b042ab90878d80bf58.tar.xz
org.eclipse.papyrus-46f10891f0bbd1242fca82b042ab90878d80bf58.zip
424305: [Core] Papyrus shall provide runtime model based configuration
for Element Types framework https://bugs.eclipse.org/bugs/show_bug.cgi?id=424305 - first refactor of the extended types : -- new models to configure extended types -- no more extended registry to add/remove types, they are added in the GMF singleton registry -- first examples for the container invariants
-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-do