Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrschnekenbu2011-03-29 11:39:43 +0000
committerrschnekenbu2011-03-29 11:39:43 +0000
commit75cde397f8009bf308c104c8b25cb700440253f9 (patch)
tree435db0700db290f369540380b58ee755380d3da6 /incoming
parent5ec4c7030eb1c05345a9d27fde442e50604d1566 (diff)
downloadorg.eclipse.papyrus-75cde397f8009bf308c104c8b25cb700440253f9.tar.gz
org.eclipse.papyrus-75cde397f8009bf308c104c8b25cb700440253f9.tar.xz
org.eclipse.papyrus-75cde397f8009bf308c104c8b25cb700440253f9.zip
Initial commit of all projects for the palette and modeling assistants configuration
Diffstat (limited to 'incoming')
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/.classpath7
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/.project28
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/META-INF/MANIFEST.MF21
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/about.html28
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/build.properties15
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_Duration.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_DurationInterval.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_Expression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_InstanceValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_Interval.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralBoolean.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralInteger.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralNull.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralString.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralUnlimitedNatural.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_OpaqueExpression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_StringExpression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_TimeExpression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_TimeInterval.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_ConstantParameterValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_ListParameterValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_ParameterValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_QueryExecutionValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_Duration.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_DurationInterval.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_Expression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_InstanceValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_Interval.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralBoolean.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralInteger.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralNull.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralString.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralUnlimitedNatural.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_OpaqueExpression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_StringExpression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_TimeExpression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_TimeInterval.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ConstantParameterValue.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ListParameterValue.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ModiscoQueryConfiguration.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ParameterValue.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/QueryExecutionValue.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/plugin.properties42
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/plugin.xml25
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ConfigurationEditPlugin.java102
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ConfigurationItemProviderAdapterFactory.java275
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ConstantParameterValueItemProvider.java223
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ListParameterValueItemProvider.java135
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ModiscoQueryConfigurationItemProvider.java194
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ParameterValueItemProvider.java138
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/QueryConfigurationItemProvider.java150
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/QueryExecutionValueItemProvider.java135
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.editor/.classpath7
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.editor/.project28
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.editor/META-INF/MANIFEST.MF21
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.editor/about.html28
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.editor/build.properties15
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.editor/icons/full/obj16/ConfigurationModelFile.gifbin0 -> 346 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.editor/icons/full/wizban/NewConfiguration.gifbin0 -> 2462 bytes
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.editor/plugin.properties61
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.editor/plugin.xml39
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationActionBarContributor.java427
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationEditor.java1784
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationEditorPlugin.java104
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationModelWizard.java632
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/.classpath7
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/.project28
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/.settings/org.eclipse.core.resources.prefs4
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/META-INF/MANIFEST.MF20
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/about.html28
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/build.properties15
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecore30
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecorediag328
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/model/Configuration.genmodel34
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/plugin.properties12
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/plugin.xml26
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ConfigurationFactory.java73
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ConfigurationPackage.java553
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ConstantParameterValue.java54
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ListParameterValue.java44
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ModiscoQueryConfiguration.java73
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ParameterValue.java56
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/QueryConfiguration.java54
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/QueryExecutionValue.java53
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ConfigurationFactoryImpl.java132
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ConfigurationPackageImpl.java371
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ConstantParameterValueImpl.java180
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ListParameterValueImpl.java136
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ModiscoQueryConfigurationImpl.java219
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ParameterValueImpl.java162
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/QueryConfigurationImpl.java167
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/QueryExecutionValueImpl.java160
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/plugin/Activator.java91
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationAdapterFactory.java214
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationResourceFactoryImpl.java56
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationResourceImpl.java32
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationSwitch.java239
-rw-r--r--incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationXMLProcessor.java54
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/.classpath7
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/.project28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/META-INF/MANIFEST.MF23
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/about.html28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/build.properties15
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Duration.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_DurationInterval.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Expression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_InstanceValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Interval.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralBoolean.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralInteger.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralNull.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralString.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralUnlimitedNatural.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_OpaqueExpression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_StringExpression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeExpression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeInterval.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_iconEntry_IconEntry.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ApplyStereotypeAction.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ApplyStereotypeActionConfiguration.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ElementPropertiesValueAction.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ElementPropertiesValueActionConfiguration.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_preAction_ApplyStereotypeAction.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_preAction_ElementPropertiesValueAction.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeSet_elementType_ExtendedElementTypeConfiguration.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_ConstantValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_DynamicValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_ListValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_QueryExecutionValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateModifySemanticValuesActionConfiguration_featuresToSet_FeatureToSet.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ApplyStereotypeAction.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ApplyStereotypeActionConfiguration.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ConstantValue.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/DynamicValue.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ElementPropertiesValueAction.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ElementPropertiesValueActionConfiguration.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ExtendedElementTypeConfiguration.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ExtendedElementTypeSet.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/FeatureToSet.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/IconEntry.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ListValue.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ModifySemanticValuesActionConfiguration.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/QueryExecutionValue.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/StereotypeToApply.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/plugin.properties70
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/plugin.xml24
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ActionConfigurationItemProvider.java174
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedElementTypeConfigurationItemProvider.java325
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedElementTypeSetItemProvider.java202
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedTypesEditPlugin.java104
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedtypesItemProviderAdapterFactory.java251
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/IconEntryItemProvider.java185
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/PostActionConfigurationItemProvider.java103
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/PreActionConfigurationItemProvider.java103
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/.classpath7
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/.project28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/META-INF/MANIFEST.MF22
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/about.html28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/build.properties15
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/obj16/ExtendedtypesModelFile.gifbin0 -> 346 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/obj16/ModifySemanticValuesActionConfigurationModelFile.gifbin0 -> 346 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/wizban/NewExtendedtypes.gifbin0 -> 2462 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/wizban/NewModifySemanticValuesActionConfiguration.gifbin0 -> 2462 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/plugin.properties68
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/plugin.xml38
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/AbstractCommandHandler.classbin0 -> 3945 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedTypesEditorPlugin.java109
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedtypesActionBarContributor.java427
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedtypesEditor.java1786
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedtypesModelWizard.java631
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/.classpath7
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/.project28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/META-INF/MANIFEST.MF25
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/build.properties14
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Duration.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_DurationInterval.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Expression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_InstanceValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Interval.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralBoolean.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralInteger.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralNull.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralString.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralUnlimitedNatural.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_OpaqueExpression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_StringExpression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeExpression.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeInterval.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_ConstantValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_DynamicValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_ListValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_QueryExecutionValue.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateModifySemanticValuesActionConfiguration_featuresToSet_FeatureToSet.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/ConstantValue.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/DynamicValue.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/FeatureToSet.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/ListValue.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/ModifySemanticValuesActionConfiguration.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/QueryExecutionValue.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/plugin.properties37
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/plugin.xml25
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ConstantValueItemProvider.java223
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/DynamicValueItemProvider.java109
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/FeatureToSetItemProvider.java217
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/FeatureValueItemProvider.java112
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ListValueItemProvider.java135
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ModifySemanticValuesActionConfigurationEditPlugin.java108
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ModifySemanticValuesActionConfigurationItemProvider.java175
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ModifySemanticValuesActionConfigurationItemProviderAdapterFactory.java323
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/QueryExecutionValueItemProvider.java135
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/.classpath7
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/.project28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/META-INF/MANIFEST.MF23
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/build.properties14
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/icons/full/obj16/ModifySemanticValuesActionConfigurationModelFile.gifbin0 -> 346 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/icons/full/wizban/NewModifySemanticValuesActionConfiguration.gifbin0 -> 2462 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/plugin.properties57
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/plugin.xml39
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationActionBarContributor.java427
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationEditor.java1833
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationEditorPlugin.java110
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationModelWizard.java632
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/.classpath8
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/.project28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/.settings/org.eclipse.core.resources.prefs4
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/META-INF/MANIFEST.MF27
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/build.properties15
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/icons/Values.gifbin0 -> 361 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/model/ModifySemanticValuesActionConfiguration.ecore31
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/model/ModifySemanticValuesActionConfiguration.ecorediag286
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/model/ModifySemanticValuesActionConfiguration.genmodel32
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/plugin.properties8
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/plugin.xml40
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ConstantValue.java54
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/DynamicValue.java21
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/FeatureToSet.java81
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/FeatureValue.java22
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ListValue.java44
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ModifySemanticValuesActionConfiguration.java46
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ModifySemanticValuesActionConfigurationFactory.java91
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ModifySemanticValuesActionConfigurationPackage.java548
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/QueryExecutionValue.java54
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ConstantValueImpl.java180
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/DynamicValueImpl.java43
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/FeatureToSetImpl.java248
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/FeatureValueImpl.java45
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ListValueImpl.java136
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ModifySemanticValuesActionConfigurationFactoryImpl.java154
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ModifySemanticValuesActionConfigurationImpl.java156
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ModifySemanticValuesActionConfigurationPackageImpl.java384
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/QueryExecutionValueImpl.java161
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationAdapterFactory.java271
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationResourceFactoryImpl.java56
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationResourceImpl.java32
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationSwitch.java279
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationXMLProcessor.java54
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src/org/eclipse/papyrus/diagram/extendedtypes/emf/Activator.java56
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src/org/eclipse/papyrus/diagram/extendedtypes/emf/providers/ModifySemanticValuesActionProvider.java186
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/.classpath7
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/.project28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/META-INF/MANIFEST.MF25
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/about.html28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/build.properties15
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/icons/full/ctool16/CreateApplyStereotypeActionConfiguration_stereotypesToApply_StereotypeToApply.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/icons/full/obj16/ApplyStereotypeActionConfiguration.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/icons/full/obj16/StereotypeToApply.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/plugin.properties30
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/plugin.xml25
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/ApplyStereotypeActionConfigurationEditPlugin.java108
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/ApplyStereotypeActionConfigurationItemProvider.java175
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/ApplyStereotypeActionConfigurationItemProviderAdapterFactory.java227
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/StereotypeToApplyItemProvider.java209
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/.classpath7
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/.project28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/META-INF/MANIFEST.MF23
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/about.html28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/build.properties15
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/icons/full/obj16/ApplyStereotypeActionConfigurationModelFile.gifbin0 -> 346 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/icons/full/wizban/NewApplyStereotypeActionConfiguration.gifbin0 -> 2462 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/plugin.properties57
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/plugin.xml39
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationActionBarContributor.java427
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationEditor.java1785
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationEditorPlugin.java110
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationModelWizard.java631
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/.classpath8
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/.project28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/META-INF/MANIFEST.MF24
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/about.html28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/build.properties17
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/icons/Stereotype.gifbin0 -> 605 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/model/ApplyStereotypeActionConfiguration.ecore19
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/model/ApplyStereotypeActionConfiguration.ecorediag89
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/model/ApplyStereotypeActionConfiguration.genmodel22
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/plugin.properties12
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/plugin.xml40
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/Activator.java92
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/ApplyStereotypeActionConfiguration.java46
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationFactory.java55
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationPackage.java297
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/StereotypeToApply.java99
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationFactoryImpl.java110
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationImpl.java156
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationPackageImpl.java250
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/StereotypeToApplyImpl.java261
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationAdapterFactory.java181
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceFactoryImpl.java56
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceImpl.java32
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationSwitch.java186
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationXMLProcessor.java54
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src/org/eclipse/papyrus/diagram/extendedtypes/uml/providers/ApplyStereotypeActionProvider.java252
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/.classpath8
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/.project28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/.settings/org.eclipse.core.resources.prefs4
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/META-INF/MANIFEST.MF28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/about.html28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/build.properties19
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.ecore41
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.ecorediag230
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.genmodel38
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/plugin.properties12
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/plugin.xml51
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/schema/extendedElementTypeActionProvider.exsd198
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/schema/extendedTypesSetConfiguration.exsd123
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ActionConfiguration.java81
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedElementTypeConfiguration.java236
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedElementTypeSet.java73
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedtypesFactory.java64
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedtypesPackage.java777
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/IconEntry.java81
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/PostActionConfiguration.java21
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/PreActionConfiguration.java21
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ActionConfigurationImpl.java221
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedElementTypeConfigurationImpl.java566
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedElementTypeSetImpl.java226
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedtypesFactoryImpl.java121
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedtypesPackageImpl.java453
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/IconEntryImpl.java221
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/PostActionConfigurationImpl.java43
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/PreActionConfigurationImpl.java43
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesAdapterFactory.java214
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesResourceFactoryImpl.java56
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesResourceImpl.java32
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesSwitch.java237
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesXMLProcessor.java54
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/Activator.java56
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/ExtendedEditHelperAdvice.java106
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/ExtendedSemanticTypeDescriptor.java134
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/ExtendedTypesRegistry.java231
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/IExtendedTypeExtensionPoint.java37
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/advices/ExtendedTypesOwnerAdvice.java102
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/ExtendedElementTypeActionService.java198
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/ExtentedElementTypeActionProviderConfiguration.java82
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/GetAllExtendedElementTypeActionProvidersOperation.java48
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/GetExtendedElementTypeActionProviderOperation.java53
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/IExtendedElementTypeActionProvider.java61
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/ProviderNotFoundException.java36
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/types/ExtendedHintedTypeFactory.java125
-rw-r--r--incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/types/IExtendedHintedElementType.java31
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/.classpath7
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/.project28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/META-INF/MANIFEST.MF23
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/about.html28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/build.properties15
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateConfiguration_icon_IconDescriptor.gifbin0 -> 597 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateDrawerConfiguration_ownedConfigurations_StackConfiguration.gifbin0 -> 101 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateDrawerConfiguration_ownedConfigurations_ToolConfiguration.gifbin0 -> 194 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreatePaletteConfiguration_drawerConfigurations_DrawerConfiguration.gifbin0 -> 349 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateStackConfiguration_toolConfigurations_ToolConfiguration.gifbin0 -> 194 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateToolConfiguration_elementDescriptors_ElementDescriptor.gifbin0 -> 223 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/IconDescriptor.gifbin0 -> 597 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/StackConfiguration.gifbin0 -> 101 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/ToolConfiguration.gifbin0 -> 194 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/new_drawer.gifbin0 -> 349 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/DrawerConfiguration.gifbin0 -> 216 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/ElementDescriptor.gifbin0 -> 129 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/IconDescriptor.gifbin0 -> 597 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/Image.gifbin0 -> 597 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/PaletteConfiguration.gifbin0 -> 633 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/StackConfiguration.gifbin0 -> 101 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/ToolConfiguration.gifbin0 -> 194 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/drawer.gifbin0 -> 216 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/palette_view.gifbin0 -> 633 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/stack.gifbin0 -> 101 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/tool.gifbin0 -> 194 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/plugin.properties49
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/plugin.xml25
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ChildConfigurationItemProvider.java103
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ConfigurationItemProvider.java239
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/DrawerConfigurationItemProvider.java165
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ElementDescriptorItemProvider.java185
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/IconDescriptorItemProvider.java185
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/PaletteConfigurationEditPlugin.java105
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/PaletteConfigurationItemProvider.java160
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/PaletteconfigurationItemProviderAdapterFactory.java323
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/StackConfigurationItemProvider.java160
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ToolConfigurationItemProvider.java211
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/.classpath7
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/.project28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/META-INF/MANIFEST.MF22
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/about.html28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/build.properties15
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/obj16/EcoreModelFile.gifbin0 -> 364 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/obj16/PaletteconfigurationModelFile.gifbin0 -> 633 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/obj16/palette_view.gifbin0 -> 633 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/wizban/NewEcore.gifbin0 -> 3028 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/wizban/NewPaletteconfiguration.gifbin0 -> 3028 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/plugin.properties61
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/plugin.xml39
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteConfigurationEditorPlugin.java107
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteconfigurationActionBarContributor.java427
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteconfigurationEditor.java1786
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteconfigurationModelWizard.java632
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.classpath8
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.project28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.settings/org.eclipse.core.resources.prefs4
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/META-INF/MANIFEST.MF32
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/about.html28
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/build.properties17
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/drawer.gifbin0 -> 216 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/elementTypeIcon.gifbin0 -> 325 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/stack.gifbin0 -> 101 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/testIcon.pngbin0 -> 498 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/tool.gifbin0 -> 194 bytes
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/model/PaletteConfiguration.ecore72
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/model/PaletteConfiguration.ecorediag330
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/model/PaletteConfiguration.genmodel51
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/plugin.properties12
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/plugin.xml26
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ChildConfiguration.java21
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/Configuration.java132
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/DrawerConfiguration.java44
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ElementDescriptor.java73
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/IconDescriptor.java83
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/PaletteConfiguration.java44
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/PaletteconfigurationFactory.java91
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/PaletteconfigurationPackage.java1002
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/StackConfiguration.java44
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ToolConfiguration.java104
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ToolKind.java212
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ChildConfigurationImpl.java43
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ConfigurationImpl.java356
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/DrawerConfigurationImpl.java154
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ElementDescriptorImpl.java210
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/IconDescriptorImpl.java221
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/PaletteConfigurationImpl.java154
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/PaletteconfigurationFactoryImpl.java205
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/PaletteconfigurationPackageImpl.java513
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/StackConfigurationImpl.java154
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ToolConfigurationImpl.java288
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationAdapterFactory.java250
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationResourceFactoryImpl.java56
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationResourceImpl.java32
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationSwitch.java268
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationXMLProcessor.java54
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/Activator.java151
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/descriptor/ExtendedEditHelperAdvice.java51
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/descriptor/ExtendedSemanticTypeDescriptor.java100
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedConnectionToolEntry.java67
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedCreationToolEntry.java69
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedPaletteDrawer.java52
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedPluginPaletteProvider.java521
-rw-r--r--incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/IElementTypesBasedTool.java37
467 files changed, 45943 insertions, 0 deletions
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/.classpath b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/.classpath
new file mode 100644
index 00000000000..cedf0d0d0b5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/.project b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/.project
new file mode 100644
index 00000000000..1321a8d778e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.core.queries.configuration.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/incoming/org.eclipse.papyrus.core.queries.configuration.edit/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..bbe95a46cf3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.core.queries.configuration.edit;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.core.queries.configuration.provider.ConfigurationEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.core.queries.configuration.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.core.queries.configuration;visibility:=reexport,
+ org.eclipse.emf.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.uml;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/about.html b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/build.properties b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/build.properties
new file mode 100644
index 00000000000..349c54c9d8e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/build.properties
@@ -0,0 +1,15 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_Duration.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_Duration.gif
new file mode 100644
index 00000000000..7839cb59536
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_Duration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_DurationInterval.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_DurationInterval.gif
new file mode 100644
index 00000000000..bbdaa350889
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_DurationInterval.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_Expression.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_Expression.gif
new file mode 100644
index 00000000000..b94380bd871
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_Expression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_InstanceValue.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_InstanceValue.gif
new file mode 100644
index 00000000000..1bca29e3795
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_InstanceValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_Interval.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_Interval.gif
new file mode 100644
index 00000000000..7d35c8972d1
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_Interval.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralBoolean.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralBoolean.gif
new file mode 100644
index 00000000000..7f2d45eb492
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralBoolean.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralInteger.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralInteger.gif
new file mode 100644
index 00000000000..58e344bde6e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralInteger.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralNull.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralNull.gif
new file mode 100644
index 00000000000..e3cf235bb60
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralNull.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralString.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralString.gif
new file mode 100644
index 00000000000..ebe3a4888bb
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralString.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralUnlimitedNatural.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralUnlimitedNatural.gif
new file mode 100644
index 00000000000..dfe51cfa69b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_LiteralUnlimitedNatural.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_OpaqueExpression.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_OpaqueExpression.gif
new file mode 100644
index 00000000000..b94380bd871
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_OpaqueExpression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_StringExpression.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_StringExpression.gif
new file mode 100644
index 00000000000..7d35c8972d1
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_StringExpression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_TimeExpression.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_TimeExpression.gif
new file mode 100644
index 00000000000..24c57a05b7e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_TimeExpression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_TimeInterval.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_TimeInterval.gif
new file mode 100644
index 00000000000..a674b69c271
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateConstantParameterValue_valueInstance_TimeInterval.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_ConstantParameterValue.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_ConstantParameterValue.gif
new file mode 100644
index 00000000000..f213cc393ad
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_ConstantParameterValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_ListParameterValue.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_ListParameterValue.gif
new file mode 100644
index 00000000000..888a2c1bacc
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_ListParameterValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_ParameterValue.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_ParameterValue.gif
new file mode 100644
index 00000000000..79a0a45b269
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_ParameterValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_QueryExecutionValue.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_QueryExecutionValue.gif
new file mode 100644
index 00000000000..523057cd5d9
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateModiscoQueryConfiguration_parameterValues_QueryExecutionValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_Duration.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_Duration.gif
new file mode 100644
index 00000000000..7f7c51a1f20
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_Duration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_DurationInterval.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_DurationInterval.gif
new file mode 100644
index 00000000000..2769bc64647
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_DurationInterval.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_Expression.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_Expression.gif
new file mode 100644
index 00000000000..de6af47e2ec
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_Expression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_InstanceValue.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_InstanceValue.gif
new file mode 100644
index 00000000000..cc2ef529556
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_InstanceValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_Interval.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_Interval.gif
new file mode 100644
index 00000000000..0c1ee4c917e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_Interval.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralBoolean.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralBoolean.gif
new file mode 100644
index 00000000000..a382f74844b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralBoolean.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralInteger.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralInteger.gif
new file mode 100644
index 00000000000..b72b5e57a83
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralInteger.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralNull.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralNull.gif
new file mode 100644
index 00000000000..b32e049d4a4
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralNull.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralString.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralString.gif
new file mode 100644
index 00000000000..a89d0ec24fe
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralString.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralUnlimitedNatural.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralUnlimitedNatural.gif
new file mode 100644
index 00000000000..52baab8f56e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_LiteralUnlimitedNatural.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_OpaqueExpression.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_OpaqueExpression.gif
new file mode 100644
index 00000000000..de6af47e2ec
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_OpaqueExpression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_StringExpression.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_StringExpression.gif
new file mode 100644
index 00000000000..0c1ee4c917e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_StringExpression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_TimeExpression.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_TimeExpression.gif
new file mode 100644
index 00000000000..e8233067cc9
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_TimeExpression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_TimeInterval.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_TimeInterval.gif
new file mode 100644
index 00000000000..bc7b7f9c860
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/ctool16/CreateParameterValue_valueInstance_TimeInterval.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ConstantParameterValue.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ConstantParameterValue.gif
new file mode 100644
index 00000000000..134551bff7e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ConstantParameterValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ListParameterValue.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ListParameterValue.gif
new file mode 100644
index 00000000000..4365960a04b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ListParameterValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ModiscoQueryConfiguration.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ModiscoQueryConfiguration.gif
new file mode 100644
index 00000000000..134551bff7e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ModiscoQueryConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ParameterValue.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ParameterValue.gif
new file mode 100644
index 00000000000..2b692560297
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/ParameterValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/QueryExecutionValue.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/QueryExecutionValue.gif
new file mode 100644
index 00000000000..ed874747401
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/icons/full/obj16/QueryExecutionValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/plugin.properties b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/plugin.properties
new file mode 100644
index 00000000000..69cc28400be
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/plugin.properties
@@ -0,0 +1,42 @@
+################################################################################
+# Copyright (c) 2008 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - initial API and implementation
+################################################################################
+pluginName=Configuration Edit Support (Incubation)
+providerName=Eclipse Modeling Project
+
+_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_QueryConfiguration_type = Query Configuration
+_UI_ModiscoQueryConfiguration_type = Modisco Query Configuration
+_UI_ParameterValue_type = Parameter Value
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_ModiscoQueryConfiguration_query_feature = Query
+_UI_ModiscoQueryConfiguration_parameterValues_feature = Parameter Values
+_UI_ParameterValue_parameter_feature = Parameter
+_UI_ParameterValue_valueInstance_feature = Value Instance
+_UI_Unknown_feature = Unspecified
+
+_UI_QueryExecutionValue_type = Query Execution Value
+_UI_ConstantParameterValue_type = Constant Parameter Value
+_UI_QueryExecutionValue_configuration_feature = Configuration
+_UI_ConstantParameterValue_valueInstance_feature = Value Instance
+_UI_QueryConfiguration_name_feature = Name
+_UI_ListParameterValue_type = List Parameter Value
+_UI_ListParameterValue_values_feature = Values
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/plugin.xml b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/plugin.xml
new file mode 100644
index 00000000000..0fe47410538
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/plugin.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <factory
+ uri="http://www.eclipse.org/papyrus/core/queries/0.7"
+ class="org.eclipse.papyrus.core.queries.configuration.provider.ConfigurationItemProviderAdapterFactory"
+ 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/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ConfigurationEditPlugin.java b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ConfigurationEditPlugin.java
new file mode 100644
index 00000000000..3ebbc172909
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ConfigurationEditPlugin.java
@@ -0,0 +1,102 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.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.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the Configuration edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class ConfigurationEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final ConfigurationEditPlugin INSTANCE = new ConfigurationEditPlugin();
+
+ /**
+ * 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 ConfigurationEditPlugin() {
+ super
+ (new ResourceLocator [] {
+ 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/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ConfigurationItemProviderAdapterFactory.java b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ConfigurationItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..345390ab310
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ConfigurationItemProviderAdapterFactory.java
@@ -0,0 +1,275 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.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.core.queries.configuration.util.ConfigurationAdapterFactory;
+
+/**
+ * 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 ConfigurationItemProviderAdapterFactory extends ConfigurationAdapterFactory 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 ConfigurationItemProviderAdapterFactory() {
+ 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.core.queries.configuration.ModiscoQueryConfiguration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModiscoQueryConfigurationItemProvider modiscoQueryConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createModiscoQueryConfigurationAdapter() {
+ if (modiscoQueryConfigurationItemProvider == null) {
+ modiscoQueryConfigurationItemProvider = new ModiscoQueryConfigurationItemProvider(this);
+ }
+
+ return modiscoQueryConfigurationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.core.queries.configuration.QueryExecutionValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QueryExecutionValueItemProvider queryExecutionValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.core.queries.configuration.QueryExecutionValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createQueryExecutionValueAdapter() {
+ if (queryExecutionValueItemProvider == null) {
+ queryExecutionValueItemProvider = new QueryExecutionValueItemProvider(this);
+ }
+
+ return queryExecutionValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConstantParameterValueItemProvider constantParameterValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createConstantParameterValueAdapter() {
+ if (constantParameterValueItemProvider == null) {
+ constantParameterValueItemProvider = new ConstantParameterValueItemProvider(this);
+ }
+
+ return constantParameterValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.core.queries.configuration.ListParameterValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListParameterValueItemProvider listParameterValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.core.queries.configuration.ListParameterValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createListParameterValueAdapter() {
+ if (listParameterValueItemProvider == null) {
+ listParameterValueItemProvider = new ListParameterValueItemProvider(this);
+ }
+
+ return listParameterValueItemProvider;
+ }
+
+ /**
+ * 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 (modiscoQueryConfigurationItemProvider != null) modiscoQueryConfigurationItemProvider.dispose();
+ if (queryExecutionValueItemProvider != null) queryExecutionValueItemProvider.dispose();
+ if (constantParameterValueItemProvider != null) constantParameterValueItemProvider.dispose();
+ if (listParameterValueItemProvider != null) listParameterValueItemProvider.dispose();
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ConstantParameterValueItemProvider.java b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ConstantParameterValueItemProvider.java
new file mode 100644
index 00000000000..3bf6a5d94d1
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ConstantParameterValueItemProvider.java
@@ -0,0 +1,223 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.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.core.queries.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue;
+
+import org.eclipse.uml2.uml.UMLFactory;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConstantParameterValueItemProvider
+ extends ParameterValueItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConstantParameterValueItemProvider(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(ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE);
+ }
+ 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 ConstantParameterValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ConstantParameterValue"));
+ }
+
+ /**
+ * 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_ConstantParameterValue_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(ConstantParameterValue.class)) {
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
+ 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
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createOpaqueExpression()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createExpression()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createStringExpression()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createLiteralInteger()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createLiteralString()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createLiteralBoolean()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createLiteralNull()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createInstanceValue()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createTimeExpression()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createDuration()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createInterval()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createDurationInterval()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createTimeInterval()));
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ListParameterValueItemProvider.java b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ListParameterValueItemProvider.java
new file mode 100644
index 00000000000..30f35c40e68
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ListParameterValueItemProvider.java
@@ -0,0 +1,135 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.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.core.queries.configuration.ConfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.core.queries.configuration.ListParameterValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ListParameterValueItemProvider
+ extends ParameterValueItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ListParameterValueItemProvider(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);
+
+ addValuesPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Values feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuesPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ListParameterValue_values_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ListParameterValue_values_feature", "_UI_ListParameterValue_type"),
+ ConfigurationPackage.Literals.LIST_PARAMETER_VALUE__VALUES,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns ListParameterValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ListParameterValue"));
+ }
+
+ /**
+ * 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_ListParameterValue_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/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ModiscoQueryConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ModiscoQueryConfigurationItemProvider.java
new file mode 100644
index 00000000000..335fd42292d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ModiscoQueryConfigurationItemProvider.java
@@ -0,0 +1,194 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.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.ViewerNotification;
+
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationFactory;
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModiscoQueryConfigurationItemProvider
+ extends QueryConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModiscoQueryConfigurationItemProvider(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);
+
+ addQueryPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Query feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addQueryPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ModiscoQueryConfiguration_query_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ModiscoQueryConfiguration_query_feature", "_UI_ModiscoQueryConfiguration_type"),
+ ConfigurationPackage.Literals.MODISCO_QUERY_CONFIGURATION__QUERY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ConfigurationPackage.Literals.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES);
+ }
+ 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 ModiscoQueryConfiguration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ModiscoQueryConfiguration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ModiscoQueryConfiguration)object).getName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_ModiscoQueryConfiguration_type") :
+ getString("_UI_ModiscoQueryConfiguration_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(ModiscoQueryConfiguration.class)) {
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
+ 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
+ (ConfigurationPackage.Literals.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES,
+ ConfigurationFactory.eINSTANCE.createQueryExecutionValue()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES,
+ ConfigurationFactory.eINSTANCE.createConstantParameterValue()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ConfigurationPackage.Literals.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES,
+ ConfigurationFactory.eINSTANCE.createListParameterValue()));
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ParameterValueItemProvider.java b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ParameterValueItemProvider.java
new file mode 100644
index 00000000000..624d8c4bec8
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/ParameterValueItemProvider.java
@@ -0,0 +1,138 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.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.ItemProviderAdapter;
+
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.core.queries.configuration.ParameterValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ParameterValueItemProvider
+ 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 ParameterValueItemProvider(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);
+
+ addParameterPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterValue_parameter_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ParameterValue_parameter_feature", "_UI_ParameterValue_type"),
+ ConfigurationPackage.Literals.PARAMETER_VALUE__PARAMETER,
+ 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_ParameterValue_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 ConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/QueryConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/QueryConfigurationItemProvider.java
new file mode 100644
index 00000000000..2d441bbaee1
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/QueryConfigurationItemProvider.java
@@ -0,0 +1,150 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.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.core.queries.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.core.queries.configuration.QueryConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.core.queries.configuration.QueryConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryConfigurationItemProvider
+ 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 QueryConfigurationItemProvider(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);
+ }
+ 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_QueryConfiguration_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_QueryConfiguration_name_feature", "_UI_QueryConfiguration_type"),
+ ConfigurationPackage.Literals.QUERY_CONFIGURATION__NAME,
+ 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 = ((QueryConfiguration)object).getName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_QueryConfiguration_type") :
+ getString("_UI_QueryConfiguration_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(QueryConfiguration.class)) {
+ case ConfigurationPackage.QUERY_CONFIGURATION__NAME:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return ConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/QueryExecutionValueItemProvider.java b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/QueryExecutionValueItemProvider.java
new file mode 100644
index 00000000000..732d58e093d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.edit/src-gen/org/eclipse/papyrus/core/queries/configuration/provider/QueryExecutionValueItemProvider.java
@@ -0,0 +1,135 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.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.core.queries.configuration.ConfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.core.queries.configuration.QueryExecutionValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryExecutionValueItemProvider
+ extends ParameterValueItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryExecutionValueItemProvider(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);
+
+ addConfigurationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Configuration feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConfigurationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_QueryExecutionValue_configuration_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_QueryExecutionValue_configuration_feature", "_UI_QueryExecutionValue_type"),
+ ConfigurationPackage.Literals.QUERY_EXECUTION_VALUE__CONFIGURATION,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns QueryExecutionValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/QueryExecutionValue"));
+ }
+
+ /**
+ * 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_QueryExecutionValue_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/incoming/org.eclipse.papyrus.core.queries.configuration.editor/.classpath b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/.classpath
new file mode 100644
index 00000000000..cedf0d0d0b5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.editor/.project b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/.project
new file mode 100644
index 00000000000..d30446fe685
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.core.queries.configuration.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/incoming/org.eclipse.papyrus.core.queries.configuration.editor/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..6e68276a575
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.core.queries.configuration.editor;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.core.queries.configuration.presentation.ConfigurationEditorPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.core.queries.configuration.presentation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources;visibility:=reexport,
+ org.eclipse.papyrus.core.queries.configuration.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.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/incoming/org.eclipse.papyrus.core.queries.configuration.editor/about.html b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.editor/build.properties b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/build.properties
new file mode 100644
index 00000000000..349c54c9d8e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/build.properties
@@ -0,0 +1,15 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.editor/icons/full/obj16/ConfigurationModelFile.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/icons/full/obj16/ConfigurationModelFile.gif
new file mode 100644
index 00000000000..b251792cf8a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/icons/full/obj16/ConfigurationModelFile.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.editor/icons/full/wizban/NewConfiguration.gif b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/icons/full/wizban/NewConfiguration.gif
new file mode 100644
index 00000000000..97fd1e12465
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/icons/full/wizban/NewConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.editor/plugin.properties b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/plugin.properties
new file mode 100644
index 00000000000..398f8b56c5b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/plugin.properties
@@ -0,0 +1,61 @@
+################################################################################
+# Copyright (c) 2008 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - initial API and implementation
+################################################################################
+pluginName=Configuration Editor (Incubation)
+providerName=Eclipse Modeling Project
+
+_UI_ConfigurationEditor_menu = &Configuration 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_ConfigurationModelWizard_label = Configuration Model
+_UI_ConfigurationModelWizard_description = Create a new Configuration model
+
+_UI_ConfigurationEditor_label = Configuration Model Editor
+
+_UI_ConfigurationEditorFilenameDefaultBase = My
+_UI_ConfigurationEditorFilenameExtensions = configuration
+
+_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?
+
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.editor/plugin.xml b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/plugin.xml
new file mode 100644
index 00000000000..3c15d5dae3d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/plugin.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.ui.newWizards">
+ <category
+ id="org.eclipse.emf.ecore.Wizard.category.ID"
+ name="%_UI_Wizard_category"/>
+ <wizard
+ id="org.eclipse.papyrus.core.queries.configuration.presentation.ConfigurationModelWizardID"
+ name="%_UI_ConfigurationModelWizard_label"
+ class="org.eclipse.papyrus.core.queries.configuration.presentation.ConfigurationModelWizard"
+ category="org.eclipse.emf.ecore.Wizard.category.ID"
+ icon="icons/full/obj16/ConfigurationModelFile.gif">
+ <description>%_UI_ConfigurationModelWizard_description</description>
+ <selection class="org.eclipse.core.resources.IResource"/>
+ </wizard>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors">
+ <editor
+ id="org.eclipse.papyrus.core.queries.configuration.presentation.ConfigurationEditorID"
+ name="%_UI_ConfigurationEditor_label"
+ icon="icons/full/obj16/ConfigurationModelFile.gif"
+ extensions="configuration"
+ class="org.eclipse.papyrus.core.queries.configuration.presentation.ConfigurationEditor"
+ contributorClass="org.eclipse.papyrus.core.queries.configuration.presentation.ConfigurationActionBarContributor">
+ </editor>
+ </extension>
+
+</plugin>
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationActionBarContributor.java b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationActionBarContributor.java
new file mode 100644
index 00000000000..f4799162e4a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationActionBarContributor.java
@@ -0,0 +1,427 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the Configuration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConfigurationActionBarContributor
+ 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(ConfigurationEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+ @Override
+ public void run() {
+ try {
+ getPage().showView("org.eclipse.ui.views.PropertySheet");
+ }
+ catch (PartInitException exception) {
+ ConfigurationEditorPlugin.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(ConfigurationEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+ @Override
+ public boolean isEnabled() {
+ return activeEditorPart instanceof IViewerProvider;
+ }
+
+ @Override
+ public void run() {
+ if (activeEditorPart instanceof IViewerProvider) {
+ Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+ if (viewer != null) {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createChildActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createSiblingActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationActionBarContributor() {
+ 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("configuration-settings"));
+ toolBarManager.add(new Separator("configuration-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(ConfigurationEditorPlugin.INSTANCE.getString("_UI_ConfigurationEditor_menu"), "org.eclipse.papyrus.core.queries.configurationMenuID");
+ 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(ConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ submenuManager.insertBefore("additions", createChildMenuManager);
+
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new MenuManager(ConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener
+ (new IMenuListener() {
+ public void menuAboutToShow(IMenuManager menuManager) {
+ menuManager.updateAll(true);
+ }
+ });
+
+ addGlobalActions(submenuManager);
+ }
+
+ /**
+ * When the active editor changes, this remembers the change and registers with it as a selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setActiveEditor(IEditorPart part) {
+ super.setActiveEditor(part);
+ activeEditorPart = part;
+
+ // Switch to the new selection provider.
+ //
+ if (selectionProvider != null) {
+ selectionProvider.removeSelectionChangedListener(this);
+ }
+ if (part == null) {
+ selectionProvider = null;
+ }
+ else {
+ selectionProvider = part.getSite().getSelectionProvider();
+ selectionProvider.addSelectionChangedListener(this);
+
+ // Fake a selection changed event to update the menus.
+ //
+ if (selectionProvider.getSelection() != null) {
+ selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+ }
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+ * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+ * that can be added to the selected object and updating the menus accordingly.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void selectionChanged(SelectionChangedEvent event) {
+ // Remove any menu items for old selection.
+ //
+ if (createChildMenuManager != null) {
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if (createSiblingMenuManager != null) {
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection<?> newChildDescriptors = null;
+ Collection<?> newSiblingDescriptors = null;
+
+ ISelection selection = event.getSelection();
+ if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+
+ EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+ createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+ if (createChildMenuManager != null) {
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if (createSiblingMenuManager != null) {
+ populateManager(createSiblingMenuManager, createSiblingActions, null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+ * by inserting them before the specified contribution item <code>contributionID</code>.
+ * If <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+ if (actions != null) {
+ for (IAction action : actions) {
+ if (contributionID != null) {
+ manager.insertBefore(contributionID, action);
+ }
+ else {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+ if (actions != null) {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++) {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while (contributionItem instanceof SubContributionItem) {
+ contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+ }
+
+ // Delete the ActionContributionItems with matching action.
+ //
+ if (contributionItem instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem)contributionItem).getAction();
+ if (actions.contains(action)) {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager) {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+
+ submenuManager = new MenuManager(ConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+
+ submenuManager = new MenuManager(ConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void addGlobalActions(IMenuManager menuManager) {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted objects.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean removeAllReferencesOnDelete() {
+ return true;
+ }
+
+} \ No newline at end of file
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationEditor.java b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationEditor.java
new file mode 100644
index 00000000000..d9ed28157ae
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationEditor.java
@@ -0,0 +1,1784 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.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.EObject;
+import org.eclipse.emf.ecore.EValidator;
+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.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.core.queries.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.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 Configuration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConfigurationEditor
+ 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 PropertySheetPage 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(ConfigurationEditor.this);
+
+ setCurrentViewer(contentOutlineViewer);
+ }
+ }
+ else if (p instanceof PropertySheet) {
+ if (((PropertySheet)p).getCurrentPage() == propertySheetPage) {
+ getActionBarContributor().setActiveEditor(ConfigurationEditor.this);
+ handleActivate();
+ }
+ }
+ else if (p == ConfigurationEditor.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);
+ }
+ };
+
+ /**
+ * 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 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(ConfigurationEditor.this, false);
+ }
+ }
+ });
+ }
+
+ if (!visitor.getChangedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ changedResources.addAll(visitor.getChangedResources());
+ if (getSite().getPage().getActiveEditor() == ConfigurationEditor.this) {
+ handleActivate();
+ }
+ }
+ });
+ }
+ }
+ catch (CoreException exception) {
+ ConfigurationEditorPlugin.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(ConfigurationEditor.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.core.queries.configuration.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) {
+ ConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+ markerHelper.deleteMarkers(editingDomain.getResourceSet());
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ try {
+ markerHelper.createMarkers(diagnostic);
+ }
+ catch (CoreException exception) {
+ ConfigurationEditorPlugin.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 ConfigurationEditor() {
+ 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 ConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new EcoreItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new QueryItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new UMLItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+ // Create the command stack that will notify this editor as commands are executed.
+ //
+ BasicCommandStack commandStack = new BasicCommandStack();
+
+ // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+ //
+ commandStack.addCommandStackListener
+ (new CommandStackListener() {
+ public void commandStackChanged(final EventObject event) {
+ getContainer().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+
+ // Try to select the affected objects.
+ //
+ Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+ if (mostRecentCommand != null) {
+ setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+ }
+ if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) {
+ 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() };
+ 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.core.queries.configuration.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.core.queries.configuration.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(), ConfigurationEditor.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(), ConfigurationEditor.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(), ConfigurationEditor.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(), ConfigurationEditor.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(), ConfigurationEditor.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(), ConfigurationEditor.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() {
+ if (propertySheetPage == null) {
+ propertySheetPage =
+ new ExtendedPropertySheetPage(editingDomain) {
+ @Override
+ public void setSelectionToViewer(List<?> selection) {
+ ConfigurationEditor.this.setSelectionToViewer(selection);
+ ConfigurationEditor.this.setFocus();
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ };
+ propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+ }
+
+ 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);
+
+ // 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.
+ //
+ ConfigurationEditorPlugin.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) {
+ try {
+ if (marker.getType().equals(EValidator.MARKER)) {
+ String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
+ if (uriAttribute != null) {
+ URI uri = URI.createURI(uriAttribute);
+ EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
+ if (eObject != null) {
+ setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
+ }
+ }
+ }
+ }
+ catch (CoreException exception) {
+ ConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ /**
+ * 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 ConfigurationEditorPlugin.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 ConfigurationEditorPlugin.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);
+ }
+
+ if (propertySheetPage != null) {
+ 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/incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationEditorPlugin.java b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationEditorPlugin.java
new file mode 100644
index 00000000000..e871d73496d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationEditorPlugin.java
@@ -0,0 +1,104 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.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.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the Configuration editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class ConfigurationEditorPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final ConfigurationEditorPlugin INSTANCE = new ConfigurationEditorPlugin();
+
+ /**
+ * 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 ConfigurationEditorPlugin() {
+ super
+ (new ResourceLocator [] {
+ 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/incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationModelWizard.java b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationModelWizard.java
new file mode 100644
index 00000000000..4ae7d323902
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration.editor/src-gen/org/eclipse/papyrus/core/queries/configuration/presentation/ConfigurationModelWizard.java
@@ -0,0 +1,632 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.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.core.queries.configuration.ConfigurationFactory;
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.core.queries.configuration.provider.ConfigurationEditPlugin;
+
+
+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 ConfigurationModelWizard 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(ConfigurationEditorPlugin.INSTANCE.getString("_UI_ConfigurationEditorFilenameExtensions").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 =
+ ConfigurationEditorPlugin.INSTANCE.getString("_UI_ConfigurationEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+ /**
+ * This caches an instance of the model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationPackage configurationPackage = ConfigurationPackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationFactory configurationFactory = configurationPackage.getConfigurationFactory();
+
+ /**
+ * This is the file creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationModelWizardInitialObjectCreationPage 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(ConfigurationEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(ConfigurationEditorPlugin.INSTANCE.getImage("full/wizban/NewConfiguration")));
+ }
+
+ /**
+ * 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 : configurationPackage.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)configurationPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = configurationFactory.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) {
+ ConfigurationEditorPlugin.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(), ConfigurationEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception exception) {
+ ConfigurationEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ConfigurationModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationModelWizardNewFileCreationPage(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(ConfigurationEditorPlugin.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 ConfigurationModelWizardInitialObjectCreationPage 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 ConfigurationModelWizardInitialObjectCreationPage(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(ConfigurationEditorPlugin.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(ConfigurationEditorPlugin.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 ConfigurationEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+ }
+ catch(MissingResourceException mre) {
+ ConfigurationEditorPlugin.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(ConfigurationEditorPlugin.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 ConfigurationModelWizardNewFileCreationPage("Whatever", selection);
+ newFileCreationPage.setTitle(ConfigurationEditorPlugin.INSTANCE.getString("_UI_ConfigurationModelWizard_label"));
+ newFileCreationPage.setDescription(ConfigurationEditorPlugin.INSTANCE.getString("_UI_ConfigurationModelWizard_description"));
+ newFileCreationPage.setFileName(ConfigurationEditorPlugin.INSTANCE.getString("_UI_ConfigurationEditorFilenameDefaultBase") + "." + 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 = ConfigurationEditorPlugin.INSTANCE.getString("_UI_ConfigurationEditorFilenameDefaultBase");
+ 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 ConfigurationModelWizardInitialObjectCreationPage("Whatever2");
+ initialObjectCreationPage.setTitle(ConfigurationEditorPlugin.INSTANCE.getString("_UI_ConfigurationModelWizard_label"));
+ initialObjectCreationPage.setDescription(ConfigurationEditorPlugin.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/incoming/org.eclipse.papyrus.core.queries.configuration/.classpath b/incoming/org.eclipse.papyrus.core.queries.configuration/.classpath
new file mode 100644
index 00000000000..cedf0d0d0b5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/.project b/incoming/org.eclipse.papyrus.core.queries.configuration/.project
new file mode 100644
index 00000000000..047781ecf83
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.core.queries.configuration</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/.settings/org.eclipse.core.resources.prefs b/incoming/org.eclipse.papyrus.core.queries.configuration/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..7cceaebc432
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+#Thu Oct 07 19:29:54 CEST 2010
+eclipse.preferences.version=1
+encoding//model/Configuration.ecore=UTF-8
+encoding//model/Configuration.ecorediag=UTF-8
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/.settings/org.eclipse.jdt.core.prefs b/incoming/org.eclipse.papyrus.core.queries.configuration/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..2010cb0a8ba
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Wed Oct 06 16:11:35 CEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.core.queries.configuration/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..f5ce91d158b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.core.queries.configuration;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.core.queries.configuration.plugin.Activator$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.core.queries.configuration,
+ org.eclipse.papyrus.core.queries.configuration.impl,
+ org.eclipse.papyrus.core.queries.configuration.plugin,
+ org.eclipse.papyrus.core.queries.configuration.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query;visibility:=reexport,
+ org.eclipse.uml2.uml;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/about.html b/incoming/org.eclipse.papyrus.core.queries.configuration/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/build.properties b/incoming/org.eclipse.papyrus.core.queries.configuration/build.properties
new file mode 100644
index 00000000000..1f07389e96a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/build.properties
@@ -0,0 +1,15 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecore b/incoming/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecore
new file mode 100644
index 00000000000..e4929ff4612
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecore
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="configuration"
+ nsURI="http://www.eclipse.org/papyrus/core/queries/0.7" nsPrefix="configuration">
+ <eClassifiers xsi:type="ecore:EClass" name="QueryConfiguration" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ModiscoQueryConfiguration" eSuperTypes="#//QueryConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="query" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameterValues" upperBound="-1"
+ eType="#//ParameterValue" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ParameterValue" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQueryParameter"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="QueryExecutionValue" eSuperTypes="#//ParameterValue">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="configuration" lowerBound="1"
+ eType="#//QueryConfiguration"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConstantParameterValue" eSuperTypes="#//ParameterValue">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="valueInstance" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ListParameterValue" eSuperTypes="#//ParameterValue">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1"
+ eType="#//ParameterValue"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecorediag b/incoming/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecorediag
new file mode 100644
index 00000000000..7b7dc6485ef
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecorediag
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_yhu7MdFTEd-fOo9it8hYhw" type="EcoreTools" name="QueryConfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_7kfVINFTEd-fOo9it8hYhw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_7kfVI9FTEd-fOo9it8hYhw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_7kfVJNFTEd-fOo9it8hYhw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_7kfVJdFTEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7kfVJtFTEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7kfVJ9FTEd-fOo9it8hYhw"/>
+ <layoutConstraint xmi:type="notation:Ratio" xmi:id="_8dHmQNFTEd-fOo9it8hYhw" value="0.3"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7kfVKNFTEd-fOo9it8hYhw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_7kfVKdFTEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7kfVKtFTEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7kfVK9FTEd-fOo9it8hYhw"/>
+ <layoutConstraint xmi:type="notation:Ratio" xmi:id="_8dHmQdFTEd-fOo9it8hYhw" value="0.3"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_7kfVIdFTEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Configuration.ecore#//ModiscoQueryConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7kfVItFTEd-fOo9it8hYhw" x="90" y="185" width="193" height="178"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NUtOcNFUEd-fOo9it8hYhw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_NUtOc9FUEd-fOo9it8hYhw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_NUtOdNFUEd-fOo9it8hYhw" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_vMb9wdVNEd-eSfFwd2KHyw" type="2001">
+ <element xmi:type="ecore:EAttribute" href="Configuration.ecore#//QueryConfiguration/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vMb9wtVNEd-eSfFwd2KHyw"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_NUtOddFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NUtOdtFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NUtOd9FUEd-fOo9it8hYhw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NUtOeNFUEd-fOo9it8hYhw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_NUtOedFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NUtOetFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NUtOe9FUEd-fOo9it8hYhw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_NUtOcdFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Configuration.ecore#//QueryConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NUtOctFUEd-fOo9it8hYhw" x="125" y="100"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PeY3wNFUEd-fOo9it8hYhw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pe_UuNFUEd-fOo9it8hYhw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Pe_UudFUEd-fOo9it8hYhw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_PeiowNFUEd-fOo9it8hYhw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_PeiowdFUEd-fOo9it8hYhw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_PeiowtFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Peiow9FUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PeioxNFUEd-fOo9it8hYhw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PeioxdFUEd-fOo9it8hYhw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_PeioxtFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Peiox9FUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PeioyNFUEd-fOo9it8hYhw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_PeY3wdFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="14599595"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PeY3wtFUEd-fOo9it8hYhw" x="400" y="155" width="258"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_SV-I4NFUEd-fOo9it8hYhw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_SWH54NFUEd-fOo9it8hYhw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_SWH54dFUEd-fOo9it8hYhw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_SWH54tFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SWH549FUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SWH55NFUEd-fOo9it8hYhw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_SWH55dFUEd-fOo9it8hYhw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_SWH55tFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SWH559FUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SWH56NFUEd-fOo9it8hYhw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_SV-I4dFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Configuration.ecore#//ParameterValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SV-I4tFUEd-fOo9it8hYhw" x="400" y="295" width="258" height="108"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_brgU4NFUEd-fOo9it8hYhw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_brqF6NFUEd-fOo9it8hYhw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_brqF6dFUEd-fOo9it8hYhw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_brgU49FUEd-fOo9it8hYhw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_brgU5NFUEd-fOo9it8hYhw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_brgU5dFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_brgU5tFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_brgU59FUEd-fOo9it8hYhw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_brgU6NFUEd-fOo9it8hYhw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_brgU6dFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_brgU6tFUEd-fOo9it8hYhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_brgU69FUEd-fOo9it8hYhw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_brgU4dFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10" fillColor="14599595"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQueryParameter"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_brgU4tFUEd-fOo9it8hYhw" x="785" y="190" width="218" height="158"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EyyiUNK1Ed-6Cr0DOh7rhg" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E0ucANK1Ed-6Cr0DOh7rhg" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E0ucAdK1Ed-6Cr0DOh7rhg" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EyyiU9K1Ed-6Cr0DOh7rhg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EyyiVNK1Ed-6Cr0DOh7rhg" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EyyiVdK1Ed-6Cr0DOh7rhg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EyyiVtK1Ed-6Cr0DOh7rhg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EyyiV9K1Ed-6Cr0DOh7rhg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EyyiWNK1Ed-6Cr0DOh7rhg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EyyiWdK1Ed-6Cr0DOh7rhg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EyyiWtK1Ed-6Cr0DOh7rhg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EyyiW9K1Ed-6Cr0DOh7rhg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EyyiUdK1Ed-6Cr0DOh7rhg" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EyyiUtK1Ed-6Cr0DOh7rhg" x="405" y="560" width="218" height="73"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_qTpOYdVDEd--sr5_k25cmA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_qTpOZNVDEd--sr5_k25cmA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_qTpOZdVDEd--sr5_k25cmA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_qTpOZtVDEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_qTpOZ9VDEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_qTpOaNVDEd--sr5_k25cmA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_qTpOadVDEd--sr5_k25cmA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_qTpOatVDEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_qTpOa9VDEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_qTpObNVDEd--sr5_k25cmA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_qTpOYtVDEd--sr5_k25cmA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Configuration.ecore#//QueryExecutionValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qTpOY9VDEd--sr5_k25cmA" x="215" y="450" width="162" height="63"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PD5qINVEEd--sr5_k25cmA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_PD5qI9VEEd--sr5_k25cmA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_PD5qJNVEEd--sr5_k25cmA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_PD5qJdVEEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PD5qJtVEEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PD5qJ9VEEd--sr5_k25cmA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PD5qKNVEEd--sr5_k25cmA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_PD5qKdVEEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PD5qKtVEEd--sr5_k25cmA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PD5qK9VEEd--sr5_k25cmA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_PD5qIdVEEd--sr5_k25cmA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Configuration.ecore#//ConstantParameterValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PD5qItVEEd--sr5_k25cmA" x="435" y="450" height="63"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5MnHINXaEd-0J-FKW8HdHA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_5Mw4INXaEd-0J-FKW8HdHA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_5Mw4IdXaEd-0J-FKW8HdHA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_5Mw4ItXaEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5Mw4I9XaEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5Mw4JNXaEd-0J-FKW8HdHA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5Mw4JdXaEd-0J-FKW8HdHA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_5Mw4JtXaEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5Mw4J9XaEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5Mw4KNXaEd-0J-FKW8HdHA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_5MnHIdXaEd-0J-FKW8HdHA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Configuration.ecore#//ListParameterValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MnHItXaEd-0J-FKW8HdHA" x="655" y="450" width="152" height="63"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_QyE1MNXeEd-0J-FKW8HdHA" type="Note" description="Can return a single element or a collection of elements" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_QyE1NNXeEd-0J-FKW8HdHA" type="DiagramName">
+ <element xsi:nil="true"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_QyE1NdXeEd-0J-FKW8HdHA" type="Description">
+ <element xsi:nil="true"/>
+ </children>
+ <styles xmi:type="notation:TextStyle" xmi:id="_QyE1MdXeEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:LineTypeStyle" xmi:id="_QyE1MtXeEd-0J-FKW8HdHA"/>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyE1M9XeEd-0J-FKW8HdHA" x="35" y="550" width="211" height="46"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VuRpcNXeEd-0J-FKW8HdHA" type="Note" description="Returns only one element" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_VuRpdNXeEd-0J-FKW8HdHA" type="DiagramName">
+ <element xsi:nil="true"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_VuRpddXeEd-0J-FKW8HdHA" type="Description">
+ <element xsi:nil="true"/>
+ </children>
+ <styles xmi:type="notation:TextStyle" xmi:id="_VuRpcdXeEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:LineTypeStyle" xmi:id="_VuRpctXeEd-0J-FKW8HdHA"/>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VuRpc9XeEd-0J-FKW8HdHA" x="656" y="547" width="165" height="34"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_yhu7MtFTEd-fOo9it8hYhw"/>
+ <element xmi:type="ecore:EPackage" href="Configuration.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_NU2YaNFUEd-fOo9it8hYhw" type="3003" source="_7kfVINFTEd-fOo9it8hYhw" target="_NUtOcNFUEd-fOo9it8hYhw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_NU2YadFUEd-fOo9it8hYhw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NU2YatFUEd-fOo9it8hYhw"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NU2Ya9FUEd-fOo9it8hYhw" points="[-6, -20, 113, 381]$[-119, -400, 0, 1]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Pe_UsNFUEd-fOo9it8hYhw" type="3002" source="_7kfVINFTEd-fOo9it8hYhw" target="_PeY3wNFUEd-fOo9it8hYhw">
+ <children xmi:type="notation:Node" xmi:id="_Pe_UtNFUEd-fOo9it8hYhw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Pe_UtdFUEd-fOo9it8hYhw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Pe_UttFUEd-fOo9it8hYhw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Pe_Ut9FUEd-fOo9it8hYhw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Pe_UsdFUEd-fOo9it8hYhw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Pe_UstFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Configuration.ecore#//ModiscoQueryConfiguration/query"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Pe_Us9FUEd-fOo9it8hYhw" points="[-11, -20, 137, 256]$[-148, -275, 0, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_P-IHwNFUEd-fOo9it8hYhw" id="(0.9481865284974094,0.1853932584269663)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XPWSoNFUEd-fOo9it8hYhw" type="3002" source="_7kfVINFTEd-fOo9it8hYhw" target="_SV-I4NFUEd-fOo9it8hYhw">
+ <children xmi:type="notation:Node" xmi:id="_XPWSpNFUEd-fOo9it8hYhw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XPWSpdFUEd-fOo9it8hYhw" x="-40" y="21"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XPWSptFUEd-fOo9it8hYhw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XPWSp9FUEd-fOo9it8hYhw" x="1" y="-12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XPWSodFUEd-fOo9it8hYhw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XPWSotFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Configuration.ecore#//ModiscoQueryConfiguration/parameterValues"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XPWSo9FUEd-fOo9it8hYhw" points="[9, 20, -45, -101]$[55, 120, 1, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7GVAMNFYEd-fOo9it8hYhw" id="(0.9378238341968912,0.7358490566037735)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XPWSqNFUEd-fOo9it8hYhw" id="(0.04435483870967742,0.2037037037037037)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_brqF4NFUEd-fOo9it8hYhw" type="3002" source="_PeY3wNFUEd-fOo9it8hYhw" target="_brgU4NFUEd-fOo9it8hYhw">
+ <children xmi:type="notation:Node" xmi:id="_brqF5NFUEd-fOo9it8hYhw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_brqF5dFUEd-fOo9it8hYhw" x="-18" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_brqF5tFUEd-fOo9it8hYhw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_brqF59FUEd-fOo9it8hYhw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_brqF4dFUEd-fOo9it8hYhw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_brqF4tFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery/parameters"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_brqF49FUEd-fOo9it8hYhw" points="[-90, -63, 373, 266]$[-462, -328, 1, 1]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5mVVUNVDEd--sr5_k25cmA" id="(0.03211009174311927,0.1962025316455696)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_ddpn8NFUEd-fOo9it8hYhw" type="3002" source="_SV-I4NFUEd-fOo9it8hYhw" target="_brgU4NFUEd-fOo9it8hYhw">
+ <children xmi:type="notation:Node" xmi:id="_ddpn9NFUEd-fOo9it8hYhw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ddpn9dFUEd-fOo9it8hYhw" x="-21" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ddpn9tFUEd-fOo9it8hYhw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ddpn99FUEd-fOo9it8hYhw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ddpn8dFUEd-fOo9it8hYhw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ddpn8tFUEd-fOo9it8hYhw" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Configuration.ecore#//ParameterValue/parameter"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ddpn89FUEd-fOo9it8hYhw" points="[12, -1, -237, 32]$[141, -19, -108, 14]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ddpn-NFUEd-fOo9it8hYhw" id="(0.9516129032258065,0.08974358974358974)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_79uqgNVDEd--sr5_k25cmA" id="(0.0779816513761468,0.7278481012658228)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Ezr6MNK1Ed-6Cr0DOh7rhg" type="3002" source="_PD5qINVEEd--sr5_k25cmA" target="_EyyiUNK1Ed-6Cr0DOh7rhg">
+ <children xmi:type="notation:Node" xmi:id="_Ezr6NNK1Ed-6Cr0DOh7rhg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ezr6NdK1Ed-6Cr0DOh7rhg" x="-3" y="-46"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ezr6NtK1Ed-6Cr0DOh7rhg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ezr6N9K1Ed-6Cr0DOh7rhg" x="-3" y="17"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ezr6MdK1Ed-6Cr0DOh7rhg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Ezr6MtK1Ed-6Cr0DOh7rhg" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Configuration.ecore#//ConstantParameterValue/valueInstance"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ezr6M9K1Ed-6Cr0DOh7rhg" points="[-38, -38, 421, 421]$[-458, -458, 1, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GRG6cNK1Ed-6Cr0DOh7rhg" id="(0.4785276073619632,0.9523809523809523)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_tF3eYNVDEd--sr5_k25cmA" type="3003" source="_qTpOYdVDEd--sr5_k25cmA" target="_SV-I4NFUEd-fOo9it8hYhw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_tF3eYdVDEd--sr5_k25cmA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_tF3eYtVDEd--sr5_k25cmA"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tF3eY9VDEd--sr5_k25cmA" points="[50, -14, -205, 57]$[50, -39, -205, 32]$[240, -39, -15, 32]$[240, -63, -15, 8]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tGAoUNVDEd--sr5_k25cmA" id="(0.4074074074074074,0.22950819672131148)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kh7TwNVEEd--sr5_k25cmA" id="(0.5310077519379846,0.9259259259259259)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_vMRKMNVDEd--sr5_k25cmA" type="3002" source="_qTpOYdVDEd--sr5_k25cmA" target="_NUtOcNFUEd-fOo9it8hYhw">
+ <children xmi:type="notation:Node" xmi:id="_vMRKNNVDEd--sr5_k25cmA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vMRKNdVDEd--sr5_k25cmA" x="57" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vMRKNtVDEd--sr5_k25cmA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vMRKN9VDEd--sr5_k25cmA" x="89" y="13"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_vMRKMdVDEd--sr5_k25cmA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_vMRKMtVDEd--sr5_k25cmA" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Configuration.ecore#//QueryExecutionValue/configuration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vMRKM9VDEd--sr5_k25cmA" points="[-9, -1, 24, 361]$[-211, -4, -178, 358]$[-211, -360, -178, 2]$[-99, -360, -66, 2]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vMRKONVDEd--sr5_k25cmA" id="(0.06172839506172839,0.5737704918032787)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XtUXANVEEd--sr5_k25cmA" type="3003" source="_PD5qINVEEd--sr5_k25cmA" target="_SV-I4NFUEd-fOo9it8hYhw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XtUXAdVEEd--sr5_k25cmA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XtUXAtVEEd--sr5_k25cmA"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XtUXA9VEEd--sr5_k25cmA" points="[-31, -4, -26, 59]$[-31, -29, -26, 34]$[-2, -29, 3, 34]$[-2, -53, 3, 10]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XtUXBNVEEd--sr5_k25cmA" id="(0.5398773006134969,0.07936507936507936)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XtUXBdVEEd--sr5_k25cmA" id="(0.4573643410852713,0.9166666666666666)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_9AY6wNXaEd-0J-FKW8HdHA" type="3003" source="_5MnHINXaEd-0J-FKW8HdHA" target="_SV-I4NFUEd-fOo9it8hYhw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_9AY6wdXaEd-0J-FKW8HdHA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_9AY6wtXaEd-0J-FKW8HdHA"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9AY6w9XaEd-0J-FKW8HdHA" points="[-41, -4, 194, 61]$[-41, -29, 194, 36]$[-203, -29, 32, 36]$[-203, -53, 32, 12]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9AY6xNXaEd-0J-FKW8HdHA" id="(0.45394736842105265,0.07936507936507936)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9AY6xdXaEd-0J-FKW8HdHA" id="(0.3467741935483871,0.8888888888888888)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_BLQ_wNXbEd-0J-FKW8HdHA" type="3002" source="_5MnHINXaEd-0J-FKW8HdHA" target="_SV-I4NFUEd-fOo9it8hYhw">
+ <children xmi:type="notation:Node" xmi:id="_BLQ_xNXbEd-0J-FKW8HdHA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_BLQ_xdXbEd-0J-FKW8HdHA" x="5" y="14"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_BLQ_xtXbEd-0J-FKW8HdHA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_BLQ_x9XbEd-0J-FKW8HdHA" x="12" y="-11"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_BLQ_wdXbEd-0J-FKW8HdHA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_BLQ_wtXbEd-0J-FKW8HdHA" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Configuration.ecore#//ListParameterValue/values"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BLQ_w9XbEd-0J-FKW8HdHA" points="[0, -14, 121, 73]$[0, -87, 121, 0]$[-106, -87, 15, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BLQ_yNXbEd-0J-FKW8HdHA" id="(0.7171052631578947,0.23809523809523808)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BLQ_ydXbEd-0J-FKW8HdHA" id="(0.9395161290322581,0.7777777777777778)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Uh-1cNXeEd-0J-FKW8HdHA" type="NoteAttachment" source="_QyE1MNXeEd-0J-FKW8HdHA" target="_qTpOYdVDEd--sr5_k25cmA" lineWidth="1">
+ <styles xmi:type="notation:ArrowStyle" xmi:id="_Uh-1cdXeEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:LineTypeStyle" xmi:id="_Uh-1ctXeEd-0J-FKW8HdHA"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Uh-1c9XeEd-0J-FKW8HdHA" points="[6, -12, -29, 55]$[36, -51, 1, 16]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UiImcNXeEd-0J-FKW8HdHA" id="(0.7582938388625592,0.2608695652173913)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UiImcdXeEd-0J-FKW8HdHA" id="(0.09876543209876543,0.746031746031746)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_YSfSoNXeEd-0J-FKW8HdHA" type="NoteAttachment" source="_VuRpcNXeEd-0J-FKW8HdHA" target="_PD5qINVEEd--sr5_k25cmA" lineWidth="1">
+ <styles xmi:type="notation:ArrowStyle" xmi:id="_YSfSodXeEd-0J-FKW8HdHA"/>
+ <styles xmi:type="notation:LineTypeStyle" xmi:id="_YSfSotXeEd-0J-FKW8HdHA"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YSfSo9XeEd-0J-FKW8HdHA" points="[-13, -8, 90, 60]$[-101, -44, 2, 24]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YSfSpNXeEd-0J-FKW8HdHA" id="(0.10909090909090909,0.23529411764705882)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YSfSpdXeEd-0J-FKW8HdHA" id="(0.8466257668711656,0.6190476190476191)"/>
+ </edges>
+</notation:Diagram>
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/model/Configuration.genmodel b/incoming/org.eclipse.papyrus.core.queries.configuration/model/Configuration.genmodel
new file mode 100644
index 00000000000..f123befae84
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/model/Configuration.genmodel
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.core.queries.configuration/src-gen"
+ editDirectory="/org.eclipse.papyrus.core.queries.configuration.edit/src-gen" editorDirectory="/org.eclipse.papyrus.core.queries.configuration.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.core.queries.configuration" modelName="Configuration"
+ modelPluginClass="org.eclipse.papyrus.core.queries.configuration.plugin.Activator"
+ testsDirectory="/org.eclipse.papyrus.core.queries.configuration.tests/src-gen"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.genmodel#//query platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
+ <foreignModel>Configuration.ecore</foreignModel>
+ <genPackages prefix="Configuration" basePackage="org.eclipse.papyrus.core.queries"
+ resource="XML" disposableProviderFactory="true" ecorePackage="Configuration.ecore#/">
+ <genClasses image="false" ecoreClass="Configuration.ecore#//QueryConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Configuration.ecore#//QueryConfiguration/name"/>
+ </genClasses>
+ <genClasses ecoreClass="Configuration.ecore#//ModiscoQueryConfiguration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Configuration.ecore#//ModiscoQueryConfiguration/query"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Configuration.ecore#//ModiscoQueryConfiguration/parameterValues"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="Configuration.ecore#//ParameterValue">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Configuration.ecore#//ParameterValue/parameter"/>
+ </genClasses>
+ <genClasses ecoreClass="Configuration.ecore#//QueryExecutionValue">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Configuration.ecore#//QueryExecutionValue/configuration"/>
+ </genClasses>
+ <genClasses ecoreClass="Configuration.ecore#//ConstantParameterValue">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Configuration.ecore#//ConstantParameterValue/valueInstance"/>
+ </genClasses>
+ <genClasses ecoreClass="Configuration.ecore#//ListParameterValue">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Configuration.ecore#//ListParameterValue/values"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/plugin.properties b/incoming/org.eclipse.papyrus.core.queries.configuration/plugin.properties
new file mode 100644
index 00000000000..27eac336a7e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/plugin.properties
@@ -0,0 +1,12 @@
+################################################################################
+# Copyright (c) 2008 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - initial API and implementation
+################################################################################
+pluginName=Configuration Model for queries (Incubation)
+providerName=Eclipse Modeling Project
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/plugin.xml b/incoming/org.eclipse.papyrus.core.queries.configuration/plugin.xml
new file mode 100644
index 00000000000..2841d0186cb
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/plugin.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/papyrus/core/queries/0.7"
+ class="org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage"
+ genModel="model/Configuration.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="configuration"
+ class="org.eclipse.papyrus.core.queries.configuration.util.ConfigurationResourceFactoryImpl"/>
+ </extension>
+
+</plugin>
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ConfigurationFactory.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ConfigurationFactory.java
new file mode 100644
index 00000000000..8a0a991bca6
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ConfigurationFactory.java
@@ -0,0 +1,73 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage
+ * @generated
+ */
+public interface ConfigurationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ConfigurationFactory eINSTANCE = org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Modisco Query Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Modisco Query Configuration</em>'.
+ * @generated
+ */
+ ModiscoQueryConfiguration createModiscoQueryConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Query Execution Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Query Execution Value</em>'.
+ * @generated
+ */
+ QueryExecutionValue createQueryExecutionValue();
+
+ /**
+ * Returns a new object of class '<em>Constant Parameter Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Constant Parameter Value</em>'.
+ * @generated
+ */
+ ConstantParameterValue createConstantParameterValue();
+
+ /**
+ * Returns a new object of class '<em>List Parameter Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>List Parameter Value</em>'.
+ * @generated
+ */
+ ListParameterValue createListParameterValue();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ConfigurationPackage getConfigurationPackage();
+
+} //ConfigurationFactory
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ConfigurationPackage.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ConfigurationPackage.java
new file mode 100644
index 00000000000..d7444dca7b6
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ConfigurationPackage.java
@@ -0,0 +1,553 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ConfigurationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "configuration";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/core/queries/0.7";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "configuration";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ConfigurationPackage eINSTANCE = org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.core.queries.configuration.impl.QueryConfigurationImpl <em>Query Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.QueryConfigurationImpl
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationPackageImpl#getQueryConfiguration()
+ * @generated
+ */
+ int QUERY_CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CONFIGURATION__NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Query Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CONFIGURATION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.core.queries.configuration.impl.ModiscoQueryConfigurationImpl <em>Modisco Query Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ModiscoQueryConfigurationImpl
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationPackageImpl#getModiscoQueryConfiguration()
+ * @generated
+ */
+ int MODISCO_QUERY_CONFIGURATION = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODISCO_QUERY_CONFIGURATION__NAME = QUERY_CONFIGURATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODISCO_QUERY_CONFIGURATION__QUERY = QUERY_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Parameter Values</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES = QUERY_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Modisco Query Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODISCO_QUERY_CONFIGURATION_FEATURE_COUNT = QUERY_CONFIGURATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.core.queries.configuration.impl.ParameterValueImpl <em>Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ParameterValueImpl
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationPackageImpl#getParameterValue()
+ * @generated
+ */
+ int PARAMETER_VALUE = 2;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER_VALUE__PARAMETER = 0;
+
+ /**
+ * The number of structural features of the '<em>Parameter Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER_VALUE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.core.queries.configuration.impl.QueryExecutionValueImpl <em>Query Execution Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.QueryExecutionValueImpl
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationPackageImpl#getQueryExecutionValue()
+ * @generated
+ */
+ int QUERY_EXECUTION_VALUE = 3;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_EXECUTION_VALUE__PARAMETER = PARAMETER_VALUE__PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Configuration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_EXECUTION_VALUE__CONFIGURATION = PARAMETER_VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Query Execution Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_EXECUTION_VALUE_FEATURE_COUNT = PARAMETER_VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.core.queries.configuration.impl.ConstantParameterValueImpl <em>Constant Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConstantParameterValueImpl
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationPackageImpl#getConstantParameterValue()
+ * @generated
+ */
+ int CONSTANT_PARAMETER_VALUE = 4;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTANT_PARAMETER_VALUE__PARAMETER = PARAMETER_VALUE__PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Value Instance</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE = PARAMETER_VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Constant Parameter Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTANT_PARAMETER_VALUE_FEATURE_COUNT = PARAMETER_VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.core.queries.configuration.impl.ListParameterValueImpl <em>List Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ListParameterValueImpl
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationPackageImpl#getListParameterValue()
+ * @generated
+ */
+ int LIST_PARAMETER_VALUE = 5;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_PARAMETER_VALUE__PARAMETER = PARAMETER_VALUE__PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_PARAMETER_VALUE__VALUES = PARAMETER_VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>List Parameter Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_PARAMETER_VALUE_FEATURE_COUNT = PARAMETER_VALUE_FEATURE_COUNT + 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.core.queries.configuration.QueryConfiguration <em>Query Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query Configuration</em>'.
+ * @see org.eclipse.papyrus.core.queries.configuration.QueryConfiguration
+ * @generated
+ */
+ EClass getQueryConfiguration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.core.queries.configuration.QueryConfiguration#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.core.queries.configuration.QueryConfiguration#getName()
+ * @see #getQueryConfiguration()
+ * @generated
+ */
+ EAttribute getQueryConfiguration_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration <em>Modisco Query Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Modisco Query Configuration</em>'.
+ * @see org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration
+ * @generated
+ */
+ EClass getModiscoQueryConfiguration();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration#getQuery <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Query</em>'.
+ * @see org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration#getQuery()
+ * @see #getModiscoQueryConfiguration()
+ * @generated
+ */
+ EReference getModiscoQueryConfiguration_Query();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration#getParameterValues <em>Parameter Values</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Parameter Values</em>'.
+ * @see org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration#getParameterValues()
+ * @see #getModiscoQueryConfiguration()
+ * @generated
+ */
+ EReference getModiscoQueryConfiguration_ParameterValues();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.core.queries.configuration.ParameterValue <em>Parameter Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Parameter Value</em>'.
+ * @see org.eclipse.papyrus.core.queries.configuration.ParameterValue
+ * @generated
+ */
+ EClass getParameterValue();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.core.queries.configuration.ParameterValue#getParameter <em>Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Parameter</em>'.
+ * @see org.eclipse.papyrus.core.queries.configuration.ParameterValue#getParameter()
+ * @see #getParameterValue()
+ * @generated
+ */
+ EReference getParameterValue_Parameter();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.core.queries.configuration.QueryExecutionValue <em>Query Execution Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query Execution Value</em>'.
+ * @see org.eclipse.papyrus.core.queries.configuration.QueryExecutionValue
+ * @generated
+ */
+ EClass getQueryExecutionValue();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.core.queries.configuration.QueryExecutionValue#getConfiguration <em>Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Configuration</em>'.
+ * @see org.eclipse.papyrus.core.queries.configuration.QueryExecutionValue#getConfiguration()
+ * @see #getQueryExecutionValue()
+ * @generated
+ */
+ EReference getQueryExecutionValue_Configuration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue <em>Constant Parameter Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Constant Parameter Value</em>'.
+ * @see org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue
+ * @generated
+ */
+ EClass getConstantParameterValue();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue#getValueInstance <em>Value Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Value Instance</em>'.
+ * @see org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue#getValueInstance()
+ * @see #getConstantParameterValue()
+ * @generated
+ */
+ EReference getConstantParameterValue_ValueInstance();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.core.queries.configuration.ListParameterValue <em>List Parameter Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>List Parameter Value</em>'.
+ * @see org.eclipse.papyrus.core.queries.configuration.ListParameterValue
+ * @generated
+ */
+ EClass getListParameterValue();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.core.queries.configuration.ListParameterValue#getValues <em>Values</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Values</em>'.
+ * @see org.eclipse.papyrus.core.queries.configuration.ListParameterValue#getValues()
+ * @see #getListParameterValue()
+ * @generated
+ */
+ EReference getListParameterValue_Values();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ConfigurationFactory getConfigurationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.core.queries.configuration.impl.QueryConfigurationImpl <em>Query Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.QueryConfigurationImpl
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationPackageImpl#getQueryConfiguration()
+ * @generated
+ */
+ EClass QUERY_CONFIGURATION = eINSTANCE.getQueryConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute QUERY_CONFIGURATION__NAME = eINSTANCE.getQueryConfiguration_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.core.queries.configuration.impl.ModiscoQueryConfigurationImpl <em>Modisco Query Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ModiscoQueryConfigurationImpl
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationPackageImpl#getModiscoQueryConfiguration()
+ * @generated
+ */
+ EClass MODISCO_QUERY_CONFIGURATION = eINSTANCE.getModiscoQueryConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Query</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODISCO_QUERY_CONFIGURATION__QUERY = eINSTANCE.getModiscoQueryConfiguration_Query();
+
+ /**
+ * The meta object literal for the '<em><b>Parameter Values</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES = eINSTANCE.getModiscoQueryConfiguration_ParameterValues();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.core.queries.configuration.impl.ParameterValueImpl <em>Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ParameterValueImpl
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationPackageImpl#getParameterValue()
+ * @generated
+ */
+ EClass PARAMETER_VALUE = eINSTANCE.getParameterValue();
+
+ /**
+ * The meta object literal for the '<em><b>Parameter</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PARAMETER_VALUE__PARAMETER = eINSTANCE.getParameterValue_Parameter();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.core.queries.configuration.impl.QueryExecutionValueImpl <em>Query Execution Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.QueryExecutionValueImpl
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationPackageImpl#getQueryExecutionValue()
+ * @generated
+ */
+ EClass QUERY_EXECUTION_VALUE = eINSTANCE.getQueryExecutionValue();
+
+ /**
+ * The meta object literal for the '<em><b>Configuration</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUERY_EXECUTION_VALUE__CONFIGURATION = eINSTANCE.getQueryExecutionValue_Configuration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.core.queries.configuration.impl.ConstantParameterValueImpl <em>Constant Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConstantParameterValueImpl
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationPackageImpl#getConstantParameterValue()
+ * @generated
+ */
+ EClass CONSTANT_PARAMETER_VALUE = eINSTANCE.getConstantParameterValue();
+
+ /**
+ * The meta object literal for the '<em><b>Value Instance</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE = eINSTANCE.getConstantParameterValue_ValueInstance();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.core.queries.configuration.impl.ListParameterValueImpl <em>List Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ListParameterValueImpl
+ * @see org.eclipse.papyrus.core.queries.configuration.impl.ConfigurationPackageImpl#getListParameterValue()
+ * @generated
+ */
+ EClass LIST_PARAMETER_VALUE = eINSTANCE.getListParameterValue();
+
+ /**
+ * The meta object literal for the '<em><b>Values</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LIST_PARAMETER_VALUE__VALUES = eINSTANCE.getListParameterValue_Values();
+
+ }
+
+} //ConfigurationPackage
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ConstantParameterValue.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ConstantParameterValue.java
new file mode 100644
index 00000000000..9408e663ec2
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ConstantParameterValue.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration;
+
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Constant Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue#getValueInstance <em>Value Instance</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#getConstantParameterValue()
+ * @model
+ * @generated
+ */
+public interface ConstantParameterValue extends ParameterValue {
+ /**
+ * Returns the value of the '<em><b>Value Instance</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value Instance</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value Instance</em>' containment reference.
+ * @see #setValueInstance(ValueSpecification)
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#getConstantParameterValue_ValueInstance()
+ * @model containment="true"
+ * @generated
+ */
+ ValueSpecification getValueInstance();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue#getValueInstance <em>Value Instance</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value Instance</em>' containment reference.
+ * @see #getValueInstance()
+ * @generated
+ */
+ void setValueInstance(ValueSpecification value);
+
+} // ConstantParameterValue
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ListParameterValue.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ListParameterValue.java
new file mode 100644
index 00000000000..b3f2512a4b9
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ListParameterValue.java
@@ -0,0 +1,44 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>List Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.ListParameterValue#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#getListParameterValue()
+ * @model
+ * @generated
+ */
+public interface ListParameterValue extends ParameterValue {
+ /**
+ * Returns the value of the '<em><b>Values</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.core.queries.configuration.ParameterValue}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Values</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Values</em>' reference list.
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#getListParameterValue_Values()
+ * @model
+ * @generated
+ */
+ EList<ParameterValue> getValues();
+
+} // ListParameterValue
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ModiscoQueryConfiguration.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ModiscoQueryConfiguration.java
new file mode 100644
index 00000000000..c11fdc79216
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ModiscoQueryConfiguration.java
@@ -0,0 +1,73 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.facet.infra.query.ModelQuery;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Modisco Query Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration#getParameterValues <em>Parameter Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#getModiscoQueryConfiguration()
+ * @model
+ * @generated
+ */
+public interface ModiscoQueryConfiguration extends QueryConfiguration {
+ /**
+ * Returns the value of the '<em><b>Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Query</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Query</em>' reference.
+ * @see #setQuery(ModelQuery)
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#getModiscoQueryConfiguration_Query()
+ * @model required="true"
+ * @generated
+ */
+ ModelQuery getQuery();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration#getQuery <em>Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Query</em>' reference.
+ * @see #getQuery()
+ * @generated
+ */
+ void setQuery(ModelQuery value);
+
+ /**
+ * Returns the value of the '<em><b>Parameter Values</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.core.queries.configuration.ParameterValue}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parameter Values</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parameter Values</em>' containment reference list.
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#getModiscoQueryConfiguration_ParameterValues()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ParameterValue> getParameterValues();
+
+} // ModiscoQueryConfiguration
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ParameterValue.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ParameterValue.java
new file mode 100644
index 00000000000..328d44109bc
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/ParameterValue.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.facet.infra.query.ModelQueryParameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.ParameterValue#getParameter <em>Parameter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#getParameterValue()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ParameterValue extends EObject {
+ /**
+ * Returns the value of the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parameter</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parameter</em>' reference.
+ * @see #setParameter(ModelQueryParameter)
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#getParameterValue_Parameter()
+ * @model required="true"
+ * @generated
+ */
+ ModelQueryParameter getParameter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.core.queries.configuration.ParameterValue#getParameter <em>Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parameter</em>' reference.
+ * @see #getParameter()
+ * @generated
+ */
+ void setParameter(ModelQueryParameter value);
+
+} // ParameterValue
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/QueryConfiguration.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/QueryConfiguration.java
new file mode 100644
index 00000000000..a503d603aa3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/QueryConfiguration.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.QueryConfiguration#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#getQueryConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface QueryConfiguration extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#getQueryConfiguration_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.core.queries.configuration.QueryConfiguration#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // QueryConfiguration
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/QueryExecutionValue.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/QueryExecutionValue.java
new file mode 100644
index 00000000000..3fad803760c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/QueryExecutionValue.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query Execution Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.QueryExecutionValue#getConfiguration <em>Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#getQueryExecutionValue()
+ * @model
+ * @generated
+ */
+public interface QueryExecutionValue extends ParameterValue {
+ /**
+ * Returns the value of the '<em><b>Configuration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configuration</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Configuration</em>' reference.
+ * @see #setConfiguration(QueryConfiguration)
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#getQueryExecutionValue_Configuration()
+ * @model required="true"
+ * @generated
+ */
+ QueryConfiguration getConfiguration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.core.queries.configuration.QueryExecutionValue#getConfiguration <em>Configuration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Configuration</em>' reference.
+ * @see #getConfiguration()
+ * @generated
+ */
+ void setConfiguration(QueryConfiguration value);
+
+} // QueryExecutionValue
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ConfigurationFactoryImpl.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ConfigurationFactoryImpl.java
new file mode 100644
index 00000000000..ee63876ad85
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ConfigurationFactoryImpl.java
@@ -0,0 +1,132 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.core.queries.configuration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConfigurationFactoryImpl extends EFactoryImpl implements ConfigurationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ConfigurationFactory init() {
+ try {
+ ConfigurationFactory theConfigurationFactory = (ConfigurationFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/core/queries/0.7");
+ if (theConfigurationFactory != null) {
+ return theConfigurationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ConfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION: return createModiscoQueryConfiguration();
+ case ConfigurationPackage.QUERY_EXECUTION_VALUE: return createQueryExecutionValue();
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE: return createConstantParameterValue();
+ case ConfigurationPackage.LIST_PARAMETER_VALUE: return createListParameterValue();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModiscoQueryConfiguration createModiscoQueryConfiguration() {
+ ModiscoQueryConfigurationImpl modiscoQueryConfiguration = new ModiscoQueryConfigurationImpl();
+ return modiscoQueryConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryExecutionValue createQueryExecutionValue() {
+ QueryExecutionValueImpl queryExecutionValue = new QueryExecutionValueImpl();
+ return queryExecutionValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConstantParameterValue createConstantParameterValue() {
+ ConstantParameterValueImpl constantParameterValue = new ConstantParameterValueImpl();
+ return constantParameterValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ListParameterValue createListParameterValue() {
+ ListParameterValueImpl listParameterValue = new ListParameterValueImpl();
+ return listParameterValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationPackage getConfigurationPackage() {
+ return (ConfigurationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ConfigurationPackage getPackage() {
+ return ConfigurationPackage.eINSTANCE;
+ }
+
+} //ConfigurationFactoryImpl
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ConfigurationPackageImpl.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ConfigurationPackageImpl.java
new file mode 100644
index 00000000000..2341e590e7b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ConfigurationPackageImpl.java
@@ -0,0 +1,371 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.facet.infra.query.QueryPackage;
+
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationFactory;
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue;
+import org.eclipse.papyrus.core.queries.configuration.ListParameterValue;
+import org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration;
+import org.eclipse.papyrus.core.queries.configuration.ParameterValue;
+import org.eclipse.papyrus.core.queries.configuration.QueryConfiguration;
+import org.eclipse.papyrus.core.queries.configuration.QueryExecutionValue;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConfigurationPackageImpl extends EPackageImpl implements ConfigurationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass queryConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass modiscoQueryConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass parameterValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass queryExecutionValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass constantParameterValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass listParameterValueEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ConfigurationPackageImpl() {
+ super(eNS_URI, ConfigurationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link ConfigurationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ConfigurationPackage init() {
+ if (isInited) return (ConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(ConfigurationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ ConfigurationPackageImpl theConfigurationPackage = (ConfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ConfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ConfigurationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ QueryPackage.eINSTANCE.eClass();
+ UMLPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theConfigurationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theConfigurationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theConfigurationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ConfigurationPackage.eNS_URI, theConfigurationPackage);
+ return theConfigurationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQueryConfiguration() {
+ return queryConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getQueryConfiguration_Name() {
+ return (EAttribute)queryConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getModiscoQueryConfiguration() {
+ return modiscoQueryConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModiscoQueryConfiguration_Query() {
+ return (EReference)modiscoQueryConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModiscoQueryConfiguration_ParameterValues() {
+ return (EReference)modiscoQueryConfigurationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParameterValue() {
+ return parameterValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParameterValue_Parameter() {
+ return (EReference)parameterValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQueryExecutionValue() {
+ return queryExecutionValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQueryExecutionValue_Configuration() {
+ return (EReference)queryExecutionValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConstantParameterValue() {
+ return constantParameterValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConstantParameterValue_ValueInstance() {
+ return (EReference)constantParameterValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getListParameterValue() {
+ return listParameterValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getListParameterValue_Values() {
+ return (EReference)listParameterValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationFactory getConfigurationFactory() {
+ return (ConfigurationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ queryConfigurationEClass = createEClass(QUERY_CONFIGURATION);
+ createEAttribute(queryConfigurationEClass, QUERY_CONFIGURATION__NAME);
+
+ modiscoQueryConfigurationEClass = createEClass(MODISCO_QUERY_CONFIGURATION);
+ createEReference(modiscoQueryConfigurationEClass, MODISCO_QUERY_CONFIGURATION__QUERY);
+ createEReference(modiscoQueryConfigurationEClass, MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES);
+
+ parameterValueEClass = createEClass(PARAMETER_VALUE);
+ createEReference(parameterValueEClass, PARAMETER_VALUE__PARAMETER);
+
+ queryExecutionValueEClass = createEClass(QUERY_EXECUTION_VALUE);
+ createEReference(queryExecutionValueEClass, QUERY_EXECUTION_VALUE__CONFIGURATION);
+
+ constantParameterValueEClass = createEClass(CONSTANT_PARAMETER_VALUE);
+ createEReference(constantParameterValueEClass, CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE);
+
+ listParameterValueEClass = createEClass(LIST_PARAMETER_VALUE);
+ createEReference(listParameterValueEClass, LIST_PARAMETER_VALUE__VALUES);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ QueryPackage theQueryPackage = (QueryPackage)EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ modiscoQueryConfigurationEClass.getESuperTypes().add(this.getQueryConfiguration());
+ queryExecutionValueEClass.getESuperTypes().add(this.getParameterValue());
+ constantParameterValueEClass.getESuperTypes().add(this.getParameterValue());
+ listParameterValueEClass.getESuperTypes().add(this.getParameterValue());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(queryConfigurationEClass, QueryConfiguration.class, "QueryConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getQueryConfiguration_Name(), theEcorePackage.getEString(), "name", null, 1, 1, QueryConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(modiscoQueryConfigurationEClass, ModiscoQueryConfiguration.class, "ModiscoQueryConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getModiscoQueryConfiguration_Query(), theQueryPackage.getModelQuery(), null, "query", null, 1, 1, ModiscoQueryConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModiscoQueryConfiguration_ParameterValues(), this.getParameterValue(), null, "parameterValues", null, 0, -1, ModiscoQueryConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(parameterValueEClass, ParameterValue.class, "ParameterValue", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getParameterValue_Parameter(), theQueryPackage.getModelQueryParameter(), null, "parameter", null, 1, 1, ParameterValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(queryExecutionValueEClass, QueryExecutionValue.class, "QueryExecutionValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getQueryExecutionValue_Configuration(), this.getQueryConfiguration(), null, "configuration", null, 1, 1, QueryExecutionValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(constantParameterValueEClass, ConstantParameterValue.class, "ConstantParameterValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConstantParameterValue_ValueInstance(), theUMLPackage.getValueSpecification(), null, "valueInstance", null, 0, 1, ConstantParameterValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(listParameterValueEClass, ListParameterValue.class, "ListParameterValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getListParameterValue_Values(), this.getParameterValue(), null, "values", null, 0, -1, ListParameterValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //ConfigurationPackageImpl
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ConstantParameterValueImpl.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ConstantParameterValueImpl.java
new file mode 100644
index 00000000000..8be5919be80
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ConstantParameterValueImpl.java
@@ -0,0 +1,180 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue;
+
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Constant Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.impl.ConstantParameterValueImpl#getValueInstance <em>Value Instance</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConstantParameterValueImpl extends ParameterValueImpl implements ConstantParameterValue {
+ /**
+ * The cached value of the '{@link #getValueInstance() <em>Value Instance</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValueInstance()
+ * @generated
+ * @ordered
+ */
+ protected ValueSpecification valueInstance;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConstantParameterValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConfigurationPackage.Literals.CONSTANT_PARAMETER_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getValueInstance() {
+ return valueInstance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetValueInstance(ValueSpecification newValueInstance, NotificationChain msgs) {
+ ValueSpecification oldValueInstance = valueInstance;
+ valueInstance = newValueInstance;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE, oldValueInstance, newValueInstance);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValueInstance(ValueSpecification newValueInstance) {
+ if (newValueInstance != valueInstance) {
+ NotificationChain msgs = null;
+ if (valueInstance != null)
+ msgs = ((InternalEObject)valueInstance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE, null, msgs);
+ if (newValueInstance != null)
+ msgs = ((InternalEObject)newValueInstance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE, null, msgs);
+ msgs = basicSetValueInstance(newValueInstance, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE, newValueInstance, newValueInstance));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
+ return basicSetValueInstance(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
+ return getValueInstance();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
+ setValueInstance((ValueSpecification)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
+ setValueInstance((ValueSpecification)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE__VALUE_INSTANCE:
+ return valueInstance != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConstantParameterValueImpl
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ListParameterValueImpl.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ListParameterValueImpl.java
new file mode 100644
index 00000000000..35a32caf60b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ListParameterValueImpl.java
@@ -0,0 +1,136 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.core.queries.configuration.ListParameterValue;
+import org.eclipse.papyrus.core.queries.configuration.ParameterValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>List Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.impl.ListParameterValueImpl#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ListParameterValueImpl extends ParameterValueImpl implements ListParameterValue {
+ /**
+ * The cached value of the '{@link #getValues() <em>Values</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValues()
+ * @generated
+ * @ordered
+ */
+ protected EList<ParameterValue> values;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListParameterValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConfigurationPackage.Literals.LIST_PARAMETER_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParameterValue> getValues() {
+ if (values == null) {
+ values = new EObjectResolvingEList<ParameterValue>(ParameterValue.class, this, ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES);
+ }
+ return values;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES:
+ return getValues();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES:
+ getValues().clear();
+ getValues().addAll((Collection<? extends ParameterValue>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES:
+ getValues().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.LIST_PARAMETER_VALUE__VALUES:
+ return values != null && !values.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ListParameterValueImpl
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ModiscoQueryConfigurationImpl.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ModiscoQueryConfigurationImpl.java
new file mode 100644
index 00000000000..20a3c661199
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ModiscoQueryConfigurationImpl.java
@@ -0,0 +1,219 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.facet.infra.query.ModelQuery;
+
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration;
+import org.eclipse.papyrus.core.queries.configuration.ParameterValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Modisco Query Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.impl.ModiscoQueryConfigurationImpl#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.impl.ModiscoQueryConfigurationImpl#getParameterValues <em>Parameter Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModiscoQueryConfigurationImpl extends QueryConfigurationImpl implements ModiscoQueryConfiguration {
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected ModelQuery query;
+
+ /**
+ * The cached value of the '{@link #getParameterValues() <em>Parameter Values</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParameterValues()
+ * @generated
+ * @ordered
+ */
+ protected EList<ParameterValue> parameterValues;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModiscoQueryConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConfigurationPackage.Literals.MODISCO_QUERY_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelQuery getQuery() {
+ if (query != null && query.eIsProxy()) {
+ InternalEObject oldQuery = (InternalEObject)query;
+ query = (ModelQuery)eResolveProxy(oldQuery);
+ if (query != oldQuery) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY, oldQuery, query));
+ }
+ }
+ return query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelQuery basicGetQuery() {
+ return query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQuery(ModelQuery newQuery) {
+ ModelQuery oldQuery = query;
+ query = newQuery;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY, oldQuery, query));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParameterValue> getParameterValues() {
+ if (parameterValues == null) {
+ parameterValues = new EObjectContainmentEList<ParameterValue>(ParameterValue.class, this, ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES);
+ }
+ return parameterValues;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
+ return ((InternalEList<?>)getParameterValues()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY:
+ if (resolve) return getQuery();
+ return basicGetQuery();
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
+ return getParameterValues();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY:
+ setQuery((ModelQuery)newValue);
+ return;
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
+ getParameterValues().clear();
+ getParameterValues().addAll((Collection<? extends ParameterValue>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY:
+ setQuery((ModelQuery)null);
+ return;
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
+ getParameterValues().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__QUERY:
+ return query != null;
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION__PARAMETER_VALUES:
+ return parameterValues != null && !parameterValues.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ModiscoQueryConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ParameterValueImpl.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ParameterValueImpl.java
new file mode 100644
index 00000000000..20addaa00fb
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/ParameterValueImpl.java
@@ -0,0 +1,162 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.facet.infra.query.ModelQueryParameter;
+
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.core.queries.configuration.ParameterValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.impl.ParameterValueImpl#getParameter <em>Parameter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ParameterValueImpl extends EObjectImpl implements ParameterValue {
+ /**
+ * The cached value of the '{@link #getParameter() <em>Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParameter()
+ * @generated
+ * @ordered
+ */
+ protected ModelQueryParameter parameter;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParameterValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConfigurationPackage.Literals.PARAMETER_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelQueryParameter getParameter() {
+ if (parameter != null && parameter.eIsProxy()) {
+ InternalEObject oldParameter = (InternalEObject)parameter;
+ parameter = (ModelQueryParameter)eResolveProxy(oldParameter);
+ if (parameter != oldParameter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConfigurationPackage.PARAMETER_VALUE__PARAMETER, oldParameter, parameter));
+ }
+ }
+ return parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelQueryParameter basicGetParameter() {
+ return parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParameter(ModelQueryParameter newParameter) {
+ ModelQueryParameter oldParameter = parameter;
+ parameter = newParameter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.PARAMETER_VALUE__PARAMETER, oldParameter, parameter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ConfigurationPackage.PARAMETER_VALUE__PARAMETER:
+ if (resolve) return getParameter();
+ return basicGetParameter();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ConfigurationPackage.PARAMETER_VALUE__PARAMETER:
+ setParameter((ModelQueryParameter)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.PARAMETER_VALUE__PARAMETER:
+ setParameter((ModelQueryParameter)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.PARAMETER_VALUE__PARAMETER:
+ return parameter != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ParameterValueImpl
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/QueryConfigurationImpl.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/QueryConfigurationImpl.java
new file mode 100644
index 00000000000..cc86419a94c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/QueryConfigurationImpl.java
@@ -0,0 +1,167 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.core.queries.configuration.QueryConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.impl.QueryConfigurationImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class QueryConfigurationImpl extends EObjectImpl implements QueryConfiguration {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QueryConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConfigurationPackage.Literals.QUERY_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.QUERY_CONFIGURATION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_CONFIGURATION__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_CONFIGURATION__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_CONFIGURATION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_CONFIGURATION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //QueryConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/QueryExecutionValueImpl.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/QueryExecutionValueImpl.java
new file mode 100644
index 00000000000..2fa5703dca6
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/impl/QueryExecutionValueImpl.java
@@ -0,0 +1,160 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+import org.eclipse.papyrus.core.queries.configuration.QueryConfiguration;
+import org.eclipse.papyrus.core.queries.configuration.QueryExecutionValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query Execution Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.core.queries.configuration.impl.QueryExecutionValueImpl#getConfiguration <em>Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class QueryExecutionValueImpl extends ParameterValueImpl implements QueryExecutionValue {
+ /**
+ * The cached value of the '{@link #getConfiguration() <em>Configuration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected QueryConfiguration configuration;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QueryExecutionValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConfigurationPackage.Literals.QUERY_EXECUTION_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryConfiguration getConfiguration() {
+ if (configuration != null && configuration.eIsProxy()) {
+ InternalEObject oldConfiguration = (InternalEObject)configuration;
+ configuration = (QueryConfiguration)eResolveProxy(oldConfiguration);
+ if (configuration != oldConfiguration) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION, oldConfiguration, configuration));
+ }
+ }
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryConfiguration basicGetConfiguration() {
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConfiguration(QueryConfiguration newConfiguration) {
+ QueryConfiguration oldConfiguration = configuration;
+ configuration = newConfiguration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION, oldConfiguration, configuration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
+ if (resolve) return getConfiguration();
+ return basicGetConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
+ setConfiguration((QueryConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
+ setConfiguration((QueryConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
+ return configuration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //QueryExecutionValueImpl
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/plugin/Activator.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/plugin/Activator.java
new file mode 100644
index 00000000000..b7ed80a98c4
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/plugin/Activator.java
@@ -0,0 +1,91 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.plugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Configuration model plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class Activator extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final Activator INSTANCE = new Activator();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activator() {
+ super(new ResourceLocator [] {});
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationAdapterFactory.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationAdapterFactory.java
new file mode 100644
index 00000000000..1d30841b0e9
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationAdapterFactory.java
@@ -0,0 +1,214 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.core.queries.configuration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage
+ * @generated
+ */
+public class ConfigurationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationSwitch<Adapter> modelSwitch =
+ new ConfigurationSwitch<Adapter>() {
+ @Override
+ public Adapter caseQueryConfiguration(QueryConfiguration object) {
+ return createQueryConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseModiscoQueryConfiguration(ModiscoQueryConfiguration object) {
+ return createModiscoQueryConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseParameterValue(ParameterValue object) {
+ return createParameterValueAdapter();
+ }
+ @Override
+ public Adapter caseQueryExecutionValue(QueryExecutionValue object) {
+ return createQueryExecutionValueAdapter();
+ }
+ @Override
+ public Adapter caseConstantParameterValue(ConstantParameterValue object) {
+ return createConstantParameterValueAdapter();
+ }
+ @Override
+ public Adapter caseListParameterValue(ListParameterValue object) {
+ return createListParameterValueAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.core.queries.configuration.QueryConfiguration <em>Query Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.core.queries.configuration.QueryConfiguration
+ * @generated
+ */
+ public Adapter createQueryConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration <em>Modisco Query Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.core.queries.configuration.ModiscoQueryConfiguration
+ * @generated
+ */
+ public Adapter createModiscoQueryConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.core.queries.configuration.ParameterValue <em>Parameter Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.core.queries.configuration.ParameterValue
+ * @generated
+ */
+ public Adapter createParameterValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.core.queries.configuration.QueryExecutionValue <em>Query Execution Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.core.queries.configuration.QueryExecutionValue
+ * @generated
+ */
+ public Adapter createQueryExecutionValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue <em>Constant Parameter Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.core.queries.configuration.ConstantParameterValue
+ * @generated
+ */
+ public Adapter createConstantParameterValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.core.queries.configuration.ListParameterValue <em>List Parameter Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.core.queries.configuration.ListParameterValue
+ * @generated
+ */
+ public Adapter createListParameterValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //ConfigurationAdapterFactory
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationResourceFactoryImpl.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationResourceFactoryImpl.java
new file mode 100644
index 00000000000..3580dd7f354
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationResourceFactoryImpl.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.util.ConfigurationResourceImpl
+ * @generated
+ */
+public class ConfigurationResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new ConfigurationResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //ConfigurationResourceFactoryImpl
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationResourceImpl.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationResourceImpl.java
new file mode 100644
index 00000000000..1fa70478327
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationResourceImpl.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.util.ConfigurationResourceFactoryImpl
+ * @generated
+ */
+public class ConfigurationResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public ConfigurationResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //ConfigurationResourceImpl
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationSwitch.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationSwitch.java
new file mode 100644
index 00000000000..e6a3c462f85
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationSwitch.java
@@ -0,0 +1,239 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.core.queries.configuration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage
+ * @generated
+ */
+public class ConfigurationSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ConfigurationPackage.QUERY_CONFIGURATION: {
+ QueryConfiguration queryConfiguration = (QueryConfiguration)theEObject;
+ T result = caseQueryConfiguration(queryConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigurationPackage.MODISCO_QUERY_CONFIGURATION: {
+ ModiscoQueryConfiguration modiscoQueryConfiguration = (ModiscoQueryConfiguration)theEObject;
+ T result = caseModiscoQueryConfiguration(modiscoQueryConfiguration);
+ if (result == null) result = caseQueryConfiguration(modiscoQueryConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigurationPackage.PARAMETER_VALUE: {
+ ParameterValue parameterValue = (ParameterValue)theEObject;
+ T result = caseParameterValue(parameterValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigurationPackage.QUERY_EXECUTION_VALUE: {
+ QueryExecutionValue queryExecutionValue = (QueryExecutionValue)theEObject;
+ T result = caseQueryExecutionValue(queryExecutionValue);
+ if (result == null) result = caseParameterValue(queryExecutionValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigurationPackage.CONSTANT_PARAMETER_VALUE: {
+ ConstantParameterValue constantParameterValue = (ConstantParameterValue)theEObject;
+ T result = caseConstantParameterValue(constantParameterValue);
+ if (result == null) result = caseParameterValue(constantParameterValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigurationPackage.LIST_PARAMETER_VALUE: {
+ ListParameterValue listParameterValue = (ListParameterValue)theEObject;
+ T result = caseListParameterValue(listParameterValue);
+ if (result == null) result = caseParameterValue(listParameterValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Query Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQueryConfiguration(QueryConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Modisco Query Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Modisco Query Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModiscoQueryConfiguration(ModiscoQueryConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Parameter Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Parameter Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParameterValue(ParameterValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query Execution Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Query Execution Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQueryExecutionValue(QueryExecutionValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Constant Parameter Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Constant Parameter Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConstantParameterValue(ConstantParameterValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>List Parameter Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>List Parameter Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseListParameterValue(ListParameterValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //ConfigurationSwitch
diff --git a/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationXMLProcessor.java b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationXMLProcessor.java
new file mode 100644
index 00000000000..9040168985b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.core.queries.configuration/src-gen/org/eclipse/papyrus/core/queries/configuration/util/ConfigurationXMLProcessor.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.core.queries.configuration.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConfigurationXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ ConfigurationPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the ConfigurationResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new ConfigurationResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new ConfigurationResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //ConfigurationXMLProcessor
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/.classpath b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/.classpath
new file mode 100644
index 00000000000..cedf0d0d0b5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/.project b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/.project
new file mode 100644
index 00000000000..280e27d0722
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.diagram.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/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..e7f9733fedb
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.diagram.extendedtypes.edit;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.diagram.extendedtypes.provider.ExtendedTypesEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.diagram.extendedtypes.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.diagram.extendedtypes;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ org.eclipse.papyrus.core.queries.configuration;visibility:=reexport,
+ org.eclipse.papyrus.core.queries.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.uml;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/about.html b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/build.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/build.properties
new file mode 100644
index 00000000000..349c54c9d8e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/build.properties
@@ -0,0 +1,15 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Duration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Duration.gif
new file mode 100644
index 00000000000..dac4138ca01
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Duration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_DurationInterval.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_DurationInterval.gif
new file mode 100644
index 00000000000..755e4ca7a46
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_DurationInterval.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Expression.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Expression.gif
new file mode 100644
index 00000000000..8ce82e3f6c7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Expression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_InstanceValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_InstanceValue.gif
new file mode 100644
index 00000000000..fe708946d58
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_InstanceValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Interval.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Interval.gif
new file mode 100644
index 00000000000..4aaad5a4cd7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Interval.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralBoolean.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralBoolean.gif
new file mode 100644
index 00000000000..44afafd55da
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralBoolean.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralInteger.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralInteger.gif
new file mode 100644
index 00000000000..f93c92d061a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralInteger.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralNull.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralNull.gif
new file mode 100644
index 00000000000..5ef9a94e8da
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralNull.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralString.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralString.gif
new file mode 100644
index 00000000000..f08356ef9bb
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralString.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralUnlimitedNatural.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralUnlimitedNatural.gif
new file mode 100644
index 00000000000..37dad615792
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralUnlimitedNatural.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_OpaqueExpression.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_OpaqueExpression.gif
new file mode 100644
index 00000000000..8ce82e3f6c7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_OpaqueExpression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_StringExpression.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_StringExpression.gif
new file mode 100644
index 00000000000..4aaad5a4cd7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_StringExpression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeExpression.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeExpression.gif
new file mode 100644
index 00000000000..33e07420851
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeExpression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeInterval.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeInterval.gif
new file mode 100644
index 00000000000..e180c4cf7ca
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeInterval.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_iconEntry_IconEntry.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_iconEntry_IconEntry.gif
new file mode 100644
index 00000000000..e8bebbfd88d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_iconEntry_IconEntry.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ApplyStereotypeAction.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ApplyStereotypeAction.gif
new file mode 100644
index 00000000000..b80902bd122
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ApplyStereotypeAction.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ApplyStereotypeActionConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ApplyStereotypeActionConfiguration.gif
new file mode 100644
index 00000000000..d415ad7a8c9
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ApplyStereotypeActionConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ElementPropertiesValueAction.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ElementPropertiesValueAction.gif
new file mode 100644
index 00000000000..12ec17b7cf2
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ElementPropertiesValueAction.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ElementPropertiesValueActionConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ElementPropertiesValueActionConfiguration.gif
new file mode 100644
index 00000000000..d677d34703f
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_postAction_ElementPropertiesValueActionConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_preAction_ApplyStereotypeAction.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_preAction_ApplyStereotypeAction.gif
new file mode 100644
index 00000000000..b80902bd122
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_preAction_ApplyStereotypeAction.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_preAction_ElementPropertiesValueAction.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_preAction_ElementPropertiesValueAction.gif
new file mode 100644
index 00000000000..12ec17b7cf2
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeConfiguration_preAction_ElementPropertiesValueAction.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeSet_elementType_ExtendedElementTypeConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeSet_elementType_ExtendedElementTypeConfiguration.gif
new file mode 100644
index 00000000000..083f29cfd45
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateExtendedElementTypeSet_elementType_ExtendedElementTypeConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_ConstantValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_ConstantValue.gif
new file mode 100644
index 00000000000..03366e35d0f
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_ConstantValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_DynamicValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_DynamicValue.gif
new file mode 100644
index 00000000000..c048169804a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_DynamicValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_ListValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_ListValue.gif
new file mode 100644
index 00000000000..8997497557c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_ListValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_QueryExecutionValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_QueryExecutionValue.gif
new file mode 100644
index 00000000000..c048169804a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateFeatureToSet_value_QueryExecutionValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateModifySemanticValuesActionConfiguration_featuresToSet_FeatureToSet.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateModifySemanticValuesActionConfiguration_featuresToSet_FeatureToSet.gif
new file mode 100644
index 00000000000..d1876aa3c50
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/ctool16/CreateModifySemanticValuesActionConfiguration_featuresToSet_FeatureToSet.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ApplyStereotypeAction.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ApplyStereotypeAction.gif
new file mode 100644
index 00000000000..136e3b27269
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ApplyStereotypeAction.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ApplyStereotypeActionConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ApplyStereotypeActionConfiguration.gif
new file mode 100644
index 00000000000..35ef84e20e2
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ApplyStereotypeActionConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ConstantValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ConstantValue.gif
new file mode 100644
index 00000000000..e4bc22dd17e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ConstantValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/DynamicValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/DynamicValue.gif
new file mode 100644
index 00000000000..ed874747401
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/DynamicValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ElementPropertiesValueAction.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ElementPropertiesValueAction.gif
new file mode 100644
index 00000000000..7b7c428c715
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ElementPropertiesValueAction.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ElementPropertiesValueActionConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ElementPropertiesValueActionConfiguration.gif
new file mode 100644
index 00000000000..89ad5da38ab
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ElementPropertiesValueActionConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ExtendedElementTypeConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ExtendedElementTypeConfiguration.gif
new file mode 100644
index 00000000000..cdd3b76e3c0
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ExtendedElementTypeConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ExtendedElementTypeSet.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ExtendedElementTypeSet.gif
new file mode 100644
index 00000000000..e4bc22dd17e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ExtendedElementTypeSet.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/FeatureToSet.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/FeatureToSet.gif
new file mode 100644
index 00000000000..5a9bc7514fa
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/FeatureToSet.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/IconEntry.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/IconEntry.gif
new file mode 100644
index 00000000000..caf2804510d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/IconEntry.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ListValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ListValue.gif
new file mode 100644
index 00000000000..c3370c7ddd5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ListValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ModifySemanticValuesActionConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ModifySemanticValuesActionConfiguration.gif
new file mode 100644
index 00000000000..ed874747401
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/ModifySemanticValuesActionConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/QueryExecutionValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/QueryExecutionValue.gif
new file mode 100644
index 00000000000..ed874747401
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/QueryExecutionValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/StereotypeToApply.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/StereotypeToApply.gif
new file mode 100644
index 00000000000..caf2804510d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/icons/full/obj16/StereotypeToApply.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/plugin.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/plugin.properties
new file mode 100644
index 00000000000..bc1dd29cc18
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/plugin.properties
@@ -0,0 +1,70 @@
+#################################################################################
+# Copyright (c) 2010 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Remi Schnekenburger remi.schnekenburger@cea.fr - Initial API and implementation
+##################################################################################
+pluginName=Papryus ExtendedTypes Edit Support (Incubation)
+providerName=Eclipse Modeling Project
+
+_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_ExtendedElementTypeSet_type = Extended Element Type Set
+_UI_ExtendedElementTypeConfiguration_type = Extended Element Type Configuration
+_UI_IconEntry_type = Icon Entry
+_UI_ActionConfiguration_type = Action Configuration
+_UI_ApplyStereotypeAction_type = Apply Stereotype Action
+_UI_ElementPropertiesValueAction_type = Element Properties Value Action
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_ExtendedElementTypeSet_elementType_feature = Element Type
+_UI_ExtendedElementTypeSet_id_feature = Id
+_UI_ExtendedElementTypeConfiguration_id_feature = Id
+_UI_ExtendedElementTypeConfiguration_iconEntry_feature = Icon Entry
+_UI_ExtendedElementTypeConfiguration_name_feature = Name
+_UI_ExtendedElementTypeConfiguration_hint_feature = Hint
+_UI_ExtendedElementTypeConfiguration_kindName_feature = Kind Name
+_UI_ExtendedElementTypeConfiguration_specializedTypesID_feature = Specialized Types ID
+_UI_ExtendedElementTypeConfiguration_preValidation_feature = Pre Validation
+_UI_ExtendedElementTypeConfiguration_preAction_feature = Pre Action
+_UI_ExtendedElementTypeConfiguration_postAction_feature = Post Action
+_UI_IconEntry_iconPath_feature = Icon Path
+_UI_IconEntry_bundleId_feature = Bundle Id
+_UI_Unknown_feature = Unspecified
+
+_UI_ApplyStereotypeActionConfiguration_type = Apply Stereotype Action Configuration
+_UI_ElementPropertiesValueActionConfiguration_type = Element Properties Value Action Configuration
+_UI_PreActionConfiguration_type = Pre Action Configuration
+_UI_PostActionConfiguration_type = Post Action Configuration
+_UI_ActionConfiguration_label_feature = Label
+_UI_ActionConfiguration_id_feature = Id
+_UI_StereotypeToApply_type = Stereotype To Apply
+_UI_ApplyStereotypeActionConfiguration_stereotypesToApply_feature = Stereotypes To Apply
+_UI_StereotypeToApply_stereotypeQualifiedName_feature = Stereotype Qualified Name
+_UI_StereotypeToApply_updateName_feature = Update Name
+_UI_ModifySemanticValuesActionConfiguration_type = Modify Semantic Values Action Configuration
+_UI_FeatureToSet_type = Feature To Set
+_UI_FeatureValue_type = Feature Value
+_UI_DynamicValue_type = Dynamic Value
+_UI_ConstantValue_type = Constant Value
+_UI_ListValue_type = List Value
+_UI_QueryExecutionValue_type = Query Execution Value
+_UI_ModifySemanticValuesActionConfiguration_featuresToSet_feature = Features To Set
+_UI_FeatureToSet_featureName_feature = Feature Name
+_UI_FeatureToSet_value_feature = Value
+_UI_ConstantValue_valueInstance_feature = Value Instance
+_UI_ListValue_values_feature = Values
+_UI_QueryExecutionValue_configuration_feature = Configuration
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/plugin.xml b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/plugin.xml
new file mode 100644
index 00000000000..3c582b60319
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/plugin.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <factory
+ uri="http://www.eclipse.org/papyrus/diagram/types/extendedtypes/0.7"
+ class="org.eclipse.papyrus.diagram.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>
+</plugin>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ActionConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ActionConfigurationItemProvider.java
new file mode 100644
index 00000000000..5e9eb0beaeb
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ActionConfigurationItemProvider.java
@@ -0,0 +1,174 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.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.diagram.extendedtypes.ActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActionConfigurationItemProvider
+ 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 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);
+
+ addLabelPropertyDescriptor(object);
+ addIdPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Label feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLabelPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActionConfiguration_label_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ActionConfiguration_label_feature", "_UI_ActionConfiguration_type"),
+ ExtendedtypesPackage.Literals.ACTION_CONFIGURATION__LABEL,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActionConfiguration_id_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ActionConfiguration_id_feature", "_UI_ActionConfiguration_type"),
+ ExtendedtypesPackage.Literals.ACTION_CONFIGURATION__ID,
+ 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 = ((ActionConfiguration)object).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_ActionConfiguration_type") :
+ getString("_UI_ActionConfiguration_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(ActionConfiguration.class)) {
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__LABEL:
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__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/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedElementTypeConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedElementTypeConfigurationItemProvider.java
new file mode 100644
index 00000000000..752e1e82190
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedElementTypeConfigurationItemProvider.java
@@ -0,0 +1,325 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.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.diagram.extendedtypes.ExtendedElementTypeConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtendedElementTypeConfigurationItemProvider
+ 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 ExtendedElementTypeConfigurationItemProvider(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);
+ addIdPropertyDescriptor(object);
+ addHintPropertyDescriptor(object);
+ addKindNamePropertyDescriptor(object);
+ addSpecializedTypesIDPropertyDescriptor(object);
+ addPreValidationPropertyDescriptor(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_ExtendedElementTypeConfiguration_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ExtendedElementTypeConfiguration_name_feature", "_UI_ExtendedElementTypeConfiguration_type"),
+ ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExtendedElementTypeConfiguration_id_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ExtendedElementTypeConfiguration_id_feature", "_UI_ExtendedElementTypeConfiguration_type"),
+ ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * 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_ExtendedElementTypeConfiguration_hint_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ExtendedElementTypeConfiguration_hint_feature", "_UI_ExtendedElementTypeConfiguration_type"),
+ ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_CONFIGURATION__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_ExtendedElementTypeConfiguration_kindName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ExtendedElementTypeConfiguration_kindName_feature", "_UI_ExtendedElementTypeConfiguration_type"),
+ ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME,
+ 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_ExtendedElementTypeConfiguration_specializedTypesID_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ExtendedElementTypeConfiguration_specializedTypesID_feature", "_UI_ExtendedElementTypeConfiguration_type"),
+ ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Pre Validation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPreValidationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExtendedElementTypeConfiguration_preValidation_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ExtendedElementTypeConfiguration_preValidation_feature", "_UI_ExtendedElementTypeConfiguration_type"),
+ ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY);
+ childrenFeatures.add(ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION);
+ childrenFeatures.add(ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION);
+ }
+ 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 ExtendedElementTypeConfiguration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ExtendedElementTypeConfiguration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ExtendedElementTypeConfiguration)object).getName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_ExtendedElementTypeConfiguration_type") :
+ getString("_UI_ExtendedElementTypeConfiguration_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(ExtendedElementTypeConfiguration.class)) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME:
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID:
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT:
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY:
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION:
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION:
+ 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.Literals.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY,
+ 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedElementTypeSetItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedElementTypeSetItemProvider.java
new file mode 100644
index 00000000000..c43708d0618
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedElementTypeSetItemProvider.java
@@ -0,0 +1,202 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.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.diagram.extendedtypes.ExtendedElementTypeSet;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtendedElementTypeSetItemProvider
+ 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 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);
+
+ addIdPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExtendedElementTypeSet_id_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ExtendedElementTypeSet_id_feature", "_UI_ExtendedElementTypeSet_type"),
+ ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_SET__ID,
+ 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.Literals.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE);
+ }
+ 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"));
+ }
+
+ /**
+ * 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).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_ExtendedElementTypeSet_type") :
+ getString("_UI_ExtendedElementTypeSet_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(ExtendedElementTypeSet.class)) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ID:
+ 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);
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE,
+ ExtendedtypesFactory.eINSTANCE.createExtendedElementTypeConfiguration()));
+ }
+
+ /**
+ * 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedTypesEditPlugin.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedTypesEditPlugin.java
new file mode 100644
index 00000000000..b29a1071eba
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedTypesEditPlugin.java
@@ -0,0 +1,104 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.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.core.queries.configuration.provider.ConfigurationEditPlugin;
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the ModifySemanticValuesActionConfiguration 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, 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedtypesItemProviderAdapterFactory.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedtypesItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..595daeca48d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/ExtendedtypesItemProviderAdapterFactory.java
@@ -0,0 +1,251 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.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.diagram.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.diagram.extendedtypes.ExtendedElementTypeSet} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendedElementTypeSetItemProvider extendedElementTypeSetItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.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.diagram.extendedtypes.ExtendedElementTypeConfiguration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendedElementTypeConfigurationItemProvider extendedElementTypeConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createExtendedElementTypeConfigurationAdapter() {
+ if (extendedElementTypeConfigurationItemProvider == null) {
+ extendedElementTypeConfigurationItemProvider = new ExtendedElementTypeConfigurationItemProvider(this);
+ }
+
+ return extendedElementTypeConfigurationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.diagram.extendedtypes.IconEntry} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IconEntryItemProvider iconEntryItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.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 (extendedElementTypeConfigurationItemProvider != null) extendedElementTypeConfigurationItemProvider.dispose();
+ if (iconEntryItemProvider != null) iconEntryItemProvider.dispose();
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/IconEntryItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/IconEntryItemProvider.java
new file mode 100644
index 00000000000..844c330aa30
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/IconEntryItemProvider.java
@@ -0,0 +1,185 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.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.diagram.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.IconEntry;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.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"),
+ getString("_UI_PropertyDescriptor_description", "_UI_IconEntry_iconPath_feature", "_UI_IconEntry_type"),
+ ExtendedtypesPackage.Literals.ICON_ENTRY__ICON_PATH,
+ 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"),
+ getString("_UI_PropertyDescriptor_description", "_UI_IconEntry_bundleId_feature", "_UI_IconEntry_type"),
+ ExtendedtypesPackage.Literals.ICON_ENTRY__BUNDLE_ID,
+ 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"));
+ }
+
+ /**
+ * 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") :
+ getString("_UI_IconEntry_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(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/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/PostActionConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/PostActionConfigurationItemProvider.java
new file mode 100644
index 00000000000..afcb44b2f2c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/PostActionConfigurationItemProvider.java
@@ -0,0 +1,103 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.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.diagram.extendedtypes.PostActionConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PostActionConfigurationItemProvider
+ 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 PostActionConfigurationItemProvider(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 = ((PostActionConfiguration)object).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_PostActionConfiguration_type") :
+ getString("_UI_PostActionConfiguration_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);
+ 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/PreActionConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/PreActionConfigurationItemProvider.java
new file mode 100644
index 00000000000..b125e72871d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/provider/PreActionConfigurationItemProvider.java
@@ -0,0 +1,103 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.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.diagram.extendedtypes.PreActionConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.PreActionConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PreActionConfigurationItemProvider
+ 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 PreActionConfigurationItemProvider(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 = ((PreActionConfiguration)object).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_PreActionConfiguration_type") :
+ getString("_UI_PreActionConfiguration_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);
+ 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/.classpath b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/.classpath
new file mode 100644
index 00000000000..cedf0d0d0b5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/.project b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/.project
new file mode 100644
index 00000000000..30afe796adb
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.diagram.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/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..728ee03551f
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.diagram.extendedtypes.editor;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.diagram.extendedtypes.presentation.ExtendedTypesEditorPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.diagram.extendedtypes.presentation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources;visibility:=reexport,
+ org.eclipse.papyrus.diagram.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.core.queries.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/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/about.html b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/build.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/build.properties
new file mode 100644
index 00000000000..349c54c9d8e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/build.properties
@@ -0,0 +1,15 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/obj16/ExtendedtypesModelFile.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/obj16/ExtendedtypesModelFile.gif
new file mode 100644
index 00000000000..66b71ecf1b9
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/obj16/ExtendedtypesModelFile.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/obj16/ModifySemanticValuesActionConfigurationModelFile.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/obj16/ModifySemanticValuesActionConfigurationModelFile.gif
new file mode 100644
index 00000000000..3097cf4b11b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/obj16/ModifySemanticValuesActionConfigurationModelFile.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/wizban/NewExtendedtypes.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/wizban/NewExtendedtypes.gif
new file mode 100644
index 00000000000..35743ceb88a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/wizban/NewExtendedtypes.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/wizban/NewModifySemanticValuesActionConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/wizban/NewModifySemanticValuesActionConfiguration.gif
new file mode 100644
index 00000000000..f9e80f07bad
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/icons/full/wizban/NewModifySemanticValuesActionConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/plugin.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/plugin.properties
new file mode 100644
index 00000000000..230dcec5fa9
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/plugin.properties
@@ -0,0 +1,68 @@
+#################################################################################
+# Copyright (c) 2010 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Remi Schnekenburger remi.schnekenburger@cea.fr - Initial API and implementation
+##################################################################################
+pluginName=Papyrus ExtendedTypes Editor (Incubation)
+providerName=Eclipse Modeling Project
+
+_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_ModifySemanticValuesActionConfigurationEditor_menu = &ModifySemanticValuesActionConfiguration Editor
+ _UI_ModifySemanticValuesActionConfigurationModelWizard_label = ModifySemanticValuesActionConfiguration Model
+_UI_ModifySemanticValuesActionConfigurationModelWizard_description = Create a new ModifySemanticValuesActionConfiguration model
+ _UI_ModifySemanticValuesActionConfigurationEditor_label = ModifySemanticValuesActionConfiguration Model Editor
+ _UI_ModifySemanticValuesActionConfigurationEditorFilenameDefaultBase = My
+_UI_ModifySemanticValuesActionConfigurationEditorFilenameExtensions = modifysemanticvaluesactionconfiguration
+ \ No newline at end of file
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/plugin.xml b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/plugin.xml
new file mode 100644
index 00000000000..fb4d9353d66
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/plugin.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.ui.newWizards">
+ <category
+ id="org.eclipse.emf.ecore.Wizard.category.ID"
+ name="%_UI_Wizard_category"/>
+ <wizard
+ id="org.eclipse.papyrus.diagram.extendedtypes.presentation.ExtendedtypesModelWizardID"
+ name="%_UI_ExtendedtypesModelWizard_label"
+ class="org.eclipse.papyrus.diagram.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">
+ <editor
+ id="org.eclipse.papyrus.diagram.extendedtypes.presentation.ExtendedtypesEditorID"
+ name="%_UI_ExtendedtypesEditor_label"
+ icon="icons/full/obj16/ExtendedtypesModelFile.gif"
+ extensions="extendedtypes"
+ class="org.eclipse.papyrus.diagram.extendedtypes.presentation.ExtendedtypesEditor"
+ contributorClass="org.eclipse.papyrus.diagram.extendedtypes.presentation.ExtendedtypesActionBarContributor">
+ </editor>
+ </extension>
+</plugin>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/AbstractCommandHandler.class b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/AbstractCommandHandler.class
new file mode 100644
index 00000000000..bf0c3274098
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/AbstractCommandHandler.class
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedTypesEditorPlugin.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedTypesEditorPlugin.java
new file mode 100644
index 00000000000..2ceaf5ce163
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedTypesEditorPlugin.java
@@ -0,0 +1,109 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.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.core.queries.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.papyrus.diagram.extendedtypes.provider.ExtendedTypesEditPlugin;
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the ModifySemanticValuesActionConfiguration 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,
+ 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedtypesActionBarContributor.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedtypesActionBarContributor.java
new file mode 100644
index 00000000000..2ecaf28e1b8
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedtypesActionBarContributor.java
@@ -0,0 +1,427 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the 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")) {
+ @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 is the menu manager into which menu contribution items should be added for CreateChild actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createSiblingActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedtypesActionBarContributor() {
+ super(ADDITIONS_LAST_STYLE);
+ loadResourceAction = new LoadResourceAction();
+ validateAction = new ValidateAction();
+ controlAction = new ControlAction();
+ }
+
+ /**
+ * This adds Separators for editor additions to the tool bar.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void contributeToToolBar(IToolBarManager toolBarManager) {
+ toolBarManager.add(new Separator("extendedtypes-settings"));
+ toolBarManager.add(new Separator("extendedtypes-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_ExtendedtypesEditor_menu"), "org.eclipse.papyrus.diagram.extendedtypesMenuID");
+ 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, createChildActions);
+ }
+ if (createSiblingMenuManager != null) {
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection<?> newChildDescriptors = null;
+ Collection<?> newSiblingDescriptors = null;
+
+ ISelection selection = event.getSelection();
+ if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+
+ EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+ createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+ if (createChildMenuManager != null) {
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if (createSiblingMenuManager != null) {
+ populateManager(createSiblingMenuManager, createSiblingActions, null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+ * by inserting them before the specified contribution item <code>contributionID</code>.
+ * If <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+ if (actions != null) {
+ for (IAction action : actions) {
+ if (contributionID != null) {
+ manager.insertBefore(contributionID, action);
+ }
+ else {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+ if (actions != null) {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++) {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while (contributionItem instanceof SubContributionItem) {
+ contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+ }
+
+ // Delete the ActionContributionItems with matching action.
+ //
+ if (contributionItem instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem)contributionItem).getAction();
+ if (actions.contains(action)) {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager) {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+
+ submenuManager = new MenuManager(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+
+ submenuManager = new MenuManager(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void addGlobalActions(IMenuManager menuManager) {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted objects.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean removeAllReferencesOnDelete() {
+ return true;
+ }
+
+} \ No newline at end of file
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedtypesEditor.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedtypesEditor.java
new file mode 100644
index 00000000000..5f07d7c9394
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedtypesEditor.java
@@ -0,0 +1,1786 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.presentation;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.ViewerPane;
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EValidator;
+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.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.core.queries.configuration.provider.ConfigurationItemProviderAdapterFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.provider.ExtendedtypesItemProviderAdapterFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.Transfer;
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.dialogs.SaveAsDialog;
+import org.eclipse.ui.ide.IGotoMarker;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory;
+
+
+/**
+ * This is an example of a Extendedtypes model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtendedtypesEditor
+ extends MultiPageEditorPart
+ implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+ /**
+ * This keeps track of the editing domain that is used to track all changes to the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AdapterFactoryEditingDomain editingDomain;
+
+ /**
+ * This is the one adapter factory used for providing views of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory adapterFactory;
+
+ /**
+ * This is the content outline page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IContentOutlinePage contentOutlinePage;
+
+ /**
+ * This is a kludge...
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStatusLineManager contentOutlineStatusLineManager;
+
+ /**
+ * This is the content outline page's viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer contentOutlineViewer;
+
+ /**
+ * This is the property sheet page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PropertySheetPage propertySheetPage;
+
+ /**
+ * This is the viewer that shadows the selection in the content outline.
+ * The parent relation must be correctly defined for this to work.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer selectionViewer;
+
+ /**
+ * This inverts the roll of parent and child in the content provider and show parents as a tree.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer parentViewer;
+
+ /**
+ * This shows how a tree view works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewer;
+
+ /**
+ * This shows how a list view works.
+ * A list viewer doesn't support icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListViewer listViewer;
+
+ /**
+ * This shows how a table view works.
+ * A table can be used as a list with icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TableViewer tableViewer;
+
+ /**
+ * This shows how a tree view with columns works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewerWithColumns;
+
+ /**
+ * This keeps track of the active viewer pane, in the book.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ViewerPane currentViewerPane;
+
+ /**
+ * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Viewer currentViewer;
+
+ /**
+ * This listens to which ever viewer is active.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelectionChangedListener selectionChangedListener;
+
+ /**
+ * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+ /**
+ * This keeps track of the selection of the editor as a whole.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+ /**
+ * The MarkerHelper is responsible for creating workspace resource markers presented
+ * in Eclipse's Problems View.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+ /**
+ * This listens for when the outline becomes active
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IPartListener partListener =
+ new IPartListener() {
+ public void partActivated(IWorkbenchPart p) {
+ if (p instanceof ContentOutline) {
+ if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) {
+ getActionBarContributor().setActiveEditor(ExtendedtypesEditor.this);
+
+ setCurrentViewer(contentOutlineViewer);
+ }
+ }
+ else if (p instanceof PropertySheet) {
+ if (((PropertySheet)p).getCurrentPage() == propertySheetPage) {
+ getActionBarContributor().setActiveEditor(ExtendedtypesEditor.this);
+ handleActivate();
+ }
+ }
+ else if (p == ExtendedtypesEditor.this) {
+ handleActivate();
+ }
+ }
+ public void partBroughtToTop(IWorkbenchPart p) {
+ // Ignore.
+ }
+ public void partClosed(IWorkbenchPart p) {
+ // Ignore.
+ }
+ public void partDeactivated(IWorkbenchPart p) {
+ // Ignore.
+ }
+ public void partOpened(IWorkbenchPart p) {
+ // Ignore.
+ }
+ };
+
+ /**
+ * Resources that have been removed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been changed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been saved.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+ /**
+ * Map to store the diagnostic associated with a resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+ /**
+ * Controls whether the problem indication should be updated.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean updateProblemIndication = true;
+
+ /**
+ * Adapter used to update the problem indication when resources are demanded loaded.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EContentAdapter problemIndicationAdapter =
+ new EContentAdapter() {
+ @Override
+ public void notifyChanged(Notification notification) {
+ if (notification.getNotifier() instanceof Resource) {
+ switch (notification.getFeatureID(Resource.class)) {
+ case Resource.RESOURCE__IS_LOADED:
+ case Resource.RESOURCE__ERRORS:
+ case Resource.RESOURCE__WARNINGS: {
+ Resource resource = (Resource)notification.getNotifier();
+ Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource, diagnostic);
+ }
+ else {
+ resourceToDiagnosticMap.remove(resource);
+ }
+
+ if (updateProblemIndication) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ break;
+ }
+ }
+ }
+ else {
+ super.notifyChanged(notification);
+ }
+ }
+
+ @Override
+ protected void setTarget(Resource target) {
+ basicSetTarget(target);
+ }
+
+ @Override
+ protected void unsetTarget(Resource target) {
+ basicUnsetTarget(target);
+ }
+ };
+
+ /**
+ * 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 true;
+ }
+
+ public Collection<Resource> getChangedResources() {
+ return changedResources;
+ }
+
+ public Collection<Resource> getRemovedResources() {
+ return removedResources;
+ }
+ }
+
+ final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+ delta.accept(visitor);
+
+ if (!visitor.getRemovedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ removedResources.addAll(visitor.getRemovedResources());
+ if (!isDirty()) {
+ getSite().getPage().closeEditor(ExtendedtypesEditor.this, false);
+ }
+ }
+ });
+ }
+
+ if (!visitor.getChangedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ changedResources.addAll(visitor.getChangedResources());
+ if (getSite().getPage().getActiveEditor() == ExtendedtypesEditor.this) {
+ handleActivate();
+ }
+ }
+ });
+ }
+ }
+ catch (CoreException exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * Handles activation of the editor or it's associated views.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void handleActivate() {
+ // Recompute the read only state.
+ //
+ if (editingDomain.getResourceToReadOnlyMap() != null) {
+ editingDomain.getResourceToReadOnlyMap().clear();
+
+ // Refresh any actions that may become enabled or disabled.
+ //
+ setSelection(getSelection());
+ }
+
+ if (!removedResources.isEmpty()) {
+ if (handleDirtyConflict()) {
+ getSite().getPage().closeEditor(ExtendedtypesEditor.this, false);
+ }
+ else {
+ removedResources.clear();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+ else if (!changedResources.isEmpty()) {
+ changedResources.removeAll(savedResources);
+ handleChangedResources();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+
+ /**
+ * Handles what to do with changed resources on activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void handleChangedResources() {
+ if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+ if (isDirty()) {
+ changedResources.addAll(editingDomain.getResourceSet().getResources());
+ }
+ editingDomain.getCommandStack().flush();
+
+ updateProblemIndication = false;
+ for (Resource resource : changedResources) {
+ if (resource.isLoaded()) {
+ resource.unload();
+ try {
+ resource.load(Collections.EMPTY_MAP);
+ }
+ catch (IOException exception) {
+ if (!resourceToDiagnosticMap.containsKey(resource)) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ }
+ }
+ }
+
+ if (AdapterFactoryEditingDomain.isStale(editorSelection)) {
+ setSelection(StructuredSelection.EMPTY);
+ }
+
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+ }
+
+ /**
+ * Updates the problems indication with the information described in the specified diagnostic.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void updateProblemIndication() {
+ if (updateProblemIndication) {
+ BasicDiagnostic diagnostic =
+ new BasicDiagnostic
+ (Diagnostic.OK,
+ "org.eclipse.papyrus.diagram.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 ExtendedtypesEditor() {
+ super();
+ initializeEditingDomain();
+ }
+
+ /**
+ * This sets up the editing domain for the model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void initializeEditingDomain() {
+ // Create an adapter factory that yields item providers.
+ //
+ adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+ adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ExtendedtypesItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new EcoreItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new QueryItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new UMLItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+ // Create the command stack that will notify this editor as commands are executed.
+ //
+ BasicCommandStack commandStack = new BasicCommandStack();
+
+ // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+ //
+ commandStack.addCommandStackListener
+ (new CommandStackListener() {
+ public void commandStackChanged(final EventObject event) {
+ getContainer().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+
+ // Try to select the affected objects.
+ //
+ Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+ if (mostRecentCommand != null) {
+ setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+ }
+ if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) {
+ 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() };
+ 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.diagram.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.diagram.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(), ExtendedtypesEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ selectionViewer = (TreeViewer)viewerPane.getViewer();
+ selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+
+ selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+ viewerPane.setTitle(editingDomain.getResourceSet());
+
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_SelectionPage_label"));
+ }
+
+ // Create a page for the parent tree view.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), ExtendedtypesEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ parentViewer = (TreeViewer)viewerPane.getViewer();
+ parentViewer.setAutoExpandLevel(30);
+ parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+ parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(parentViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ParentPage_label"));
+ }
+
+ // This is the page for the list viewer
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), ExtendedtypesEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new ListViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ listViewer = (ListViewer)viewerPane.getViewer();
+ listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(listViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ListPage_label"));
+ }
+
+ // This is the page for the tree viewer
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), ExtendedtypesEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ treeViewer = (TreeViewer)viewerPane.getViewer();
+ treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+
+ createContextMenuFor(treeViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreePage_label"));
+ }
+
+ // This is the page for the table viewer.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), ExtendedtypesEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TableViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ tableViewer = (TableViewer)viewerPane.getViewer();
+
+ Table table = tableViewer.getTable();
+ TableLayout layout = new TableLayout();
+ table.setLayout(layout);
+ table.setHeaderVisible(true);
+ table.setLinesVisible(true);
+
+ TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(3, 100, true));
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));
+ 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(), ExtendedtypesEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+
+ Tree tree = treeViewerWithColumns.getTree();
+ tree.setLayoutData(new FillLayout());
+ tree.setHeaderVisible(true);
+ tree.setLinesVisible(true);
+
+ TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));
+ 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() {
+ if (propertySheetPage == null) {
+ propertySheetPage =
+ new ExtendedPropertySheetPage(editingDomain) {
+ @Override
+ public void setSelectionToViewer(List<?> selection) {
+ ExtendedtypesEditor.this.setSelectionToViewer(selection);
+ ExtendedtypesEditor.this.setFocus();
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ };
+ propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+ }
+
+ 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);
+
+ // 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) {
+ try {
+ if (marker.getType().equals(EValidator.MARKER)) {
+ String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
+ if (uriAttribute != null) {
+ URI uri = URI.createURI(uriAttribute);
+ EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
+ if (eObject != null) {
+ setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
+ }
+ }
+ }
+ }
+ catch (CoreException exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ /**
+ * 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);
+ }
+
+ if (propertySheetPage != null) {
+ 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedtypesModelWizard.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedtypesModelWizard.java
new file mode 100644
index 00000000000..5a7ff54cf55
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/presentation/ExtendedtypesModelWizard.java
@@ -0,0 +1,631 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.presentation;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.CommonPlugin;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtendedtypesModelWizard extends Wizard implements INewWizard {
+ /**
+ * The supported extensions for created files.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<String> FILE_EXTENSIONS =
+ Collections.unmodifiableList(Arrays.asList(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesEditorFilenameExtensions").split("\\s*,\\s*")));
+
+ /**
+ * A formatted list of supported file extensions, suitable for display.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String FORMATTED_FILE_EXTENSIONS =
+ ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+ /**
+ * This caches an instance of the model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendedtypesPackage extendedtypesPackage = ExtendedtypesPackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendedtypesFactory extendedtypesFactory = extendedtypesPackage.getExtendedtypesFactory();
+
+ /**
+ * This is the file creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendedtypesModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendedtypesModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+ /**
+ * Remember the selection during initialization for populating the default container.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStructuredSelection selection;
+
+ /**
+ * Remember the workbench during initialization.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IWorkbench workbench;
+
+ /**
+ * Caches the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected List<String> initialObjectNames;
+
+ /**
+ * This just records the information.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ this.workbench = workbench;
+ this.selection = selection;
+ setWindowTitle(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(ExtendedTypesEditorPlugin.INSTANCE.getImage("full/wizban/NewExtendedtypes")));
+ }
+
+ /**
+ * Returns the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<String> getInitialObjectNames() {
+ if (initialObjectNames == null) {
+ initialObjectNames = new ArrayList<String>();
+ for (EClassifier eClassifier : extendedtypesPackage.getEClassifiers()) {
+ if (eClassifier instanceof EClass) {
+ EClass eClass = (EClass)eClassifier;
+ if (!eClass.isAbstract()) {
+ initialObjectNames.add(eClass.getName());
+ }
+ }
+ }
+ Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
+ }
+ return initialObjectNames;
+ }
+
+ /**
+ * Create a new model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObject createInitialModel() {
+ EClass eClass = (EClass)extendedtypesPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = extendedtypesFactory.create(eClass);
+ return rootObject;
+ }
+
+ /**
+ * Do the work after everything is specified.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean performFinish() {
+ try {
+ // Remember the file.
+ //
+ final IFile modelFile = getModelFile();
+
+ // Do the work within an operation.
+ //
+ WorkspaceModifyOperation operation =
+ new WorkspaceModifyOperation() {
+ @Override
+ protected void execute(IProgressMonitor progressMonitor) {
+ try {
+ // Create a resource set
+ //
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ // Get the URI of the model file.
+ //
+ URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+
+ // Create a resource for this file.
+ //
+ Resource resource = resourceSet.createResource(fileURI);
+
+ // Add the initial model object to the contents.
+ //
+ EObject rootObject = createInitialModel();
+ if (rootObject != null) {
+ resource.getContents().add(rootObject);
+ }
+
+ // Save the contents of the resource to the file system.
+ //
+ Map<Object, Object> options = new HashMap<Object, Object>();
+ options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+ resource.save(options);
+ }
+ catch (Exception exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ }
+ finally {
+ progressMonitor.done();
+ }
+ }
+ };
+
+ getContainer().run(false, false, operation);
+
+ // Select the new file resource in the current view.
+ //
+ IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ final IWorkbenchPart activePart = page.getActivePart();
+ if (activePart instanceof ISetSelectionTarget) {
+ final ISelection targetSelection = new StructuredSelection(modelFile);
+ getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+ }
+ });
+ }
+
+ // Open an editor on the new file.
+ //
+ try {
+ page.openEditor
+ (new FileEditorInput(modelFile),
+ workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());
+ }
+ catch (PartInitException exception) {
+ MessageDialog.openError(workbenchWindow.getShell(), ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception exception) {
+ ExtendedTypesEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ExtendedtypesModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedtypesModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) {
+ super(pageId, selection);
+ }
+
+ /**
+ * The framework calls this to see if the file is correct.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean validatePage() {
+ if (super.validatePage()) {
+ String extension = new Path(getFileName()).getFileExtension();
+ if (extension == null || !FILE_EXTENSIONS.contains(extension)) {
+ String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";
+ setErrorMessage(ExtendedTypesEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile() {
+ return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+ }
+ }
+
+ /**
+ * This is the page where the type of object to create is selected.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ExtendedtypesModelWizardInitialObjectCreationPage extends WizardPage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo initialObjectField;
+
+ /**
+ * @generated
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ */
+ protected List<String> encodings;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo encodingField;
+
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedtypesModelWizardInitialObjectCreationPage(String pageId) {
+ super(pageId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE); {
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.verticalSpacing = 12;
+ composite.setLayout(layout);
+
+ GridData data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.grabExcessVerticalSpace = true;
+ data.horizontalAlignment = GridData.FILL;
+ composite.setLayoutData(data);
+ }
+
+ Label containerLabel = new Label(composite, SWT.LEFT);
+ {
+ containerLabel.setText(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ModelObject"));
+
+ 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 ExtendedtypesModelWizardNewFileCreationPage("Whatever", selection);
+ newFileCreationPage.setTitle(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesModelWizard_label"));
+ newFileCreationPage.setDescription(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesModelWizard_description"));
+ newFileCreationPage.setFileName(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesEditorFilenameDefaultBase") + "." + 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_ExtendedtypesEditorFilenameDefaultBase");
+ 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 ExtendedtypesModelWizardInitialObjectCreationPage("Whatever2");
+ initialObjectCreationPage.setTitle(ExtendedTypesEditorPlugin.INSTANCE.getString("_UI_ExtendedtypesModelWizard_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/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/.classpath b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/.classpath
new file mode 100644
index 00000000000..cedf0d0d0b5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/.project b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/.project
new file mode 100644
index 00000000000..9f31387c3a8
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.diagram.extendedtypes.emf.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/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..def2a1e02cb
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.diagram.extendedtypes.emf.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.provider.ModifySemanticValuesActionConfigurationEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.diagram.extendedtypes.emf;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ org.eclipse.papyrus.core.queries.configuration;visibility:=reexport,
+ org.eclipse.papyrus.core.queries.configuration.edit;visibility:=reexport,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.edit;visibility:=reexport,
+ org.eclipse.papyrus.diagram.extendedtypes;visibility:=reexport,
+ org.eclipse.papyrus.diagram.extendedtypes.edit;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query.edit;visibility:=reexport,
+ org.eclipse.uml2.uml;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/build.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/build.properties
new file mode 100644
index 00000000000..ec2e13c4729
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/build.properties
@@ -0,0 +1,14 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Duration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Duration.gif
new file mode 100644
index 00000000000..dac4138ca01
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Duration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_DurationInterval.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_DurationInterval.gif
new file mode 100644
index 00000000000..755e4ca7a46
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_DurationInterval.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Expression.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Expression.gif
new file mode 100644
index 00000000000..8ce82e3f6c7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Expression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_InstanceValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_InstanceValue.gif
new file mode 100644
index 00000000000..fe708946d58
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_InstanceValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Interval.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Interval.gif
new file mode 100644
index 00000000000..4aaad5a4cd7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_Interval.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralBoolean.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralBoolean.gif
new file mode 100644
index 00000000000..44afafd55da
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralBoolean.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralInteger.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralInteger.gif
new file mode 100644
index 00000000000..f93c92d061a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralInteger.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralNull.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralNull.gif
new file mode 100644
index 00000000000..5ef9a94e8da
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralNull.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralString.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralString.gif
new file mode 100644
index 00000000000..f08356ef9bb
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralString.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralUnlimitedNatural.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralUnlimitedNatural.gif
new file mode 100644
index 00000000000..37dad615792
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_LiteralUnlimitedNatural.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_OpaqueExpression.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_OpaqueExpression.gif
new file mode 100644
index 00000000000..8ce82e3f6c7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_OpaqueExpression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_StringExpression.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_StringExpression.gif
new file mode 100644
index 00000000000..4aaad5a4cd7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_StringExpression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeExpression.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeExpression.gif
new file mode 100644
index 00000000000..33e07420851
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeExpression.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeInterval.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeInterval.gif
new file mode 100644
index 00000000000..e180c4cf7ca
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateConstantValue_valueInstance_TimeInterval.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_ConstantValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_ConstantValue.gif
new file mode 100644
index 00000000000..03366e35d0f
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_ConstantValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_DynamicValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_DynamicValue.gif
new file mode 100644
index 00000000000..c048169804a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_DynamicValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_ListValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_ListValue.gif
new file mode 100644
index 00000000000..8997497557c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_ListValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_QueryExecutionValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_QueryExecutionValue.gif
new file mode 100644
index 00000000000..c048169804a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateFeatureToSet_value_QueryExecutionValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateModifySemanticValuesActionConfiguration_featuresToSet_FeatureToSet.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateModifySemanticValuesActionConfiguration_featuresToSet_FeatureToSet.gif
new file mode 100644
index 00000000000..d1876aa3c50
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/ctool16/CreateModifySemanticValuesActionConfiguration_featuresToSet_FeatureToSet.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/ConstantValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/ConstantValue.gif
new file mode 100644
index 00000000000..e4bc22dd17e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/ConstantValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/DynamicValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/DynamicValue.gif
new file mode 100644
index 00000000000..ed874747401
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/DynamicValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/FeatureToSet.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/FeatureToSet.gif
new file mode 100644
index 00000000000..5a9bc7514fa
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/FeatureToSet.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/ListValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/ListValue.gif
new file mode 100644
index 00000000000..c3370c7ddd5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/ListValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/ModifySemanticValuesActionConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/ModifySemanticValuesActionConfiguration.gif
new file mode 100644
index 00000000000..ed874747401
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/ModifySemanticValuesActionConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/QueryExecutionValue.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/QueryExecutionValue.gif
new file mode 100644
index 00000000000..ed874747401
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/icons/full/obj16/QueryExecutionValue.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/plugin.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/plugin.properties
new file mode 100644
index 00000000000..360f2156de1
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/plugin.properties
@@ -0,0 +1,37 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = ModifySemanticValuesActionConfiguration 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_ModifySemanticValuesActionConfiguration_type = Modify Semantic Values Action Configuration
+_UI_FeatureToSet_type = Feature To Set
+_UI_FeatureValue_type = Feature Value
+_UI_DynamicValue_type = Dynamic Value
+_UI_ConstantValue_type = Constant Value
+_UI_ListValue_type = List Value
+_UI_QueryExecutionValue_type = Query Execution Value
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_ModifySemanticValuesActionConfiguration_featuresToSet_feature = Features To Set
+_UI_FeatureToSet_featureName_feature = Feature Name
+_UI_FeatureToSet_value_feature = Value
+_UI_ConstantValue_valueInstance_feature = Value Instance
+_UI_ListValue_values_feature = Values
+_UI_QueryExecutionValue_configuration_feature = Configuration
+_UI_Unknown_feature = Unspecified
+
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/plugin.xml b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/plugin.xml
new file mode 100644
index 00000000000..e96d4802c4c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/plugin.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <factory
+ uri="http://www.eclipse.org/papyrus/diagram/types/modifysemanticvaluesactionconfiguration/0.8"
+ class="org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.provider.ModifySemanticValuesActionConfigurationItemProviderAdapterFactory"
+ 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ConstantValueItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ConstantValueItemProvider.java
new file mode 100644
index 00000000000..1bbdb84adad
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ConstantValueItemProvider.java
@@ -0,0 +1,223 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.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.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+
+import org.eclipse.uml2.uml.UMLFactory;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConstantValueItemProvider
+ extends FeatureValueItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConstantValueItemProvider(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(ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE);
+ }
+ 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 ConstantValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ConstantValue"));
+ }
+
+ /**
+ * 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_ConstantValue_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(ConstantValue.class)) {
+ case ModifySemanticValuesActionConfigurationPackage.CONSTANT_VALUE__VALUE_INSTANCE:
+ 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
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createOpaqueExpression()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createExpression()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createStringExpression()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createLiteralInteger()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createLiteralString()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createLiteralBoolean()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createLiteralNull()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createInstanceValue()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createTimeExpression()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createDuration()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createInterval()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createDurationInterval()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE__VALUE_INSTANCE,
+ UMLFactory.eINSTANCE.createTimeInterval()));
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/DynamicValueItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/DynamicValueItemProvider.java
new file mode 100644
index 00000000000..7894df42d19
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/DynamicValueItemProvider.java
@@ -0,0 +1,109 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.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.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.DynamicValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DynamicValueItemProvider
+ extends FeatureValueItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DynamicValueItemProvider(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 DynamicValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/DynamicValue"));
+ }
+
+ /**
+ * 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_DynamicValue_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/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/FeatureToSetItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/FeatureToSetItemProvider.java
new file mode 100644
index 00000000000..60605e7f6f7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/FeatureToSetItemProvider.java
@@ -0,0 +1,217 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.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.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FeatureToSetItemProvider
+ 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 FeatureToSetItemProvider(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);
+
+ addFeatureNamePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Feature Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFeatureNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_FeatureToSet_featureName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_FeatureToSet_featureName_feature", "_UI_FeatureToSet_type"),
+ ModifySemanticValuesActionConfigurationPackage.Literals.FEATURE_TO_SET__FEATURE_NAME,
+ 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(ModifySemanticValuesActionConfigurationPackage.Literals.FEATURE_TO_SET__VALUE);
+ }
+ 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 FeatureToSet.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/FeatureToSet"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((FeatureToSet)object).getFeatureName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_FeatureToSet_type") :
+ getString("_UI_FeatureToSet_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(FeatureToSet.class)) {
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__FEATURE_NAME:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__VALUE:
+ 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
+ (ModifySemanticValuesActionConfigurationPackage.Literals.FEATURE_TO_SET__VALUE,
+ ModifySemanticValuesActionConfigurationFactory.eINSTANCE.createDynamicValue()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.FEATURE_TO_SET__VALUE,
+ ModifySemanticValuesActionConfigurationFactory.eINSTANCE.createConstantValue()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.FEATURE_TO_SET__VALUE,
+ ModifySemanticValuesActionConfigurationFactory.eINSTANCE.createListValue()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ModifySemanticValuesActionConfigurationPackage.Literals.FEATURE_TO_SET__VALUE,
+ ModifySemanticValuesActionConfigurationFactory.eINSTANCE.createQueryExecutionValue()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return ModifySemanticValuesActionConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/FeatureValueItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/FeatureValueItemProvider.java
new file mode 100644
index 00000000000..60212256b89
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/FeatureValueItemProvider.java
@@ -0,0 +1,112 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.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.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FeatureValueItemProvider
+ 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 FeatureValueItemProvider(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_FeatureValue_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 ModifySemanticValuesActionConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ListValueItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ListValueItemProvider.java
new file mode 100644
index 00000000000..27ec64eed1c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ListValueItemProvider.java
@@ -0,0 +1,135 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.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.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ListValueItemProvider
+ extends FeatureValueItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ListValueItemProvider(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);
+
+ addValuesPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Values feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuesPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ListValue_values_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ListValue_values_feature", "_UI_ListValue_type"),
+ ModifySemanticValuesActionConfigurationPackage.Literals.LIST_VALUE__VALUES,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns ListValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ListValue"));
+ }
+
+ /**
+ * 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_ListValue_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/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ModifySemanticValuesActionConfigurationEditPlugin.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ModifySemanticValuesActionConfigurationEditPlugin.java
new file mode 100644
index 00000000000..6b0824f6831
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ModifySemanticValuesActionConfigurationEditPlugin.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.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.core.queries.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.papyrus.diagram.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the ModifySemanticValuesActionConfiguration edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class ModifySemanticValuesActionConfigurationEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final ModifySemanticValuesActionConfigurationEditPlugin INSTANCE = new ModifySemanticValuesActionConfigurationEditPlugin();
+
+ /**
+ * 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 ModifySemanticValuesActionConfigurationEditPlugin() {
+ 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ModifySemanticValuesActionConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ModifySemanticValuesActionConfigurationItemProvider.java
new file mode 100644
index 00000000000..6997fa05de3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ModifySemanticValuesActionConfigurationItemProvider.java
@@ -0,0 +1,175 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.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.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+
+import org.eclipse.papyrus.diagram.extendedtypes.provider.PostActionConfigurationItemProvider;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModifySemanticValuesActionConfigurationItemProvider
+ extends PostActionConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModifySemanticValuesActionConfigurationItemProvider(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(ModifySemanticValuesActionConfigurationPackage.Literals.MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__FEATURES_TO_SET);
+ }
+ 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 ModifySemanticValuesActionConfiguration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ModifySemanticValuesActionConfiguration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ModifySemanticValuesActionConfiguration)object).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_ModifySemanticValuesActionConfiguration_type") :
+ getString("_UI_ModifySemanticValuesActionConfiguration_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(ModifySemanticValuesActionConfiguration.class)) {
+ case ModifySemanticValuesActionConfigurationPackage.MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__FEATURES_TO_SET:
+ 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
+ (ModifySemanticValuesActionConfigurationPackage.Literals.MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__FEATURES_TO_SET,
+ ModifySemanticValuesActionConfigurationFactory.eINSTANCE.createFeatureToSet()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return ModifySemanticValuesActionConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ModifySemanticValuesActionConfigurationItemProviderAdapterFactory.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ModifySemanticValuesActionConfigurationItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..77d4398c378
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/ModifySemanticValuesActionConfigurationItemProviderAdapterFactory.java
@@ -0,0 +1,323 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.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.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.util.ModifySemanticValuesActionConfigurationAdapterFactory;
+
+/**
+ * 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 ModifySemanticValuesActionConfigurationItemProviderAdapterFactory extends ModifySemanticValuesActionConfigurationAdapterFactory 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 ModifySemanticValuesActionConfigurationItemProviderAdapterFactory() {
+ 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.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifySemanticValuesActionConfigurationItemProvider modifySemanticValuesActionConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createModifySemanticValuesActionConfigurationAdapter() {
+ if (modifySemanticValuesActionConfigurationItemProvider == null) {
+ modifySemanticValuesActionConfigurationItemProvider = new ModifySemanticValuesActionConfigurationItemProvider(this);
+ }
+
+ return modifySemanticValuesActionConfigurationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureToSetItemProvider featureToSetItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createFeatureToSetAdapter() {
+ if (featureToSetItemProvider == null) {
+ featureToSetItemProvider = new FeatureToSetItemProvider(this);
+ }
+
+ return featureToSetItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.DynamicValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DynamicValueItemProvider dynamicValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.DynamicValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createDynamicValueAdapter() {
+ if (dynamicValueItemProvider == null) {
+ dynamicValueItemProvider = new DynamicValueItemProvider(this);
+ }
+
+ return dynamicValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConstantValueItemProvider constantValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createConstantValueAdapter() {
+ if (constantValueItemProvider == null) {
+ constantValueItemProvider = new ConstantValueItemProvider(this);
+ }
+
+ return constantValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListValueItemProvider listValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createListValueAdapter() {
+ if (listValueItemProvider == null) {
+ listValueItemProvider = new ListValueItemProvider(this);
+ }
+
+ return listValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QueryExecutionValueItemProvider queryExecutionValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createQueryExecutionValueAdapter() {
+ if (queryExecutionValueItemProvider == null) {
+ queryExecutionValueItemProvider = new QueryExecutionValueItemProvider(this);
+ }
+
+ return queryExecutionValueItemProvider;
+ }
+
+ /**
+ * 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 (modifySemanticValuesActionConfigurationItemProvider != null) modifySemanticValuesActionConfigurationItemProvider.dispose();
+ if (featureToSetItemProvider != null) featureToSetItemProvider.dispose();
+ if (dynamicValueItemProvider != null) dynamicValueItemProvider.dispose();
+ if (constantValueItemProvider != null) constantValueItemProvider.dispose();
+ if (listValueItemProvider != null) listValueItemProvider.dispose();
+ if (queryExecutionValueItemProvider != null) queryExecutionValueItemProvider.dispose();
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/QueryExecutionValueItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/QueryExecutionValueItemProvider.java
new file mode 100644
index 00000000000..4f0f008b013
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/provider/QueryExecutionValueItemProvider.java
@@ -0,0 +1,135 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.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.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryExecutionValueItemProvider
+ extends FeatureValueItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryExecutionValueItemProvider(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);
+
+ addConfigurationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Configuration feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConfigurationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_QueryExecutionValue_configuration_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_QueryExecutionValue_configuration_feature", "_UI_QueryExecutionValue_type"),
+ ModifySemanticValuesActionConfigurationPackage.Literals.QUERY_EXECUTION_VALUE__CONFIGURATION,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns QueryExecutionValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/QueryExecutionValue"));
+ }
+
+ /**
+ * 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_QueryExecutionValue_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/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/.classpath b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/.classpath
new file mode 100644
index 00000000000..cedf0d0d0b5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/.project b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/.project
new file mode 100644
index 00000000000..f0e663c9be8
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.diagram.extendedtypes.emf.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/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..c52169ec6b9
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.diagram.extendedtypes.emf.editor;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.presentation.ModifySemanticValuesActionConfigurationEditorPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.presentation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources;visibility:=reexport,
+ org.eclipse.papyrus.diagram.extendedtypes.emf.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.core.queries.configuration.edit;visibility:=reexport,
+ org.eclipse.emf.ecore.edit;visibility:=reexport,
+ org.eclipse.papyrus.diagram.extendedtypes.edit;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query.edit;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/build.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/build.properties
new file mode 100644
index 00000000000..b6140429855
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/build.properties
@@ -0,0 +1,14 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/icons/full/obj16/ModifySemanticValuesActionConfigurationModelFile.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/icons/full/obj16/ModifySemanticValuesActionConfigurationModelFile.gif
new file mode 100644
index 00000000000..3097cf4b11b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/icons/full/obj16/ModifySemanticValuesActionConfigurationModelFile.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/icons/full/wizban/NewModifySemanticValuesActionConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/icons/full/wizban/NewModifySemanticValuesActionConfiguration.gif
new file mode 100644
index 00000000000..f9e80f07bad
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/icons/full/wizban/NewModifySemanticValuesActionConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/plugin.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/plugin.properties
new file mode 100644
index 00000000000..7d3ad18a0f3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/plugin.properties
@@ -0,0 +1,57 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = ModifySemanticValuesActionConfiguration Editor
+providerName = www.example.org
+
+_UI_ModifySemanticValuesActionConfigurationEditor_menu = &ModifySemanticValuesActionConfiguration 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_ModifySemanticValuesActionConfigurationModelWizard_label = ModifySemanticValuesActionConfiguration Model
+_UI_ModifySemanticValuesActionConfigurationModelWizard_description = Create a new ModifySemanticValuesActionConfiguration model
+
+_UI_ModifySemanticValuesActionConfigurationEditor_label = ModifySemanticValuesActionConfiguration Model Editor
+
+_UI_ModifySemanticValuesActionConfigurationEditorFilenameDefaultBase = My
+_UI_ModifySemanticValuesActionConfigurationEditorFilenameExtensions = modifysemanticvaluesactionconfiguration
+
+_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?
+
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/plugin.xml b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/plugin.xml
new file mode 100644
index 00000000000..0acc93e3909
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/plugin.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.ui.newWizards">
+ <category
+ id="org.eclipse.emf.ecore.Wizard.category.ID"
+ name="%_UI_Wizard_category"/>
+ <wizard
+ id="org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.presentation.ModifySemanticValuesActionConfigurationModelWizardID"
+ name="%_UI_ModifySemanticValuesActionConfigurationModelWizard_label"
+ class="org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.presentation.ModifySemanticValuesActionConfigurationModelWizard"
+ category="org.eclipse.emf.ecore.Wizard.category.ID"
+ icon="icons/full/obj16/ModifySemanticValuesActionConfigurationModelFile.gif">
+ <description>%_UI_ModifySemanticValuesActionConfigurationModelWizard_description</description>
+ <selection class="org.eclipse.core.resources.IResource"/>
+ </wizard>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors">
+ <editor
+ id="org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.presentation.ModifySemanticValuesActionConfigurationEditorID"
+ name="%_UI_ModifySemanticValuesActionConfigurationEditor_label"
+ icon="icons/full/obj16/ModifySemanticValuesActionConfigurationModelFile.gif"
+ extensions="modifysemanticvaluesactionconfiguration"
+ class="org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.presentation.ModifySemanticValuesActionConfigurationEditor"
+ contributorClass="org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.presentation.ModifySemanticValuesActionConfigurationActionBarContributor">
+ </editor>
+ </extension>
+
+</plugin>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationActionBarContributor.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationActionBarContributor.java
new file mode 100644
index 00000000000..4263863675b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationActionBarContributor.java
@@ -0,0 +1,427 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the ModifySemanticValuesActionConfiguration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModifySemanticValuesActionConfigurationActionBarContributor
+ 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(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+ @Override
+ public void run() {
+ try {
+ getPage().showView("org.eclipse.ui.views.PropertySheet");
+ }
+ catch (PartInitException exception) {
+ ModifySemanticValuesActionConfigurationEditorPlugin.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(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+ @Override
+ public boolean isEnabled() {
+ return activeEditorPart instanceof IViewerProvider;
+ }
+
+ @Override
+ public void run() {
+ if (activeEditorPart instanceof IViewerProvider) {
+ Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+ if (viewer != null) {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createChildActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createSiblingActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModifySemanticValuesActionConfigurationActionBarContributor() {
+ 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("modifysemanticvaluesactionconfiguration-settings"));
+ toolBarManager.add(new Separator("modifysemanticvaluesactionconfiguration-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(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ModifySemanticValuesActionConfigurationEditor_menu"), "org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfigurationMenuID");
+ 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(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ submenuManager.insertBefore("additions", createChildMenuManager);
+
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new MenuManager(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener
+ (new IMenuListener() {
+ public void menuAboutToShow(IMenuManager menuManager) {
+ menuManager.updateAll(true);
+ }
+ });
+
+ addGlobalActions(submenuManager);
+ }
+
+ /**
+ * When the active editor changes, this remembers the change and registers with it as a selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setActiveEditor(IEditorPart part) {
+ super.setActiveEditor(part);
+ activeEditorPart = part;
+
+ // Switch to the new selection provider.
+ //
+ if (selectionProvider != null) {
+ selectionProvider.removeSelectionChangedListener(this);
+ }
+ if (part == null) {
+ selectionProvider = null;
+ }
+ else {
+ selectionProvider = part.getSite().getSelectionProvider();
+ selectionProvider.addSelectionChangedListener(this);
+
+ // Fake a selection changed event to update the menus.
+ //
+ if (selectionProvider.getSelection() != null) {
+ selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+ }
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+ * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+ * that can be added to the selected object and updating the menus accordingly.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void selectionChanged(SelectionChangedEvent event) {
+ // Remove any menu items for old selection.
+ //
+ if (createChildMenuManager != null) {
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if (createSiblingMenuManager != null) {
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection<?> newChildDescriptors = null;
+ Collection<?> newSiblingDescriptors = null;
+
+ ISelection selection = event.getSelection();
+ if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+
+ EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+ createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+ if (createChildMenuManager != null) {
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if (createSiblingMenuManager != null) {
+ populateManager(createSiblingMenuManager, createSiblingActions, null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+ * by inserting them before the specified contribution item <code>contributionID</code>.
+ * If <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+ if (actions != null) {
+ for (IAction action : actions) {
+ if (contributionID != null) {
+ manager.insertBefore(contributionID, action);
+ }
+ else {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+ if (actions != null) {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++) {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while (contributionItem instanceof SubContributionItem) {
+ contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+ }
+
+ // Delete the ActionContributionItems with matching action.
+ //
+ if (contributionItem instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem)contributionItem).getAction();
+ if (actions.contains(action)) {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager) {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+
+ submenuManager = new MenuManager(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+
+ submenuManager = new MenuManager(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void addGlobalActions(IMenuManager menuManager) {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted objects.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean removeAllReferencesOnDelete() {
+ return true;
+ }
+
+} \ No newline at end of file
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationEditor.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationEditor.java
new file mode 100644
index 00000000000..77e5c74477e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationEditor.java
@@ -0,0 +1,1833 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.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.EObject;
+import org.eclipse.emf.ecore.EValidator;
+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.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.core.queries.configuration.provider.ConfigurationItemProviderAdapterFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.provider.ModifySemanticValuesActionConfigurationItemProviderAdapterFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.provider.ExtendedtypesItemProviderAdapterFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.dnd.DND;
+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 ModifySemanticValuesActionConfiguration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ModifySemanticValuesActionConfigurationEditor 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 PropertySheetPage 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(ModifySemanticValuesActionConfigurationEditor.this);
+
+ setCurrentViewer(contentOutlineViewer);
+ }
+ } else if(p instanceof PropertySheet) {
+ if(((PropertySheet)p).getCurrentPage() == propertySheetPage) {
+ getActionBarContributor().setActiveEditor(ModifySemanticValuesActionConfigurationEditor.this);
+ handleActivate();
+ }
+ } else if(p == ModifySemanticValuesActionConfigurationEditor.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);
+ }
+ };
+
+ /**
+ * 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 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(ModifySemanticValuesActionConfigurationEditor.this, false);
+ }
+ }
+ });
+ }
+
+ if(!visitor.getChangedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ changedResources.addAll(visitor.getChangedResources());
+ if(getSite().getPage().getActiveEditor() == ModifySemanticValuesActionConfigurationEditor.this) {
+ handleActivate();
+ }
+ }
+ });
+ }
+ } catch (CoreException exception) {
+ ModifySemanticValuesActionConfigurationEditorPlugin.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(ModifySemanticValuesActionConfigurationEditor.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.diagram.extendedtypes.emf.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) {
+ ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ if(markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+ markerHelper.deleteMarkers(editingDomain.getResourceSet());
+ if(diagnostic.getSeverity() != Diagnostic.OK) {
+ try {
+ markerHelper.createMarkers(diagnostic);
+ } catch (CoreException exception) {
+ ModifySemanticValuesActionConfigurationEditorPlugin.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 ModifySemanticValuesActionConfigurationEditor() {
+ 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 ModifySemanticValuesActionConfigurationItemProviderAdapterFactory());
+ 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());
+ }
+ if(propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) {
+ 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() };
+ 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.diagram.extendedtypes.emf.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.diagram.extendedtypes.emf.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(), ModifySemanticValuesActionConfigurationEditor.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(), ModifySemanticValuesActionConfigurationEditor.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(), ModifySemanticValuesActionConfigurationEditor.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(), ModifySemanticValuesActionConfigurationEditor.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(), ModifySemanticValuesActionConfigurationEditor.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(), ModifySemanticValuesActionConfigurationEditor.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() {
+ if(propertySheetPage == null) {
+ propertySheetPage = new ExtendedPropertySheetPage(editingDomain) {
+
+ @Override
+ public void setSelectionToViewer(List<?> selection) {
+ ModifySemanticValuesActionConfigurationEditor.this.setSelectionToViewer(selection);
+ ModifySemanticValuesActionConfigurationEditor.this.setFocus();
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ };
+ propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+ }
+
+ 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);
+
+ // 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.
+ //
+ ModifySemanticValuesActionConfigurationEditorPlugin.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) {
+ try {
+ if(marker.getType().equals(EValidator.MARKER)) {
+ String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
+ if(uriAttribute != null) {
+ URI uri = URI.createURI(uriAttribute);
+ EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
+ if(eObject != null) {
+ setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
+ }
+ }
+ }
+ } catch (CoreException exception) {
+ ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ /**
+ * 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 ModifySemanticValuesActionConfigurationEditorPlugin.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 ModifySemanticValuesActionConfigurationEditorPlugin.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);
+ }
+
+ if(propertySheetPage != null) {
+ 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationEditorPlugin.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationEditorPlugin.java
new file mode 100644
index 00000000000..a4cec52c299
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationEditorPlugin.java
@@ -0,0 +1,110 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.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.core.queries.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.papyrus.diagram.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the ModifySemanticValuesActionConfiguration editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class ModifySemanticValuesActionConfigurationEditorPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final ModifySemanticValuesActionConfigurationEditorPlugin INSTANCE = new ModifySemanticValuesActionConfigurationEditorPlugin();
+
+ /**
+ * 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 ModifySemanticValuesActionConfigurationEditorPlugin() {
+ 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationModelWizard.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationModelWizard.java
new file mode 100644
index 00000000000..ddac4059e8f
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/presentation/ModifySemanticValuesActionConfigurationModelWizard.java
@@ -0,0 +1,632 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.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.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.provider.ModifySemanticValuesActionConfigurationEditPlugin;
+
+
+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 ModifySemanticValuesActionConfigurationModelWizard 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(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ModifySemanticValuesActionConfigurationEditorFilenameExtensions").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 =
+ ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ModifySemanticValuesActionConfigurationEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+ /**
+ * This caches an instance of the model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifySemanticValuesActionConfigurationPackage modifySemanticValuesActionConfigurationPackage = ModifySemanticValuesActionConfigurationPackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifySemanticValuesActionConfigurationFactory modifySemanticValuesActionConfigurationFactory = modifySemanticValuesActionConfigurationPackage.getModifySemanticValuesActionConfigurationFactory();
+
+ /**
+ * This is the file creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifySemanticValuesActionConfigurationModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifySemanticValuesActionConfigurationModelWizardInitialObjectCreationPage 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(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getImage("full/wizban/NewModifySemanticValuesActionConfiguration")));
+ }
+
+ /**
+ * 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 : modifySemanticValuesActionConfigurationPackage.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)modifySemanticValuesActionConfigurationPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = modifySemanticValuesActionConfigurationFactory.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) {
+ ModifySemanticValuesActionConfigurationEditorPlugin.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(), ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception exception) {
+ ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ModifySemanticValuesActionConfigurationModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModifySemanticValuesActionConfigurationModelWizardNewFileCreationPage(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(ModifySemanticValuesActionConfigurationEditorPlugin.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 ModifySemanticValuesActionConfigurationModelWizardInitialObjectCreationPage 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 ModifySemanticValuesActionConfigurationModelWizardInitialObjectCreationPage(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(ModifySemanticValuesActionConfigurationEditorPlugin.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(ModifySemanticValuesActionConfigurationEditorPlugin.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 ModifySemanticValuesActionConfigurationEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+ }
+ catch(MissingResourceException mre) {
+ ModifySemanticValuesActionConfigurationEditorPlugin.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(ModifySemanticValuesActionConfigurationEditorPlugin.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 ModifySemanticValuesActionConfigurationModelWizardNewFileCreationPage("Whatever", selection);
+ newFileCreationPage.setTitle(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ModifySemanticValuesActionConfigurationModelWizard_label"));
+ newFileCreationPage.setDescription(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ModifySemanticValuesActionConfigurationModelWizard_description"));
+ newFileCreationPage.setFileName(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ModifySemanticValuesActionConfigurationEditorFilenameDefaultBase") + "." + 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 = ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ModifySemanticValuesActionConfigurationEditorFilenameDefaultBase");
+ 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 ModifySemanticValuesActionConfigurationModelWizardInitialObjectCreationPage("Whatever2");
+ initialObjectCreationPage.setTitle(ModifySemanticValuesActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ModifySemanticValuesActionConfigurationModelWizard_label"));
+ initialObjectCreationPage.setDescription(ModifySemanticValuesActionConfigurationEditorPlugin.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/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/.classpath b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/.classpath
new file mode 100644
index 00000000000..afb9bb46ef3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/.project b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/.project
new file mode 100644
index 00000000000..e691d29bc7d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.diagram.extendedtypes.emf</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/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/.settings/org.eclipse.core.resources.prefs b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..e4177e1b682
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+#Thu Mar 24 15:06:10 CET 2011
+eclipse.preferences.version=1
+encoding//model/ModifySemanticValuesActionConfiguration.ecore=UTF-8
+encoding//model/ModifySemanticValuesActionConfiguration.ecorediag=UTF-8
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..cb25b267609
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.diagram.extendedtypes.emf;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.diagram.extendedtypes.emf,
+ org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration,
+ org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl,
+ org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.util,
+ org.eclipse.papyrus.diagram.extendedtypes.emf.providers
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.eclipse.emf.ecore;bundle-version="2.7.0";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="2.6.0";visibility:=reexport,
+ org.eclipse.papyrus.core.queries.configuration;bundle-version="0.8.0";visibility:=reexport,
+ org.eclipse.papyrus.diagram.extendedtypes;bundle-version="0.8.0";visibility:=reexport,
+ org.eclipse.emf.facet.infra.query;bundle-version="0.1.0";visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="3.2.0";visibility:=reexport,
+ org.eclipse.papyrus.log;bundle-version="0.8.0",
+ org.eclipse.ui;bundle-version="3.7.0",
+ org.eclipse.papyrus.service.edit;bundle-version="0.8.0",
+ org.eclipse.papyrus.core.queries;bundle-version="0.8.0"
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.papyrus.diagram.extendedtypes.emf.Activator
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/build.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/build.properties
new file mode 100644
index 00000000000..a358d114fd2
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/build.properties
@@ -0,0 +1,15 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src-gen/,\
+ src/
+output.. = bin/
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/icons/Values.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/icons/Values.gif
new file mode 100644
index 00000000000..f1f019535ea
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/icons/Values.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/model/ModifySemanticValuesActionConfiguration.ecore b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/model/ModifySemanticValuesActionConfiguration.ecore
new file mode 100644
index 00000000000..120f4535f08
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/model/ModifySemanticValuesActionConfiguration.ecore
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="modifysemanticvaluesactionconfiguration"
+ nsURI="http://www.eclipse.org/papyrus/diagram/types/modifysemanticvaluesactionconfiguration/0.8"
+ nsPrefix="modifysemanticvaluesactionconfiguration">
+ <eClassifiers xsi:type="ecore:EClass" name="ModifySemanticValuesActionConfiguration"
+ eSuperTypes="platform:/plugin/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.ecore#//PostActionConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="featuresToSet" upperBound="-1"
+ eType="#//FeatureToSet" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureToSet">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="featureName" lowerBound="1"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//FeatureValue"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureValue" abstract="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="DynamicValue" eSuperTypes="#//FeatureValue"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ConstantValue" eSuperTypes="#//FeatureValue">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="valueInstance" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ListValue" eSuperTypes="#//FeatureValue">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1"
+ eType="#//FeatureValue"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="QueryExecutionValue" eSuperTypes="#//FeatureValue">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="configuration" eType="ecore:EClass platform:/plugin/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecore#//QueryConfiguration"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/model/ModifySemanticValuesActionConfiguration.ecorediag b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/model/ModifySemanticValuesActionConfiguration.ecorediag
new file mode 100644
index 00000000000..84430d64040
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/model/ModifySemanticValuesActionConfiguration.ecorediag
@@ -0,0 +1,286 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_ay7h0FSgEeC-0syXieMmHA" type="EcoreTools" name="ModifySemanticValuesActionConfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_mVuPkFSgEeC-0syXieMmHA" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mWnAYFSgEeC-0syXieMmHA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mWnAYVSgEeC-0syXieMmHA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_mWK7gFSgEeC-0syXieMmHA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_mWK7gVSgEeC-0syXieMmHA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_mWK7glSgEeC-0syXieMmHA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mWK7g1SgEeC-0syXieMmHA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mWK7hFSgEeC-0syXieMmHA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_mWK7hVSgEeC-0syXieMmHA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_mWK7hlSgEeC-0syXieMmHA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mWK7h1SgEeC-0syXieMmHA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mWK7iFSgEeC-0syXieMmHA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_mVuPkVSgEeC-0syXieMmHA" fontColor="4210752" fontHeight="10" fillColor="12560536" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.ecore#//PostActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mVuPklSgEeC-0syXieMmHA" x="110" y="200" width="193"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_omszsFSgEeC-0syXieMmHA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_omszs1SgEeC-0syXieMmHA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_omsztFSgEeC-0syXieMmHA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_omsztVSgEeC-0syXieMmHA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_omsztlSgEeC-0syXieMmHA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_omszt1SgEeC-0syXieMmHA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_omszuFSgEeC-0syXieMmHA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_omszuVSgEeC-0syXieMmHA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_omszulSgEeC-0syXieMmHA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_omszu1SgEeC-0syXieMmHA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_omszsVSgEeC-0syXieMmHA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ModifySemanticValuesActionConfiguration.ecore#//ModifySemanticValuesActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_omszslSgEeC-0syXieMmHA" x="50" y="310" width="306" height="87"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_m7JwcVVnEeCZTbk4eXVjvg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_m7ThcFVnEeCZTbk4eXVjvg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_m7ThcVVnEeCZTbk4eXVjvg" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_rSjOgFVnEeCZTbk4eXVjvg" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ModifySemanticValuesActionConfiguration.ecore#//FeatureToSet/featureName"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rSjOgVVnEeCZTbk4eXVjvg"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_m7ThclVnEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_m7Thc1VnEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_m7ThdFVnEeCZTbk4eXVjvg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_m7ThdVVnEeCZTbk4eXVjvg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_m7ThdlVnEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_m7Thd1VnEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_m7TheFVnEeCZTbk4eXVjvg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_m7JwclVnEeCZTbk4eXVjvg" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ModifySemanticValuesActionConfiguration.ecore#//FeatureToSet"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m7Jwc1VnEeCZTbk4eXVjvg" x="480" y="310" width="198" height="83"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_FCIyIFVoEeCZTbk4eXVjvg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_FCIyI1VoEeCZTbk4eXVjvg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_FCIyJFVoEeCZTbk4eXVjvg" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_FCIyJVVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_FCIyJlVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_FCIyJ1VoEeCZTbk4eXVjvg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_FCIyKFVoEeCZTbk4eXVjvg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_FCIyKVVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_FCIyKlVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_FCIyK1VoEeCZTbk4eXVjvg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_FCIyIVVoEeCZTbk4eXVjvg" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ModifySemanticValuesActionConfiguration.ecore#//FeatureValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FCIyIlVoEeCZTbk4eXVjvg" x="810" y="310" width="188" height="83"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ataLwFVoEeCZTbk4eXVjvg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_ataLw1VoEeCZTbk4eXVjvg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_ataLxFVoEeCZTbk4eXVjvg" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ataLxVVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ataLxlVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ataLx1VoEeCZTbk4eXVjvg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ataLyFVoEeCZTbk4eXVjvg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ataLyVVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ataLylVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ataLy1VoEeCZTbk4eXVjvg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ataLwVVoEeCZTbk4eXVjvg" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ModifySemanticValuesActionConfiguration.ecore#//DynamicValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ataLwlVoEeCZTbk4eXVjvg" x="270" y="495" width="183" height="58"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_d-nd0FVoEeCZTbk4eXVjvg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_d-nd01VoEeCZTbk4eXVjvg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_d-nd1FVoEeCZTbk4eXVjvg" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_d-nd1VVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_d-nd1lVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_d-nd11VoEeCZTbk4eXVjvg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_d-xO0FVoEeCZTbk4eXVjvg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_d-xO0VVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_d-xO0lVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_d-xO01VoEeCZTbk4eXVjvg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_d-nd0VVoEeCZTbk4eXVjvg" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ModifySemanticValuesActionConfiguration.ecore#//ConstantValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_d-nd0lVoEeCZTbk4eXVjvg" x="480" y="495" width="153" height="58"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_j3TvgFVoEeCZTbk4eXVjvg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_j3Tvg1VoEeCZTbk4eXVjvg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_j3TvhFVoEeCZTbk4eXVjvg" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_j3TvhVVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_j3TvhlVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_j3Tvh1VoEeCZTbk4eXVjvg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_j3TviFVoEeCZTbk4eXVjvg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_j3TviVVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_j3TvilVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_j3Tvi1VoEeCZTbk4eXVjvg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_j3TvgVVoEeCZTbk4eXVjvg" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ModifySemanticValuesActionConfiguration.ecore#//ListValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j3TvglVoEeCZTbk4eXVjvg" x="875" y="495" width="143" height="58"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_nJRPgFVoEeCZTbk4eXVjvg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_nJRPg1VoEeCZTbk4eXVjvg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_nJRPhFVoEeCZTbk4eXVjvg" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_nJRPhVVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nJRPhlVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nJRPh1VoEeCZTbk4eXVjvg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_nJRPiFVoEeCZTbk4eXVjvg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_nJRPiVVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nJRPilVoEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nJRPi1VoEeCZTbk4eXVjvg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_nJRPgVVoEeCZTbk4eXVjvg" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ModifySemanticValuesActionConfiguration.ecore#//QueryExecutionValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nJRPglVoEeCZTbk4eXVjvg" x="665" y="495" width="173" height="58"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5jsKIFVtEeCZTbk4eXVjvg" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5j_FGVVtEeCZTbk4eXVjvg" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5j_FGlVtEeCZTbk4eXVjvg" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_5j_FEFVtEeCZTbk4eXVjvg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_5j_FEVVtEeCZTbk4eXVjvg" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_5j_FElVtEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5j_FE1VtEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5j_FFFVtEeCZTbk4eXVjvg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5j_FFVVtEeCZTbk4eXVjvg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_5j_FFlVtEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5j_FF1VtEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5j_FGFVtEeCZTbk4eXVjvg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_5jsKIVVtEeCZTbk4eXVjvg" fontColor="4210752" fontHeight="10" fillColor="12560536" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecore#//QueryConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5jsKIlVtEeCZTbk4eXVjvg" x="665" y="610" width="183" height="73"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_CjJ_gFVuEeCZTbk4eXVjvg" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CjJ_jFVuEeCZTbk4eXVjvg" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CjJ_jVVuEeCZTbk4eXVjvg" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_CjJ_g1VuEeCZTbk4eXVjvg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_CjJ_hFVuEeCZTbk4eXVjvg" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_CjJ_hVVuEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CjJ_hlVuEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CjJ_h1VuEeCZTbk4eXVjvg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_CjJ_iFVuEeCZTbk4eXVjvg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_CjJ_iVVuEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CjJ_ilVuEeCZTbk4eXVjvg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CjJ_i1VuEeCZTbk4eXVjvg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_CjJ_gVVuEeCZTbk4eXVjvg" fontColor="4210752" fontHeight="10" fillColor="12560536" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CjJ_glVuEeCZTbk4eXVjvg" x="360" y="610" width="293" height="158"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_ay7h0VSgEeC-0syXieMmHA"/>
+ <element xmi:type="ecore:EPackage" href="ModifySemanticValuesActionConfiguration.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_q67DoFShEeC-0syXieMmHA" type="3003" source="_omszsFSgEeC-0syXieMmHA" target="_mVuPkFSgEeC-0syXieMmHA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_q67DoVShEeC-0syXieMmHA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_q67DolShEeC-0syXieMmHA"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_q67Do1ShEeC-0syXieMmHA" points="[5, -1, -5, 135]$[5, -108, -5, 28]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q7ENkFShEeC-0syXieMmHA" id="(0.5196078431372549,0.022988505747126436)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_xbMAsFVnEeCZTbk4eXVjvg" type="3002" source="_omszsFSgEeC-0syXieMmHA" target="_m7JwcVVnEeCZTbk4eXVjvg">
+ <children xmi:type="notation:Node" xmi:id="_xbMAtFVnEeCZTbk4eXVjvg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_xbMAtVVnEeCZTbk4eXVjvg" x="-25" y="-9"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_xbMAtlVnEeCZTbk4eXVjvg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_xbMAt1VnEeCZTbk4eXVjvg" y="11"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_xbMAsVVnEeCZTbk4eXVjvg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xbMAslVnEeCZTbk4eXVjvg" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ModifySemanticValuesActionConfiguration.ecore#//ModifySemanticValuesActionConfiguration/featuresToSet"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xbMAs1VnEeCZTbk4eXVjvg" points="[52, 0, -233, 2]$[286, 29, 1, 31]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xbVKoFVnEeCZTbk4eXVjvg" id="(0.8300653594771242,0.5632183908045977)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xbVKoVVnEeCZTbk4eXVjvg" id="(0.2,0.5921052631578947)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_S2gg8FVoEeCZTbk4eXVjvg" type="3002" source="_m7JwcVVnEeCZTbk4eXVjvg" target="_FCIyIFVoEeCZTbk4eXVjvg">
+ <children xmi:type="notation:Node" xmi:id="_S2gg9FVoEeCZTbk4eXVjvg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_S2gg9VVoEeCZTbk4eXVjvg" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_S2gg9lVoEeCZTbk4eXVjvg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_S2gg91VoEeCZTbk4eXVjvg" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_S2gg8VVoEeCZTbk4eXVjvg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_S2gg8lVoEeCZTbk4eXVjvg" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ModifySemanticValuesActionConfiguration.ecore#//FeatureToSet/value"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_S2gg81VoEeCZTbk4eXVjvg" points="[20, 9, -141, 1]$[162, -26, 1, -34]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_S2gg-FVoEeCZTbk4eXVjvg" id="(0.898989898989899,0.3253012048192771)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_S2gg-VVoEeCZTbk4eXVjvg" id="(0.12234042553191489,0.42168674698795183)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_dE8q4FVoEeCZTbk4eXVjvg" type="3003" source="_ataLwFVoEeCZTbk4eXVjvg" target="_FCIyIFVoEeCZTbk4eXVjvg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_dE8q4VVoEeCZTbk4eXVjvg" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_dE8q4lVoEeCZTbk4eXVjvg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dE8q41VoEeCZTbk4eXVjvg" points="[19, -8, -517, 120]$[19, -53, -517, 75]$[524, -53, -12, 75]$[524, -112, -12, 16]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dE8q5FVoEeCZTbk4eXVjvg" id="(0.5628415300546448,0.15517241379310345)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dE8q5VVoEeCZTbk4eXVjvg" id="(0.6063829787234043,0.8072289156626506)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_f3BJ4FVoEeCZTbk4eXVjvg" type="3003" source="_d-nd0FVoEeCZTbk4eXVjvg" target="_FCIyIFVoEeCZTbk4eXVjvg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_f3BJ4VVoEeCZTbk4eXVjvg" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_f3BJ4lVoEeCZTbk4eXVjvg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_f3BJ41VoEeCZTbk4eXVjvg" points="[0, 0, -323, 104]$[0, -45, -323, 59]$[325, -45, 2, 59]$[325, -104, 2, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f3KT0FVoEeCZTbk4eXVjvg" id="(0.6666666666666666,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f3KT0VVoEeCZTbk4eXVjvg" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_l4DfQFVoEeCZTbk4eXVjvg" type="3003" source="_j3TvgFVoEeCZTbk4eXVjvg" target="_FCIyIFVoEeCZTbk4eXVjvg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_l4DfQVVoEeCZTbk4eXVjvg" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_l4DfQlVoEeCZTbk4eXVjvg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l4DfQ1VoEeCZTbk4eXVjvg" points="[12, -4, 72, 123]$[12, -49, 72, 78]$[-53, -49, 7, 78]$[-53, -108, 7, 19]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l4DfRFVoEeCZTbk4eXVjvg" id="(0.5244755244755245,0.08620689655172414)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l4DfRVVoEeCZTbk4eXVjvg" id="(0.5053191489361702,0.7710843373493976)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_wuI4AFVoEeCZTbk4eXVjvg" type="3003" source="_nJRPgFVoEeCZTbk4eXVjvg" target="_FCIyIFVoEeCZTbk4eXVjvg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_wuI4AVVoEeCZTbk4eXVjvg" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_wuI4AlVoEeCZTbk4eXVjvg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wuI4A1VoEeCZTbk4eXVjvg" points="[0, 0, -43, 104]$[0, -45, -43, 59]$[127, -45, 84, 59]$[127, -104, 84, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wuI4BFVoEeCZTbk4eXVjvg" id="(0.6647398843930635,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0VjDkFVoEeCZTbk4eXVjvg" id="(0.06382978723404255,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_2veIUFVoEeCZTbk4eXVjvg" type="3002" source="_j3TvgFVoEeCZTbk4eXVjvg" target="_FCIyIFVoEeCZTbk4eXVjvg">
+ <children xmi:type="notation:Node" xmi:id="_2veIVFVoEeCZTbk4eXVjvg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2veIVVVoEeCZTbk4eXVjvg" x="10" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_2veIVlVoEeCZTbk4eXVjvg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2veIV1VoEeCZTbk4eXVjvg" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_2veIUVVoEeCZTbk4eXVjvg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_2veIUlVoEeCZTbk4eXVjvg" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ModifySemanticValuesActionConfiguration.ecore#//ListValue/values"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2veIU1VoEeCZTbk4eXVjvg" points="[24, 0, 43, 161]$[60, 0, 79, 161]$[60, -161, 79, 0]$[4, -161, 23, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2vn5UFVoEeCZTbk4eXVjvg" id="(0.8321678321678322,0.39655172413793105)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2vn5UVVoEeCZTbk4eXVjvg" id="(0.8776595744680851,0.5783132530120482)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_5nj9gFVtEeCZTbk4eXVjvg" type="3002" source="_nJRPgFVoEeCZTbk4eXVjvg" target="_5jsKIFVtEeCZTbk4eXVjvg">
+ <children xmi:type="notation:Node" xmi:id="_5nj9hFVtEeCZTbk4eXVjvg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5nj9hVVtEeCZTbk4eXVjvg" x="-3" y="-43"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5nj9hlVtEeCZTbk4eXVjvg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5nj9h1VtEeCZTbk4eXVjvg" x="-3" y="18"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_5nj9gVVtEeCZTbk4eXVjvg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_5nj9glVtEeCZTbk4eXVjvg" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ModifySemanticValuesActionConfiguration.ecore#//QueryExecutionValue/configuration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5nj9g1VtEeCZTbk4eXVjvg" points="[0, 0, 82, 78]$[-82, -78, 0, 0]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5q_E8VVtEeCZTbk4eXVjvg" id="(0.4962962962962963,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_ClZbMFVuEeCZTbk4eXVjvg" type="3002" source="_d-nd0FVoEeCZTbk4eXVjvg" target="_CjJ_gFVuEeCZTbk4eXVjvg">
+ <children xmi:type="notation:Node" xmi:id="_ClZbNFVuEeCZTbk4eXVjvg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ClZbNVVuEeCZTbk4eXVjvg" x="-8" y="-46"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ClZbNlVuEeCZTbk4eXVjvg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ClZbN1VuEeCZTbk4eXVjvg" x="-3" y="17"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ClZbMVVuEeCZTbk4eXVjvg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ClZbMlVuEeCZTbk4eXVjvg" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ModifySemanticValuesActionConfiguration.ecore#//ConstantValue/valueInstance"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ClZbM1VuEeCZTbk4eXVjvg" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cm4o8FVuEeCZTbk4eXVjvg" id="(0.3333333333333333,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cm4o8VVuEeCZTbk4eXVjvg" id="(0.6245733788395904,0.03164556962025317)"/>
+ </edges>
+</notation:Diagram>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/model/ModifySemanticValuesActionConfiguration.genmodel b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/model/ModifySemanticValuesActionConfiguration.genmodel
new file mode 100644
index 00000000000..530f8f2e018
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/model/ModifySemanticValuesActionConfiguration.genmodel
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen"
+ editDirectory="/org.eclipse.papyrus.diagram.extendedtypes.emf.edit/src-gen" editorDirectory="/org.eclipse.papyrus.diagram.extendedtypes.emf.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.diagram.extendedtypes.emf" modelName="ModifySemanticValuesActionConfiguration"
+ testsDirectory="/org.eclipse.papyrus.diagram.extendedtypes.emf.tests/src-gen"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ usedGenPackages="platform:/plugin/org.eclipse.papyrus.core.queries.configuration/model/Configuration.genmodel#//configuration platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.genmodel#//extendedtypes platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.genmodel#//query platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
+ <foreignModel>ModifySemanticValuesActionConfiguration.ecore</foreignModel>
+ <genPackages prefix="ModifySemanticValuesActionConfiguration" basePackage="org.eclipse.papyrus.diagram.extendedtypes.emf"
+ resource="XML" disposableProviderFactory="true" ecorePackage="ModifySemanticValuesActionConfiguration.ecore#/">
+ <genClasses ecoreClass="ModifySemanticValuesActionConfiguration.ecore#//ModifySemanticValuesActionConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ModifySemanticValuesActionConfiguration.ecore#//ModifySemanticValuesActionConfiguration/featuresToSet"/>
+ </genClasses>
+ <genClasses ecoreClass="ModifySemanticValuesActionConfiguration.ecore#//FeatureToSet">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ModifySemanticValuesActionConfiguration.ecore#//FeatureToSet/featureName"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ModifySemanticValuesActionConfiguration.ecore#//FeatureToSet/value"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="ModifySemanticValuesActionConfiguration.ecore#//FeatureValue"/>
+ <genClasses ecoreClass="ModifySemanticValuesActionConfiguration.ecore#//DynamicValue"/>
+ <genClasses ecoreClass="ModifySemanticValuesActionConfiguration.ecore#//ConstantValue">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ModifySemanticValuesActionConfiguration.ecore#//ConstantValue/valueInstance"/>
+ </genClasses>
+ <genClasses ecoreClass="ModifySemanticValuesActionConfiguration.ecore#//ListValue">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ModifySemanticValuesActionConfiguration.ecore#//ListValue/values"/>
+ </genClasses>
+ <genClasses ecoreClass="ModifySemanticValuesActionConfiguration.ecore#//QueryExecutionValue">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ModifySemanticValuesActionConfiguration.ecore#//QueryExecutionValue/configuration"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/plugin.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/plugin.properties
new file mode 100644
index 00000000000..25e95c98c17
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/plugin.properties
@@ -0,0 +1,8 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = ModifySemanticValuesActionConfiguration Model
+providerName = www.example.org
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/plugin.xml b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/plugin.xml
new file mode 100644
index 00000000000..74e8a46c717
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/plugin.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/papyrus/diagram/types/modifysemanticvaluesactionconfiguration/0.8"
+ class="org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage"
+ genModel="model/ModifySemanticValuesActionConfiguration.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="modifysemanticvaluesactionconfiguration"
+ class="org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.util.ModifySemanticValuesActionConfigurationResourceFactoryImpl"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.diagram.extendedtypes.extendedElementTypeActionProvider">
+ <extendedElementTypeActionProvider
+ class="org.eclipse.papyrus.diagram.extendedtypes.emf.providers.ModifySemanticValuesActionProvider"
+ configurationClass="org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration"
+ description="Post action to set semantic values on created element"
+ icon="icons/Values.gif"
+ id="org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration"
+ name="Extended Element Type Modify Semantic Values Post Action">
+ <Priority
+ name="Lowest">
+ </Priority>
+ </extendedElementTypeActionProvider>
+ </extension>
+</plugin>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ConstantValue.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ConstantValue.java
new file mode 100644
index 00000000000..68c93f7291f
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ConstantValue.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration;
+
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Constant Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue#getValueInstance <em>Value Instance</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#getConstantValue()
+ * @model
+ * @generated
+ */
+public interface ConstantValue extends FeatureValue {
+ /**
+ * Returns the value of the '<em><b>Value Instance</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value Instance</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value Instance</em>' containment reference.
+ * @see #setValueInstance(ValueSpecification)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#getConstantValue_ValueInstance()
+ * @model containment="true"
+ * @generated
+ */
+ ValueSpecification getValueInstance();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue#getValueInstance <em>Value Instance</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value Instance</em>' containment reference.
+ * @see #getValueInstance()
+ * @generated
+ */
+ void setValueInstance(ValueSpecification value);
+
+} // ConstantValue
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/DynamicValue.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/DynamicValue.java
new file mode 100644
index 00000000000..9ab8c80d811
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/DynamicValue.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Dynamic Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#getDynamicValue()
+ * @model
+ * @generated
+ */
+public interface DynamicValue extends FeatureValue {
+} // DynamicValue
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/FeatureToSet.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/FeatureToSet.java
new file mode 100644
index 00000000000..98d4e93ed52
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/FeatureToSet.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Feature To Set</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet#getFeatureName <em>Feature Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#getFeatureToSet()
+ * @model
+ * @generated
+ */
+public interface FeatureToSet extends EObject {
+ /**
+ * Returns the value of the '<em><b>Feature Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Feature Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Feature Name</em>' attribute.
+ * @see #setFeatureName(String)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#getFeatureToSet_FeatureName()
+ * @model required="true"
+ * @generated
+ */
+ String getFeatureName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet#getFeatureName <em>Feature Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Feature Name</em>' attribute.
+ * @see #getFeatureName()
+ * @generated
+ */
+ void setFeatureName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' containment reference.
+ * @see #setValue(FeatureValue)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#getFeatureToSet_Value()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ FeatureValue getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet#getValue <em>Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' containment reference.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(FeatureValue value);
+
+} // FeatureToSet
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/FeatureValue.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/FeatureValue.java
new file mode 100644
index 00000000000..a6a64db72de
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/FeatureValue.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Feature Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#getFeatureValue()
+ * @model abstract="true"
+ * @generated
+ */
+public interface FeatureValue extends EObject {
+} // FeatureValue
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ListValue.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ListValue.java
new file mode 100644
index 00000000000..caccfc8a86e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ListValue.java
@@ -0,0 +1,44 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>List Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#getListValue()
+ * @model
+ * @generated
+ */
+public interface ListValue extends FeatureValue {
+ /**
+ * Returns the value of the '<em><b>Values</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureValue}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Values</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Values</em>' reference list.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#getListValue_Values()
+ * @model
+ * @generated
+ */
+ EList<FeatureValue> getValues();
+
+} // ListValue
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ModifySemanticValuesActionConfiguration.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ModifySemanticValuesActionConfiguration.java
new file mode 100644
index 00000000000..e83920fc4e0
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ModifySemanticValuesActionConfiguration.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Modify Semantic Values Action Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration#getFeaturesToSet <em>Features To Set</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#getModifySemanticValuesActionConfiguration()
+ * @model
+ * @generated
+ */
+public interface ModifySemanticValuesActionConfiguration extends PostActionConfiguration {
+ /**
+ * Returns the value of the '<em><b>Features To Set</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Features To Set</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Features To Set</em>' containment reference list.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#getModifySemanticValuesActionConfiguration_FeaturesToSet()
+ * @model containment="true"
+ * @generated
+ */
+ EList<FeatureToSet> getFeaturesToSet();
+
+} // ModifySemanticValuesActionConfiguration
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ModifySemanticValuesActionConfigurationFactory.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ModifySemanticValuesActionConfigurationFactory.java
new file mode 100644
index 00000000000..66f694fc13d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ModifySemanticValuesActionConfigurationFactory.java
@@ -0,0 +1,91 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage
+ * @generated
+ */
+public interface ModifySemanticValuesActionConfigurationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ModifySemanticValuesActionConfigurationFactory eINSTANCE = org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Modify Semantic Values Action Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Modify Semantic Values Action Configuration</em>'.
+ * @generated
+ */
+ ModifySemanticValuesActionConfiguration createModifySemanticValuesActionConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Feature To Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Feature To Set</em>'.
+ * @generated
+ */
+ FeatureToSet createFeatureToSet();
+
+ /**
+ * Returns a new object of class '<em>Dynamic Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Dynamic Value</em>'.
+ * @generated
+ */
+ DynamicValue createDynamicValue();
+
+ /**
+ * Returns a new object of class '<em>Constant Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Constant Value</em>'.
+ * @generated
+ */
+ ConstantValue createConstantValue();
+
+ /**
+ * Returns a new object of class '<em>List Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>List Value</em>'.
+ * @generated
+ */
+ ListValue createListValue();
+
+ /**
+ * Returns a new object of class '<em>Query Execution Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Query Execution Value</em>'.
+ * @generated
+ */
+ QueryExecutionValue createQueryExecutionValue();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ModifySemanticValuesActionConfigurationPackage getModifySemanticValuesActionConfigurationPackage();
+
+} //ModifySemanticValuesActionConfigurationFactory
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ModifySemanticValuesActionConfigurationPackage.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ModifySemanticValuesActionConfigurationPackage.java
new file mode 100644
index 00000000000..519d22c797c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/ModifySemanticValuesActionConfigurationPackage.java
@@ -0,0 +1,548 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ModifySemanticValuesActionConfigurationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "modifysemanticvaluesactionconfiguration";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/diagram/types/modifysemanticvaluesactionconfiguration/0.8";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "modifysemanticvaluesactionconfiguration";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ModifySemanticValuesActionConfigurationPackage eINSTANCE = org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationImpl <em>Modify Semantic Values Action Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getModifySemanticValuesActionConfiguration()
+ * @generated
+ */
+ int MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__LABEL = ExtendedtypesPackage.POST_ACTION_CONFIGURATION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__ID = ExtendedtypesPackage.POST_ACTION_CONFIGURATION__ID;
+
+ /**
+ * The feature id for the '<em><b>Features To Set</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__FEATURES_TO_SET = ExtendedtypesPackage.POST_ACTION_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Modify Semantic Values Action Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION_FEATURE_COUNT = ExtendedtypesPackage.POST_ACTION_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.FeatureToSetImpl <em>Feature To Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.FeatureToSetImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getFeatureToSet()
+ * @generated
+ */
+ int FEATURE_TO_SET = 1;
+
+ /**
+ * The feature id for the '<em><b>Feature Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_TO_SET__FEATURE_NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_TO_SET__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Feature To Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_TO_SET_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.FeatureValueImpl <em>Feature Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.FeatureValueImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getFeatureValue()
+ * @generated
+ */
+ int FEATURE_VALUE = 2;
+
+ /**
+ * The number of structural features of the '<em>Feature Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_VALUE_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.DynamicValueImpl <em>Dynamic Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.DynamicValueImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getDynamicValue()
+ * @generated
+ */
+ int DYNAMIC_VALUE = 3;
+
+ /**
+ * The number of structural features of the '<em>Dynamic Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DYNAMIC_VALUE_FEATURE_COUNT = FEATURE_VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ConstantValueImpl <em>Constant Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ConstantValueImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getConstantValue()
+ * @generated
+ */
+ int CONSTANT_VALUE = 4;
+
+ /**
+ * The feature id for the '<em><b>Value Instance</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTANT_VALUE__VALUE_INSTANCE = FEATURE_VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Constant Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONSTANT_VALUE_FEATURE_COUNT = FEATURE_VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ListValueImpl <em>List Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ListValueImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getListValue()
+ * @generated
+ */
+ int LIST_VALUE = 5;
+
+ /**
+ * The feature id for the '<em><b>Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_VALUE__VALUES = FEATURE_VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>List Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_VALUE_FEATURE_COUNT = FEATURE_VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.QueryExecutionValueImpl <em>Query Execution Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.QueryExecutionValueImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getQueryExecutionValue()
+ * @generated
+ */
+ int QUERY_EXECUTION_VALUE = 6;
+
+ /**
+ * The feature id for the '<em><b>Configuration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_EXECUTION_VALUE__CONFIGURATION = FEATURE_VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Query Execution Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_EXECUTION_VALUE_FEATURE_COUNT = FEATURE_VALUE_FEATURE_COUNT + 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration <em>Modify Semantic Values Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Modify Semantic Values Action Configuration</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration
+ * @generated
+ */
+ EClass getModifySemanticValuesActionConfiguration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration#getFeaturesToSet <em>Features To Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Features To Set</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration#getFeaturesToSet()
+ * @see #getModifySemanticValuesActionConfiguration()
+ * @generated
+ */
+ EReference getModifySemanticValuesActionConfiguration_FeaturesToSet();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet <em>Feature To Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Feature To Set</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet
+ * @generated
+ */
+ EClass getFeatureToSet();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet#getFeatureName <em>Feature Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Feature Name</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet#getFeatureName()
+ * @see #getFeatureToSet()
+ * @generated
+ */
+ EAttribute getFeatureToSet_FeatureName();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Value</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet#getValue()
+ * @see #getFeatureToSet()
+ * @generated
+ */
+ EReference getFeatureToSet_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureValue <em>Feature Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Feature Value</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureValue
+ * @generated
+ */
+ EClass getFeatureValue();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.DynamicValue <em>Dynamic Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Dynamic Value</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.DynamicValue
+ * @generated
+ */
+ EClass getDynamicValue();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue <em>Constant Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Constant Value</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue
+ * @generated
+ */
+ EClass getConstantValue();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue#getValueInstance <em>Value Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Value Instance</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue#getValueInstance()
+ * @see #getConstantValue()
+ * @generated
+ */
+ EReference getConstantValue_ValueInstance();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue <em>List Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>List Value</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue
+ * @generated
+ */
+ EClass getListValue();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue#getValues <em>Values</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Values</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue#getValues()
+ * @see #getListValue()
+ * @generated
+ */
+ EReference getListValue_Values();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue <em>Query Execution Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query Execution Value</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue
+ * @generated
+ */
+ EClass getQueryExecutionValue();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue#getConfiguration <em>Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Configuration</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue#getConfiguration()
+ * @see #getQueryExecutionValue()
+ * @generated
+ */
+ EReference getQueryExecutionValue_Configuration();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ModifySemanticValuesActionConfigurationFactory getModifySemanticValuesActionConfigurationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationImpl <em>Modify Semantic Values Action Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getModifySemanticValuesActionConfiguration()
+ * @generated
+ */
+ EClass MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION = eINSTANCE.getModifySemanticValuesActionConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Features To Set</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__FEATURES_TO_SET = eINSTANCE.getModifySemanticValuesActionConfiguration_FeaturesToSet();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.FeatureToSetImpl <em>Feature To Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.FeatureToSetImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getFeatureToSet()
+ * @generated
+ */
+ EClass FEATURE_TO_SET = eINSTANCE.getFeatureToSet();
+
+ /**
+ * The meta object literal for the '<em><b>Feature Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FEATURE_TO_SET__FEATURE_NAME = eINSTANCE.getFeatureToSet_FeatureName();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE_TO_SET__VALUE = eINSTANCE.getFeatureToSet_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.FeatureValueImpl <em>Feature Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.FeatureValueImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getFeatureValue()
+ * @generated
+ */
+ EClass FEATURE_VALUE = eINSTANCE.getFeatureValue();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.DynamicValueImpl <em>Dynamic Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.DynamicValueImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getDynamicValue()
+ * @generated
+ */
+ EClass DYNAMIC_VALUE = eINSTANCE.getDynamicValue();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ConstantValueImpl <em>Constant Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ConstantValueImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getConstantValue()
+ * @generated
+ */
+ EClass CONSTANT_VALUE = eINSTANCE.getConstantValue();
+
+ /**
+ * The meta object literal for the '<em><b>Value Instance</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONSTANT_VALUE__VALUE_INSTANCE = eINSTANCE.getConstantValue_ValueInstance();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ListValueImpl <em>List Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ListValueImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getListValue()
+ * @generated
+ */
+ EClass LIST_VALUE = eINSTANCE.getListValue();
+
+ /**
+ * The meta object literal for the '<em><b>Values</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LIST_VALUE__VALUES = eINSTANCE.getListValue_Values();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.QueryExecutionValueImpl <em>Query Execution Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.QueryExecutionValueImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationPackageImpl#getQueryExecutionValue()
+ * @generated
+ */
+ EClass QUERY_EXECUTION_VALUE = eINSTANCE.getQueryExecutionValue();
+
+ /**
+ * The meta object literal for the '<em><b>Configuration</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUERY_EXECUTION_VALUE__CONFIGURATION = eINSTANCE.getQueryExecutionValue_Configuration();
+
+ }
+
+} //ModifySemanticValuesActionConfigurationPackage
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/QueryExecutionValue.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/QueryExecutionValue.java
new file mode 100644
index 00000000000..ee0a0e67d3b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/QueryExecutionValue.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration;
+
+import org.eclipse.papyrus.core.queries.configuration.QueryConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query Execution Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue#getConfiguration <em>Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#getQueryExecutionValue()
+ * @model
+ * @generated
+ */
+public interface QueryExecutionValue extends FeatureValue {
+ /**
+ * Returns the value of the '<em><b>Configuration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configuration</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Configuration</em>' reference.
+ * @see #setConfiguration(QueryConfiguration)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#getQueryExecutionValue_Configuration()
+ * @model
+ * @generated
+ */
+ QueryConfiguration getConfiguration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue#getConfiguration <em>Configuration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Configuration</em>' reference.
+ * @see #getConfiguration()
+ * @generated
+ */
+ void setConfiguration(QueryConfiguration value);
+
+} // QueryExecutionValue
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ConstantValueImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ConstantValueImpl.java
new file mode 100644
index 00000000000..096717258c5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ConstantValueImpl.java
@@ -0,0 +1,180 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Constant Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ConstantValueImpl#getValueInstance <em>Value Instance</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConstantValueImpl extends FeatureValueImpl implements ConstantValue {
+ /**
+ * The cached value of the '{@link #getValueInstance() <em>Value Instance</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValueInstance()
+ * @generated
+ * @ordered
+ */
+ protected ValueSpecification valueInstance;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConstantValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ModifySemanticValuesActionConfigurationPackage.Literals.CONSTANT_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getValueInstance() {
+ return valueInstance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetValueInstance(ValueSpecification newValueInstance, NotificationChain msgs) {
+ ValueSpecification oldValueInstance = valueInstance;
+ valueInstance = newValueInstance;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ModifySemanticValuesActionConfigurationPackage.CONSTANT_VALUE__VALUE_INSTANCE, oldValueInstance, newValueInstance);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValueInstance(ValueSpecification newValueInstance) {
+ if (newValueInstance != valueInstance) {
+ NotificationChain msgs = null;
+ if (valueInstance != null)
+ msgs = ((InternalEObject)valueInstance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ModifySemanticValuesActionConfigurationPackage.CONSTANT_VALUE__VALUE_INSTANCE, null, msgs);
+ if (newValueInstance != null)
+ msgs = ((InternalEObject)newValueInstance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ModifySemanticValuesActionConfigurationPackage.CONSTANT_VALUE__VALUE_INSTANCE, null, msgs);
+ msgs = basicSetValueInstance(newValueInstance, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ModifySemanticValuesActionConfigurationPackage.CONSTANT_VALUE__VALUE_INSTANCE, newValueInstance, newValueInstance));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.CONSTANT_VALUE__VALUE_INSTANCE:
+ return basicSetValueInstance(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.CONSTANT_VALUE__VALUE_INSTANCE:
+ return getValueInstance();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.CONSTANT_VALUE__VALUE_INSTANCE:
+ setValueInstance((ValueSpecification)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.CONSTANT_VALUE__VALUE_INSTANCE:
+ setValueInstance((ValueSpecification)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.CONSTANT_VALUE__VALUE_INSTANCE:
+ return valueInstance != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConstantValueImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/DynamicValueImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/DynamicValueImpl.java
new file mode 100644
index 00000000000..813a2961bd9
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/DynamicValueImpl.java
@@ -0,0 +1,43 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.DynamicValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dynamic Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class DynamicValueImpl extends FeatureValueImpl implements DynamicValue {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DynamicValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ModifySemanticValuesActionConfigurationPackage.Literals.DYNAMIC_VALUE;
+ }
+
+} //DynamicValueImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/FeatureToSetImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/FeatureToSetImpl.java
new file mode 100644
index 00000000000..322deaa00a4
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/FeatureToSetImpl.java
@@ -0,0 +1,248 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature To Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.FeatureToSetImpl#getFeatureName <em>Feature Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.FeatureToSetImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FeatureToSetImpl extends EObjectImpl implements FeatureToSet {
+ /**
+ * The default value of the '{@link #getFeatureName() <em>Feature Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeatureName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FEATURE_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFeatureName() <em>Feature Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeatureName()
+ * @generated
+ * @ordered
+ */
+ protected String featureName = FEATURE_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected FeatureValue value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureToSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ModifySemanticValuesActionConfigurationPackage.Literals.FEATURE_TO_SET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFeatureName() {
+ return featureName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFeatureName(String newFeatureName) {
+ String oldFeatureName = featureName;
+ featureName = newFeatureName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__FEATURE_NAME, oldFeatureName, featureName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureValue getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetValue(FeatureValue newValue, NotificationChain msgs) {
+ FeatureValue oldValue = value;
+ value = newValue;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__VALUE, oldValue, newValue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(FeatureValue newValue) {
+ if (newValue != value) {
+ NotificationChain msgs = null;
+ if (value != null)
+ msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__VALUE, null, msgs);
+ if (newValue != null)
+ msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__VALUE, null, msgs);
+ msgs = basicSetValue(newValue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__VALUE, newValue, newValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__VALUE:
+ return basicSetValue(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__FEATURE_NAME:
+ return getFeatureName();
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__FEATURE_NAME:
+ setFeatureName((String)newValue);
+ return;
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__VALUE:
+ setValue((FeatureValue)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__FEATURE_NAME:
+ setFeatureName(FEATURE_NAME_EDEFAULT);
+ return;
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__VALUE:
+ setValue((FeatureValue)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__FEATURE_NAME:
+ return FEATURE_NAME_EDEFAULT == null ? featureName != null : !FEATURE_NAME_EDEFAULT.equals(featureName);
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET__VALUE:
+ return value != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (featureName: ");
+ result.append(featureName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FeatureToSetImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/FeatureValueImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/FeatureValueImpl.java
new file mode 100644
index 00000000000..d90debed1d4
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/FeatureValueImpl.java
@@ -0,0 +1,45 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class FeatureValueImpl extends EObjectImpl implements FeatureValue {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ModifySemanticValuesActionConfigurationPackage.Literals.FEATURE_VALUE;
+ }
+
+} //FeatureValueImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ListValueImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ListValueImpl.java
new file mode 100644
index 00000000000..dd3a3597901
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ListValueImpl.java
@@ -0,0 +1,136 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>List Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ListValueImpl#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ListValueImpl extends FeatureValueImpl implements ListValue {
+ /**
+ * The cached value of the '{@link #getValues() <em>Values</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValues()
+ * @generated
+ * @ordered
+ */
+ protected EList<FeatureValue> values;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ModifySemanticValuesActionConfigurationPackage.Literals.LIST_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FeatureValue> getValues() {
+ if (values == null) {
+ values = new EObjectResolvingEList<FeatureValue>(FeatureValue.class, this, ModifySemanticValuesActionConfigurationPackage.LIST_VALUE__VALUES);
+ }
+ return values;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.LIST_VALUE__VALUES:
+ return getValues();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.LIST_VALUE__VALUES:
+ getValues().clear();
+ getValues().addAll((Collection<? extends FeatureValue>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.LIST_VALUE__VALUES:
+ getValues().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.LIST_VALUE__VALUES:
+ return values != null && !values.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ListValueImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ModifySemanticValuesActionConfigurationFactoryImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ModifySemanticValuesActionConfigurationFactoryImpl.java
new file mode 100644
index 00000000000..b10c0181442
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ModifySemanticValuesActionConfigurationFactoryImpl.java
@@ -0,0 +1,154 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModifySemanticValuesActionConfigurationFactoryImpl extends EFactoryImpl implements ModifySemanticValuesActionConfigurationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ModifySemanticValuesActionConfigurationFactory init() {
+ try {
+ ModifySemanticValuesActionConfigurationFactory theModifySemanticValuesActionConfigurationFactory = (ModifySemanticValuesActionConfigurationFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/diagram/types/modifysemanticvaluesactionconfiguration/0.8");
+ if (theModifySemanticValuesActionConfigurationFactory != null) {
+ return theModifySemanticValuesActionConfigurationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ModifySemanticValuesActionConfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModifySemanticValuesActionConfigurationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ModifySemanticValuesActionConfigurationPackage.MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION: return createModifySemanticValuesActionConfiguration();
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET: return createFeatureToSet();
+ case ModifySemanticValuesActionConfigurationPackage.DYNAMIC_VALUE: return createDynamicValue();
+ case ModifySemanticValuesActionConfigurationPackage.CONSTANT_VALUE: return createConstantValue();
+ case ModifySemanticValuesActionConfigurationPackage.LIST_VALUE: return createListValue();
+ case ModifySemanticValuesActionConfigurationPackage.QUERY_EXECUTION_VALUE: return createQueryExecutionValue();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModifySemanticValuesActionConfiguration createModifySemanticValuesActionConfiguration() {
+ ModifySemanticValuesActionConfigurationImpl modifySemanticValuesActionConfiguration = new ModifySemanticValuesActionConfigurationImpl();
+ return modifySemanticValuesActionConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureToSet createFeatureToSet() {
+ FeatureToSetImpl featureToSet = new FeatureToSetImpl();
+ return featureToSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DynamicValue createDynamicValue() {
+ DynamicValueImpl dynamicValue = new DynamicValueImpl();
+ return dynamicValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConstantValue createConstantValue() {
+ ConstantValueImpl constantValue = new ConstantValueImpl();
+ return constantValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ListValue createListValue() {
+ ListValueImpl listValue = new ListValueImpl();
+ return listValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryExecutionValue createQueryExecutionValue() {
+ QueryExecutionValueImpl queryExecutionValue = new QueryExecutionValueImpl();
+ return queryExecutionValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModifySemanticValuesActionConfigurationPackage getModifySemanticValuesActionConfigurationPackage() {
+ return (ModifySemanticValuesActionConfigurationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ModifySemanticValuesActionConfigurationPackage getPackage() {
+ return ModifySemanticValuesActionConfigurationPackage.eINSTANCE;
+ }
+
+} //ModifySemanticValuesActionConfigurationFactoryImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ModifySemanticValuesActionConfigurationImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ModifySemanticValuesActionConfigurationImpl.java
new file mode 100644
index 00000000000..531aa50ae2f
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ModifySemanticValuesActionConfigurationImpl.java
@@ -0,0 +1,156 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+
+import org.eclipse.papyrus.diagram.extendedtypes.impl.PostActionConfigurationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Modify Semantic Values Action Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.ModifySemanticValuesActionConfigurationImpl#getFeaturesToSet <em>Features To Set</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModifySemanticValuesActionConfigurationImpl extends PostActionConfigurationImpl implements ModifySemanticValuesActionConfiguration {
+ /**
+ * The cached value of the '{@link #getFeaturesToSet() <em>Features To Set</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeaturesToSet()
+ * @generated
+ * @ordered
+ */
+ protected EList<FeatureToSet> featuresToSet;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifySemanticValuesActionConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ModifySemanticValuesActionConfigurationPackage.Literals.MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FeatureToSet> getFeaturesToSet() {
+ if (featuresToSet == null) {
+ featuresToSet = new EObjectContainmentEList<FeatureToSet>(FeatureToSet.class, this, ModifySemanticValuesActionConfigurationPackage.MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__FEATURES_TO_SET);
+ }
+ return featuresToSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__FEATURES_TO_SET:
+ return ((InternalEList<?>)getFeaturesToSet()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__FEATURES_TO_SET:
+ return getFeaturesToSet();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__FEATURES_TO_SET:
+ getFeaturesToSet().clear();
+ getFeaturesToSet().addAll((Collection<? extends FeatureToSet>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__FEATURES_TO_SET:
+ getFeaturesToSet().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__FEATURES_TO_SET:
+ return featuresToSet != null && !featuresToSet.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ModifySemanticValuesActionConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ModifySemanticValuesActionConfigurationPackageImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ModifySemanticValuesActionConfigurationPackageImpl.java
new file mode 100644
index 00000000000..588cfbf8274
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/ModifySemanticValuesActionConfigurationPackageImpl.java
@@ -0,0 +1,384 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.DynamicValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModifySemanticValuesActionConfigurationPackageImpl extends EPackageImpl implements ModifySemanticValuesActionConfigurationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass modifySemanticValuesActionConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass featureToSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass featureValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dynamicValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass constantValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass listValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass queryExecutionValueEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ModifySemanticValuesActionConfigurationPackageImpl() {
+ super(eNS_URI, ModifySemanticValuesActionConfigurationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link ModifySemanticValuesActionConfigurationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ModifySemanticValuesActionConfigurationPackage init() {
+ if (isInited) return (ModifySemanticValuesActionConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(ModifySemanticValuesActionConfigurationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ ModifySemanticValuesActionConfigurationPackageImpl theModifySemanticValuesActionConfigurationPackage = (ModifySemanticValuesActionConfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ModifySemanticValuesActionConfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ModifySemanticValuesActionConfigurationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ ExtendedtypesPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theModifySemanticValuesActionConfigurationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theModifySemanticValuesActionConfigurationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theModifySemanticValuesActionConfigurationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ModifySemanticValuesActionConfigurationPackage.eNS_URI, theModifySemanticValuesActionConfigurationPackage);
+ return theModifySemanticValuesActionConfigurationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getModifySemanticValuesActionConfiguration() {
+ return modifySemanticValuesActionConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModifySemanticValuesActionConfiguration_FeaturesToSet() {
+ return (EReference)modifySemanticValuesActionConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFeatureToSet() {
+ return featureToSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFeatureToSet_FeatureName() {
+ return (EAttribute)featureToSetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureToSet_Value() {
+ return (EReference)featureToSetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFeatureValue() {
+ return featureValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDynamicValue() {
+ return dynamicValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConstantValue() {
+ return constantValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConstantValue_ValueInstance() {
+ return (EReference)constantValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getListValue() {
+ return listValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getListValue_Values() {
+ return (EReference)listValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQueryExecutionValue() {
+ return queryExecutionValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQueryExecutionValue_Configuration() {
+ return (EReference)queryExecutionValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModifySemanticValuesActionConfigurationFactory getModifySemanticValuesActionConfigurationFactory() {
+ return (ModifySemanticValuesActionConfigurationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ modifySemanticValuesActionConfigurationEClass = createEClass(MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION);
+ createEReference(modifySemanticValuesActionConfigurationEClass, MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION__FEATURES_TO_SET);
+
+ featureToSetEClass = createEClass(FEATURE_TO_SET);
+ createEAttribute(featureToSetEClass, FEATURE_TO_SET__FEATURE_NAME);
+ createEReference(featureToSetEClass, FEATURE_TO_SET__VALUE);
+
+ featureValueEClass = createEClass(FEATURE_VALUE);
+
+ dynamicValueEClass = createEClass(DYNAMIC_VALUE);
+
+ constantValueEClass = createEClass(CONSTANT_VALUE);
+ createEReference(constantValueEClass, CONSTANT_VALUE__VALUE_INSTANCE);
+
+ listValueEClass = createEClass(LIST_VALUE);
+ createEReference(listValueEClass, LIST_VALUE__VALUES);
+
+ queryExecutionValueEClass = createEClass(QUERY_EXECUTION_VALUE);
+ createEReference(queryExecutionValueEClass, QUERY_EXECUTION_VALUE__CONFIGURATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ ExtendedtypesPackage theExtendedtypesPackage = (ExtendedtypesPackage)EPackage.Registry.INSTANCE.getEPackage(ExtendedtypesPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ ConfigurationPackage theConfigurationPackage = (ConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(ConfigurationPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ modifySemanticValuesActionConfigurationEClass.getESuperTypes().add(theExtendedtypesPackage.getPostActionConfiguration());
+ dynamicValueEClass.getESuperTypes().add(this.getFeatureValue());
+ constantValueEClass.getESuperTypes().add(this.getFeatureValue());
+ listValueEClass.getESuperTypes().add(this.getFeatureValue());
+ queryExecutionValueEClass.getESuperTypes().add(this.getFeatureValue());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(modifySemanticValuesActionConfigurationEClass, ModifySemanticValuesActionConfiguration.class, "ModifySemanticValuesActionConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getModifySemanticValuesActionConfiguration_FeaturesToSet(), this.getFeatureToSet(), null, "featuresToSet", null, 0, -1, ModifySemanticValuesActionConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(featureToSetEClass, FeatureToSet.class, "FeatureToSet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFeatureToSet_FeatureName(), theEcorePackage.getEString(), "featureName", null, 1, 1, FeatureToSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getFeatureToSet_Value(), this.getFeatureValue(), null, "value", null, 1, 1, FeatureToSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(featureValueEClass, FeatureValue.class, "FeatureValue", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(dynamicValueEClass, DynamicValue.class, "DynamicValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(constantValueEClass, ConstantValue.class, "ConstantValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConstantValue_ValueInstance(), theUMLPackage.getValueSpecification(), null, "valueInstance", null, 0, 1, ConstantValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(listValueEClass, ListValue.class, "ListValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getListValue_Values(), this.getFeatureValue(), null, "values", null, 0, -1, ListValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(queryExecutionValueEClass, QueryExecutionValue.class, "QueryExecutionValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getQueryExecutionValue_Configuration(), theConfigurationPackage.getQueryConfiguration(), null, "configuration", null, 0, 1, QueryExecutionValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //ModifySemanticValuesActionConfigurationPackageImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/QueryExecutionValueImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/QueryExecutionValueImpl.java
new file mode 100644
index 00000000000..fa0901d4f04
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/impl/QueryExecutionValueImpl.java
@@ -0,0 +1,161 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.core.queries.configuration.QueryConfiguration;
+
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query Execution Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.impl.QueryExecutionValueImpl#getConfiguration <em>Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class QueryExecutionValueImpl extends FeatureValueImpl implements QueryExecutionValue {
+ /**
+ * The cached value of the '{@link #getConfiguration() <em>Configuration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected QueryConfiguration configuration;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QueryExecutionValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ModifySemanticValuesActionConfigurationPackage.Literals.QUERY_EXECUTION_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryConfiguration getConfiguration() {
+ if (configuration != null && configuration.eIsProxy()) {
+ InternalEObject oldConfiguration = (InternalEObject)configuration;
+ configuration = (QueryConfiguration)eResolveProxy(oldConfiguration);
+ if (configuration != oldConfiguration) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ModifySemanticValuesActionConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION, oldConfiguration, configuration));
+ }
+ }
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryConfiguration basicGetConfiguration() {
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConfiguration(QueryConfiguration newConfiguration) {
+ QueryConfiguration oldConfiguration = configuration;
+ configuration = newConfiguration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ModifySemanticValuesActionConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION, oldConfiguration, configuration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
+ if (resolve) return getConfiguration();
+ return basicGetConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
+ setConfiguration((QueryConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
+ setConfiguration((QueryConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ModifySemanticValuesActionConfigurationPackage.QUERY_EXECUTION_VALUE__CONFIGURATION:
+ return configuration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //QueryExecutionValueImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationAdapterFactory.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationAdapterFactory.java
new file mode 100644
index 00000000000..c07013295e0
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationAdapterFactory.java
@@ -0,0 +1,271 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration;
+
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage
+ * @generated
+ */
+public class ModifySemanticValuesActionConfigurationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ModifySemanticValuesActionConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModifySemanticValuesActionConfigurationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ModifySemanticValuesActionConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifySemanticValuesActionConfigurationSwitch<Adapter> modelSwitch =
+ new ModifySemanticValuesActionConfigurationSwitch<Adapter>() {
+ @Override
+ public Adapter caseModifySemanticValuesActionConfiguration(ModifySemanticValuesActionConfiguration object) {
+ return createModifySemanticValuesActionConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseFeatureToSet(FeatureToSet object) {
+ return createFeatureToSetAdapter();
+ }
+ @Override
+ public Adapter caseFeatureValue(FeatureValue object) {
+ return createFeatureValueAdapter();
+ }
+ @Override
+ public Adapter caseDynamicValue(DynamicValue object) {
+ return createDynamicValueAdapter();
+ }
+ @Override
+ public Adapter caseConstantValue(ConstantValue object) {
+ return createConstantValueAdapter();
+ }
+ @Override
+ public Adapter caseListValue(ListValue object) {
+ return createListValueAdapter();
+ }
+ @Override
+ public Adapter caseQueryExecutionValue(QueryExecutionValue object) {
+ return createQueryExecutionValueAdapter();
+ }
+ @Override
+ public Adapter caseActionConfiguration(ActionConfiguration object) {
+ return createActionConfigurationAdapter();
+ }
+ @Override
+ public Adapter casePostActionConfiguration(PostActionConfiguration object) {
+ return createPostActionConfigurationAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration <em>Modify Semantic Values Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration
+ * @generated
+ */
+ public Adapter createModifySemanticValuesActionConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet <em>Feature To Set</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet
+ * @generated
+ */
+ public Adapter createFeatureToSetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureValue <em>Feature Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureValue
+ * @generated
+ */
+ public Adapter createFeatureValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.DynamicValue <em>Dynamic Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.DynamicValue
+ * @generated
+ */
+ public Adapter createDynamicValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue <em>Constant Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue
+ * @generated
+ */
+ public Adapter createConstantValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue <em>List Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue
+ * @generated
+ */
+ public Adapter createListValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue <em>Query Execution Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue
+ * @generated
+ */
+ public Adapter createQueryExecutionValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration <em>Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration
+ * @generated
+ */
+ public Adapter createActionConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration <em>Post Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration
+ * @generated
+ */
+ public Adapter createPostActionConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //ModifySemanticValuesActionConfigurationAdapterFactory
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationResourceFactoryImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationResourceFactoryImpl.java
new file mode 100644
index 00000000000..7d956964c93
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationResourceFactoryImpl.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.util.ModifySemanticValuesActionConfigurationResourceImpl
+ * @generated
+ */
+public class ModifySemanticValuesActionConfigurationResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModifySemanticValuesActionConfigurationResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new ModifySemanticValuesActionConfigurationResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //ModifySemanticValuesActionConfigurationResourceFactoryImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationResourceImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationResourceImpl.java
new file mode 100644
index 00000000000..4d4b9587204
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationResourceImpl.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.util.ModifySemanticValuesActionConfigurationResourceFactoryImpl
+ * @generated
+ */
+public class ModifySemanticValuesActionConfigurationResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public ModifySemanticValuesActionConfigurationResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //ModifySemanticValuesActionConfigurationResourceImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationSwitch.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationSwitch.java
new file mode 100644
index 00000000000..7b1c688e799
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationSwitch.java
@@ -0,0 +1,279 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration;
+
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage
+ * @generated
+ */
+public class ModifySemanticValuesActionConfigurationSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ModifySemanticValuesActionConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModifySemanticValuesActionConfigurationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ModifySemanticValuesActionConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ModifySemanticValuesActionConfigurationPackage.MODIFY_SEMANTIC_VALUES_ACTION_CONFIGURATION: {
+ ModifySemanticValuesActionConfiguration modifySemanticValuesActionConfiguration = (ModifySemanticValuesActionConfiguration)theEObject;
+ T result = caseModifySemanticValuesActionConfiguration(modifySemanticValuesActionConfiguration);
+ if (result == null) result = casePostActionConfiguration(modifySemanticValuesActionConfiguration);
+ if (result == null) result = caseActionConfiguration(modifySemanticValuesActionConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_TO_SET: {
+ FeatureToSet featureToSet = (FeatureToSet)theEObject;
+ T result = caseFeatureToSet(featureToSet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ModifySemanticValuesActionConfigurationPackage.FEATURE_VALUE: {
+ FeatureValue featureValue = (FeatureValue)theEObject;
+ T result = caseFeatureValue(featureValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ModifySemanticValuesActionConfigurationPackage.DYNAMIC_VALUE: {
+ DynamicValue dynamicValue = (DynamicValue)theEObject;
+ T result = caseDynamicValue(dynamicValue);
+ if (result == null) result = caseFeatureValue(dynamicValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ModifySemanticValuesActionConfigurationPackage.CONSTANT_VALUE: {
+ ConstantValue constantValue = (ConstantValue)theEObject;
+ T result = caseConstantValue(constantValue);
+ if (result == null) result = caseFeatureValue(constantValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ModifySemanticValuesActionConfigurationPackage.LIST_VALUE: {
+ ListValue listValue = (ListValue)theEObject;
+ T result = caseListValue(listValue);
+ if (result == null) result = caseFeatureValue(listValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ModifySemanticValuesActionConfigurationPackage.QUERY_EXECUTION_VALUE: {
+ QueryExecutionValue queryExecutionValue = (QueryExecutionValue)theEObject;
+ T result = caseQueryExecutionValue(queryExecutionValue);
+ if (result == null) result = caseFeatureValue(queryExecutionValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Modify Semantic Values Action Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Modify Semantic Values Action Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModifySemanticValuesActionConfiguration(ModifySemanticValuesActionConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature To Set</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Feature To Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeatureToSet(FeatureToSet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Feature Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeatureValue(FeatureValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Dynamic Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Dynamic Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDynamicValue(DynamicValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Constant Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Constant Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConstantValue(ConstantValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>List Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>List Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseListValue(ListValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query Execution Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Query Execution Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQueryExecutionValue(QueryExecutionValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Action Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Action Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActionConfiguration(ActionConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Post Action Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Post Action Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePostActionConfiguration(PostActionConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //ModifySemanticValuesActionConfigurationSwitch
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationXMLProcessor.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationXMLProcessor.java
new file mode 100644
index 00000000000..b75d02ba733
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src-gen/org/eclipse/papyrus/diagram/extendedtypes/emf/modifysemanticvaluesactionconfiguration/util/ModifySemanticValuesActionConfigurationXMLProcessor.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfigurationPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModifySemanticValuesActionConfigurationXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModifySemanticValuesActionConfigurationXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ ModifySemanticValuesActionConfigurationPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the ModifySemanticValuesActionConfigurationResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new ModifySemanticValuesActionConfigurationResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new ModifySemanticValuesActionConfigurationResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //ModifySemanticValuesActionConfigurationXMLProcessor
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src/org/eclipse/papyrus/diagram/extendedtypes/emf/Activator.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src/org/eclipse/papyrus/diagram/extendedtypes/emf/Activator.java
new file mode 100644
index 00000000000..50827f3d9c1
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src/org/eclipse/papyrus/diagram/extendedtypes/emf/Activator.java
@@ -0,0 +1,56 @@
+package org.eclipse.papyrus.diagram.extendedtypes.emf;
+
+import org.eclipse.papyrus.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.diagram.extendedtypes.emf"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /** Logging helper */
+ public static LogHelper log;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ log = new LogHelper(this);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ log = null;
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src/org/eclipse/papyrus/diagram/extendedtypes/emf/providers/ModifySemanticValuesActionProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src/org/eclipse/papyrus/diagram/extendedtypes/emf/providers/ModifySemanticValuesActionProvider.java
new file mode 100644
index 00000000000..a5fdc279f26
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.emf/src/org/eclipse/papyrus/diagram/extendedtypes/emf/providers/ModifySemanticValuesActionProvider.java
@@ -0,0 +1,186 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes.emf.providers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
+import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
+import org.eclipse.gmf.runtime.common.core.service.IOperation;
+import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
+import org.eclipse.papyrus.core.queries.configuration.QueryConfiguration;
+import org.eclipse.papyrus.core.queries.converter.ConverterNotfoundException;
+import org.eclipse.papyrus.core.queries.converter.ConverterRegistry;
+import org.eclipse.papyrus.core.queries.modisco.QueryUtil;
+import org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.Activator;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue;
+import org.eclipse.papyrus.diagram.extendedtypes.emf.modifysemanticvaluesactionconfiguration.util.ModifySemanticValuesActionConfigurationSwitch;
+import org.eclipse.papyrus.diagram.extendedtypes.providers.GetAllExtendedElementTypeActionProvidersOperation;
+import org.eclipse.papyrus.diagram.extendedtypes.providers.GetExtendedElementTypeActionProviderOperation;
+import org.eclipse.papyrus.diagram.extendedtypes.providers.IExtendedElementTypeActionProvider;
+import org.eclipse.papyrus.service.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.service.edit.service.IElementEditService;
+
+/**
+ * Provider for Action that set semantic values to an element on creation
+ */
+public class ModifySemanticValuesActionProvider extends AbstractProvider implements IExtendedElementTypeActionProvider {
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean provides(IOperation operation) {
+ if(operation instanceof GetAllExtendedElementTypeActionProvidersOperation) {
+ return true;
+ }
+ if(operation instanceof GetExtendedElementTypeActionProviderOperation) {
+ return (((GetExtendedElementTypeActionProviderOperation)operation).getActionConfiguration() instanceof ModifySemanticValuesActionConfiguration);
+ }
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public ICommand getICommand(List<? extends Object> elementsToEdit, ActionConfiguration configuration) {
+ // try to create the command that will apply the stereotypes
+ if(!(configuration instanceof ModifySemanticValuesActionConfiguration)) {
+ Activator.log.error("Trying to configure a modify semantic values action configuration with a configuration which is not a semantic value one: " + configuration, null);
+ return UnexecutableCommand.INSTANCE;
+ }
+
+ CompositeCommand compositeCommand = new CompositeCommand("Set Values");
+ ModifySemanticValuesActionConfiguration modifySemanticValuesActionConfiguration = (ModifySemanticValuesActionConfiguration)configuration;
+
+ // for each object in the list of eobjects to edit, create the stereotype apply command
+ for(Object objectToEdit : elementsToEdit) {
+ // for each feature in the configuration, sets the value
+ if(objectToEdit instanceof EObject) {
+ for(FeatureToSet featureToSet : modifySemanticValuesActionConfiguration.getFeaturesToSet()) {
+ // create a command from a set request and use the Papyrus edit service
+ EObject eObject = (EObject)objectToEdit;
+ EStructuralFeature feature = eObject.eClass().getEStructuralFeature(featureToSet.getFeatureName());
+ if(feature != null && feature.isChangeable()) {
+ // retrieve the value to set
+ FeatureValue featureValue = featureToSet.getValue();
+ Object value = computeValue(eObject, feature, featureValue);
+ SetRequest request = new SetRequest(eObject, feature, value);
+ IElementEditService service = ElementEditServiceUtils.getCommandProvider(eObject);
+ ICommand command = service.getEditCommand(request);
+ if(command != null) {
+ compositeCommand.add(command);
+ }
+ }
+ }
+
+ // for dynamic features, opens the pop up and ask for the values to set
+ }
+ }
+ return compositeCommand;
+ }
+
+ /**
+ * Retrieves the value from the feature value parameter
+ *
+ * @param eObject
+ * the context of the value
+ * @param feature
+ * the feature for which the value is computed
+ * @param featureValue
+ * the representation of the value of the feature from which to compute the real value
+ * @return the value of the feature
+ */
+ protected Object computeValue(final EObject eObject, final EStructuralFeature feature, FeatureValue featureValue) {
+ Object value = new ModifySemanticValuesActionConfigurationSwitch<Object>() {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Object caseListValue(ListValue listValue) {
+ List<Object> values = new ArrayList<Object>();
+ for(FeatureValue fValue : listValue.getValues()) {
+ Object value = computeValue(eObject, feature, fValue);
+ values.add(value);
+ }
+ return values;
+ };
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Object caseQueryExecutionValue(QueryExecutionValue queryExecutionValue) {
+ Object value = null;
+ QueryConfiguration configuration = queryExecutionValue.getConfiguration();
+ try {
+ value = QueryUtil.evaluateQuery(eObject, configuration);
+ } catch (Exception e) {
+ Activator.log.error(e);
+ }
+ return value;
+ };
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Object caseConstantValue(ConstantValue constantValue) {
+ Class<?> parameterType = feature.getEType().getInstanceClass();
+ try {
+ Object convertedValue = ConverterRegistry.getSingleton().convert(parameterType, constantValue.getValueInstance());
+ return convertedValue;
+ } catch (ConverterNotfoundException e) {
+ Activator.log.error(e);
+ }
+ return null;
+ }
+
+ }.doSwitch(featureValue);
+
+ return value;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public ICommand getBeforeCreateValidationCommand(List<? extends Object> elementsToEdit, ActionConfiguration configuration) {
+ // here, element to edit should be the parent of the created element on which the stereotype is applied.
+ ModifySemanticValuesActionConfiguration modifySemanticValuesActionConfiguration = (ModifySemanticValuesActionConfiguration)configuration;
+
+ for(Object objectToEdit : elementsToEdit) {
+ // FIXME ...
+ }
+ // returns a null command, which means it is possible to apply the stereotype
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setConfiguration(IConfigurationElement element) {
+ // something to do here ?
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/.classpath b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/.classpath
new file mode 100644
index 00000000000..cedf0d0d0b5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/.project b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/.project
new file mode 100644
index 00000000000..689596080a3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.diagram.extendedtypes.uml.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/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..124ca193a2b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.diagram.extendedtypes.uml.edit;singleton:=true
+Bundle-Version: 1.0.0
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.provider.ApplyStereotypeActionConfigurationEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.diagram.extendedtypes.uml;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ org.eclipse.papyrus.core.queries.configuration;visibility:=reexport,
+ org.eclipse.papyrus.core.queries.configuration.edit;visibility:=reexport,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.edit;visibility:=reexport,
+ org.eclipse.papyrus.diagram.extendedtypes;visibility:=reexport,
+ org.eclipse.papyrus.diagram.extendedtypes.edit;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query.edit;visibility:=reexport,
+ org.eclipse.uml2.uml;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/about.html b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/build.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/build.properties
new file mode 100644
index 00000000000..349c54c9d8e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/build.properties
@@ -0,0 +1,15 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/icons/full/ctool16/CreateApplyStereotypeActionConfiguration_stereotypesToApply_StereotypeToApply.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/icons/full/ctool16/CreateApplyStereotypeActionConfiguration_stereotypesToApply_StereotypeToApply.gif
new file mode 100644
index 00000000000..fe10b8e7be4
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/icons/full/ctool16/CreateApplyStereotypeActionConfiguration_stereotypesToApply_StereotypeToApply.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/icons/full/obj16/ApplyStereotypeActionConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/icons/full/obj16/ApplyStereotypeActionConfiguration.gif
new file mode 100644
index 00000000000..35ef84e20e2
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/icons/full/obj16/ApplyStereotypeActionConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/icons/full/obj16/StereotypeToApply.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/icons/full/obj16/StereotypeToApply.gif
new file mode 100644
index 00000000000..caf2804510d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/icons/full/obj16/StereotypeToApply.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/plugin.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/plugin.properties
new file mode 100644
index 00000000000..875b0bac090
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/plugin.properties
@@ -0,0 +1,30 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = ApplyStereotypeActionConfiguration 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_ApplyStereotypeActionConfiguration_type = Apply Stereotype Action Configuration
+_UI_StereotypeToApply_type = Stereotype To Apply
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_ApplyStereotypeActionConfiguration_stereotypesToApply_feature = Stereotypes To Apply
+_UI_StereotypeToApply_stereotypeQualifiedName_feature = Stereotype Qualified Name
+_UI_StereotypeToApply_updateName_feature = Update Name
+_UI_Unknown_feature = Unspecified
+
+_UI_StereotypeToApply_requiredProfiles_feature = Required Profiles
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/plugin.xml b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/plugin.xml
new file mode 100644
index 00000000000..42b6741cd43
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/plugin.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <factory
+ uri="http://www.eclipse.org/papyrus/diagram/types/applystereotypeactionconfiguration/0.7"
+ class="org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.provider.ApplyStereotypeActionConfigurationItemProviderAdapterFactory"
+ 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/ApplyStereotypeActionConfigurationEditPlugin.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/ApplyStereotypeActionConfigurationEditPlugin.java
new file mode 100644
index 00000000000..77b08547107
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/ApplyStereotypeActionConfigurationEditPlugin.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.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.core.queries.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.papyrus.diagram.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the ApplyStereotypeActionConfiguration edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class ApplyStereotypeActionConfigurationEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final ApplyStereotypeActionConfigurationEditPlugin INSTANCE = new ApplyStereotypeActionConfigurationEditPlugin();
+
+ /**
+ * 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 ApplyStereotypeActionConfigurationEditPlugin() {
+ 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/ApplyStereotypeActionConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/ApplyStereotypeActionConfigurationItemProvider.java
new file mode 100644
index 00000000000..8081ff4ff70
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/ApplyStereotypeActionConfigurationItemProvider.java
@@ -0,0 +1,175 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.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.diagram.extendedtypes.provider.PostActionConfigurationItemProvider;
+
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ApplyStereotypeActionConfigurationItemProvider
+ extends PostActionConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApplyStereotypeActionConfigurationItemProvider(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(ApplyStereotypeActionConfigurationPackage.Literals.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY);
+ }
+ 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 ApplyStereotypeActionConfiguration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ApplyStereotypeActionConfiguration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ApplyStereotypeActionConfiguration)object).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_ApplyStereotypeActionConfiguration_type") :
+ getString("_UI_ApplyStereotypeActionConfiguration_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(ApplyStereotypeActionConfiguration.class)) {
+ case ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY:
+ 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
+ (ApplyStereotypeActionConfigurationPackage.Literals.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY,
+ ApplyStereotypeActionConfigurationFactory.eINSTANCE.createStereotypeToApply()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return ApplyStereotypeActionConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/ApplyStereotypeActionConfigurationItemProviderAdapterFactory.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/ApplyStereotypeActionConfigurationItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..f6d21b51323
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/ApplyStereotypeActionConfigurationItemProviderAdapterFactory.java
@@ -0,0 +1,227 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.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.diagram.extendedtypes.uml.applystereotypeactionconfiguration.util.ApplyStereotypeActionConfigurationAdapterFactory;
+
+/**
+ * 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 ApplyStereotypeActionConfigurationItemProviderAdapterFactory extends ApplyStereotypeActionConfigurationAdapterFactory 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 ApplyStereotypeActionConfigurationItemProviderAdapterFactory() {
+ 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.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ApplyStereotypeActionConfigurationItemProvider applyStereotypeActionConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createApplyStereotypeActionConfigurationAdapter() {
+ if (applyStereotypeActionConfigurationItemProvider == null) {
+ applyStereotypeActionConfigurationItemProvider = new ApplyStereotypeActionConfigurationItemProvider(this);
+ }
+
+ return applyStereotypeActionConfigurationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypeToApplyItemProvider stereotypeToApplyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createStereotypeToApplyAdapter() {
+ if (stereotypeToApplyItemProvider == null) {
+ stereotypeToApplyItemProvider = new StereotypeToApplyItemProvider(this);
+ }
+
+ return stereotypeToApplyItemProvider;
+ }
+
+ /**
+ * 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 (applyStereotypeActionConfigurationItemProvider != null) applyStereotypeActionConfigurationItemProvider.dispose();
+ if (stereotypeToApplyItemProvider != null) stereotypeToApplyItemProvider.dispose();
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/StereotypeToApplyItemProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/StereotypeToApplyItemProvider.java
new file mode 100644
index 00000000000..55dccb8001d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/provider/StereotypeToApplyItemProvider.java
@@ -0,0 +1,209 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.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.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StereotypeToApplyItemProvider
+ 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 StereotypeToApplyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addStereotypeQualifiedNamePropertyDescriptor(object);
+ addUpdateNamePropertyDescriptor(object);
+ addRequiredProfilesPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Stereotype Qualified Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStereotypeQualifiedNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StereotypeToApply_stereotypeQualifiedName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_StereotypeToApply_stereotypeQualifiedName_feature", "_UI_StereotypeToApply_type"),
+ ApplyStereotypeActionConfigurationPackage.Literals.STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Update Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUpdateNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StereotypeToApply_updateName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_StereotypeToApply_updateName_feature", "_UI_StereotypeToApply_type"),
+ ApplyStereotypeActionConfigurationPackage.Literals.STEREOTYPE_TO_APPLY__UPDATE_NAME,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Required Profiles feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRequiredProfilesPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StereotypeToApply_requiredProfiles_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_StereotypeToApply_requiredProfiles_feature", "_UI_StereotypeToApply_type"),
+ ApplyStereotypeActionConfigurationPackage.Literals.STEREOTYPE_TO_APPLY__REQUIRED_PROFILES,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns StereotypeToApply.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/StereotypeToApply"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((StereotypeToApply)object).getStereotypeQualifiedName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_StereotypeToApply_type") :
+ getString("_UI_StereotypeToApply_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(StereotypeToApply.class)) {
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME:
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__UPDATE_NAME:
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__REQUIRED_PROFILES:
+ 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 ApplyStereotypeActionConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/.classpath b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/.classpath
new file mode 100644
index 00000000000..cedf0d0d0b5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/.project b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/.project
new file mode 100644
index 00000000000..f01b129251f
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.diagram.extendedtypes.uml.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/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..8b8e90f991e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.diagram.extendedtypes.uml.editor;singleton:=true
+Bundle-Version: 1.0.0
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.presentation.ApplyStereotypeActionConfigurationEditorPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.presentation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources;visibility:=reexport,
+ org.eclipse.papyrus.diagram.extendedtypes.uml.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.core.queries.configuration.edit;visibility:=reexport,
+ org.eclipse.emf.ecore.edit;visibility:=reexport,
+ org.eclipse.papyrus.diagram.extendedtypes.edit;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query.edit;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/about.html b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/build.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/build.properties
new file mode 100644
index 00000000000..349c54c9d8e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/build.properties
@@ -0,0 +1,15 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/icons/full/obj16/ApplyStereotypeActionConfigurationModelFile.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/icons/full/obj16/ApplyStereotypeActionConfigurationModelFile.gif
new file mode 100644
index 00000000000..8b3ad8009f0
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/icons/full/obj16/ApplyStereotypeActionConfigurationModelFile.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/icons/full/wizban/NewApplyStereotypeActionConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/icons/full/wizban/NewApplyStereotypeActionConfiguration.gif
new file mode 100644
index 00000000000..33f212f1c14
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/icons/full/wizban/NewApplyStereotypeActionConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/plugin.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/plugin.properties
new file mode 100644
index 00000000000..b0b3f32b776
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/plugin.properties
@@ -0,0 +1,57 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = ApplyStereotypeActionConfiguration Editor
+providerName = www.example.org
+
+_UI_ApplyStereotypeActionConfigurationEditor_menu = &ApplyStereotypeActionConfiguration 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_ApplyStereotypeActionConfigurationModelWizard_label = ApplyStereotypeActionConfiguration Model
+_UI_ApplyStereotypeActionConfigurationModelWizard_description = Create a new ApplyStereotypeActionConfiguration model
+
+_UI_ApplyStereotypeActionConfigurationEditor_label = ApplyStereotypeActionConfiguration Model Editor
+
+_UI_ApplyStereotypeActionConfigurationEditorFilenameDefaultBase = My
+_UI_ApplyStereotypeActionConfigurationEditorFilenameExtensions = applystereotypeactionconfiguration
+
+_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?
+
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/plugin.xml b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/plugin.xml
new file mode 100644
index 00000000000..a09ebd776da
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/plugin.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.ui.newWizards">
+ <category
+ id="org.eclipse.emf.ecore.Wizard.category.ID"
+ name="%_UI_Wizard_category"/>
+ <wizard
+ id="org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.presentation.ApplyStereotypeActionConfigurationModelWizardID"
+ name="%_UI_ApplyStereotypeActionConfigurationModelWizard_label"
+ class="org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.presentation.ApplyStereotypeActionConfigurationModelWizard"
+ category="org.eclipse.emf.ecore.Wizard.category.ID"
+ icon="icons/full/obj16/ApplyStereotypeActionConfigurationModelFile.gif">
+ <description>%_UI_ApplyStereotypeActionConfigurationModelWizard_description</description>
+ <selection class="org.eclipse.core.resources.IResource"/>
+ </wizard>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors">
+ <editor
+ id="org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.presentation.ApplyStereotypeActionConfigurationEditorID"
+ name="%_UI_ApplyStereotypeActionConfigurationEditor_label"
+ icon="icons/full/obj16/ApplyStereotypeActionConfigurationModelFile.gif"
+ extensions="applystereotypeactionconfiguration"
+ class="org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.presentation.ApplyStereotypeActionConfigurationEditor"
+ contributorClass="org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.presentation.ApplyStereotypeActionConfigurationActionBarContributor">
+ </editor>
+ </extension>
+
+</plugin>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationActionBarContributor.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationActionBarContributor.java
new file mode 100644
index 00000000000..0ba2893bdd8
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationActionBarContributor.java
@@ -0,0 +1,427 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the ApplyStereotypeActionConfiguration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ApplyStereotypeActionConfigurationActionBarContributor
+ 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(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+ @Override
+ public void run() {
+ try {
+ getPage().showView("org.eclipse.ui.views.PropertySheet");
+ }
+ catch (PartInitException exception) {
+ ApplyStereotypeActionConfigurationEditorPlugin.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(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+ @Override
+ public boolean isEnabled() {
+ return activeEditorPart instanceof IViewerProvider;
+ }
+
+ @Override
+ public void run() {
+ if (activeEditorPart instanceof IViewerProvider) {
+ Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+ if (viewer != null) {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createChildActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createSiblingActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApplyStereotypeActionConfigurationActionBarContributor() {
+ 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("applystereotypeactionconfiguration-settings"));
+ toolBarManager.add(new Separator("applystereotypeactionconfiguration-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(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ApplyStereotypeActionConfigurationEditor_menu"), "org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfigurationMenuID");
+ 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(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ submenuManager.insertBefore("additions", createChildMenuManager);
+
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new MenuManager(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener
+ (new IMenuListener() {
+ public void menuAboutToShow(IMenuManager menuManager) {
+ menuManager.updateAll(true);
+ }
+ });
+
+ addGlobalActions(submenuManager);
+ }
+
+ /**
+ * When the active editor changes, this remembers the change and registers with it as a selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setActiveEditor(IEditorPart part) {
+ super.setActiveEditor(part);
+ activeEditorPart = part;
+
+ // Switch to the new selection provider.
+ //
+ if (selectionProvider != null) {
+ selectionProvider.removeSelectionChangedListener(this);
+ }
+ if (part == null) {
+ selectionProvider = null;
+ }
+ else {
+ selectionProvider = part.getSite().getSelectionProvider();
+ selectionProvider.addSelectionChangedListener(this);
+
+ // Fake a selection changed event to update the menus.
+ //
+ if (selectionProvider.getSelection() != null) {
+ selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+ }
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+ * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+ * that can be added to the selected object and updating the menus accordingly.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void selectionChanged(SelectionChangedEvent event) {
+ // Remove any menu items for old selection.
+ //
+ if (createChildMenuManager != null) {
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if (createSiblingMenuManager != null) {
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection<?> newChildDescriptors = null;
+ Collection<?> newSiblingDescriptors = null;
+
+ ISelection selection = event.getSelection();
+ if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+
+ EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+ createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+ if (createChildMenuManager != null) {
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if (createSiblingMenuManager != null) {
+ populateManager(createSiblingMenuManager, createSiblingActions, null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+ * by inserting them before the specified contribution item <code>contributionID</code>.
+ * If <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+ if (actions != null) {
+ for (IAction action : actions) {
+ if (contributionID != null) {
+ manager.insertBefore(contributionID, action);
+ }
+ else {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+ if (actions != null) {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++) {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while (contributionItem instanceof SubContributionItem) {
+ contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+ }
+
+ // Delete the ActionContributionItems with matching action.
+ //
+ if (contributionItem instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem)contributionItem).getAction();
+ if (actions.contains(action)) {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager) {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+
+ submenuManager = new MenuManager(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+
+ submenuManager = new MenuManager(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void addGlobalActions(IMenuManager menuManager) {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted objects.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean removeAllReferencesOnDelete() {
+ return true;
+ }
+
+} \ No newline at end of file
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationEditor.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationEditor.java
new file mode 100644
index 00000000000..492fc21d930
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationEditor.java
@@ -0,0 +1,1785 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.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.EObject;
+import org.eclipse.emf.ecore.EValidator;
+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.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.core.queries.configuration.provider.ConfigurationItemProviderAdapterFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.provider.ExtendedtypesItemProviderAdapterFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.provider.ApplyStereotypeActionConfigurationItemProviderAdapterFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.dnd.DND;
+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 ApplyStereotypeActionConfiguration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ApplyStereotypeActionConfigurationEditor 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 PropertySheetPage 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(ApplyStereotypeActionConfigurationEditor.this);
+
+ setCurrentViewer(contentOutlineViewer);
+ }
+ }
+ else if (p instanceof PropertySheet) {
+ if (((PropertySheet)p).getCurrentPage() == propertySheetPage) {
+ getActionBarContributor().setActiveEditor(ApplyStereotypeActionConfigurationEditor.this);
+ handleActivate();
+ }
+ }
+ else if (p == ApplyStereotypeActionConfigurationEditor.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);
+ }
+ };
+
+ /**
+ * 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 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(ApplyStereotypeActionConfigurationEditor.this, false);
+ }
+ }
+ });
+ }
+
+ if (!visitor.getChangedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ changedResources.addAll(visitor.getChangedResources());
+ if (getSite().getPage().getActiveEditor() == ApplyStereotypeActionConfigurationEditor.this) {
+ handleActivate();
+ }
+ }
+ });
+ }
+ }
+ catch (CoreException exception) {
+ ApplyStereotypeActionConfigurationEditorPlugin.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(ApplyStereotypeActionConfigurationEditor.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.diagram.extendedtypes.uml.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) {
+ ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+ markerHelper.deleteMarkers(editingDomain.getResourceSet());
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ try {
+ markerHelper.createMarkers(diagnostic);
+ }
+ catch (CoreException exception) {
+ ApplyStereotypeActionConfigurationEditorPlugin.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 ApplyStereotypeActionConfigurationEditor() {
+ 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 ApplyStereotypeActionConfigurationItemProviderAdapterFactory());
+ 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());
+ }
+ if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) {
+ 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() };
+ 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.diagram.extendedtypes.uml.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.diagram.extendedtypes.uml.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(), ApplyStereotypeActionConfigurationEditor.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(), ApplyStereotypeActionConfigurationEditor.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(), ApplyStereotypeActionConfigurationEditor.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(), ApplyStereotypeActionConfigurationEditor.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(), ApplyStereotypeActionConfigurationEditor.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(), ApplyStereotypeActionConfigurationEditor.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() {
+ if (propertySheetPage == null) {
+ propertySheetPage =
+ new ExtendedPropertySheetPage(editingDomain) {
+ @Override
+ public void setSelectionToViewer(List<?> selection) {
+ ApplyStereotypeActionConfigurationEditor.this.setSelectionToViewer(selection);
+ ApplyStereotypeActionConfigurationEditor.this.setFocus();
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ };
+ propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+ }
+
+ 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);
+
+ // 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.
+ //
+ ApplyStereotypeActionConfigurationEditorPlugin.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) {
+ try {
+ if (marker.getType().equals(EValidator.MARKER)) {
+ String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
+ if (uriAttribute != null) {
+ URI uri = URI.createURI(uriAttribute);
+ EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
+ if (eObject != null) {
+ setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
+ }
+ }
+ }
+ }
+ catch (CoreException exception) {
+ ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ /**
+ * 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 ApplyStereotypeActionConfigurationEditorPlugin.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 ApplyStereotypeActionConfigurationEditorPlugin.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);
+ }
+
+ if (propertySheetPage != null) {
+ 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationEditorPlugin.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationEditorPlugin.java
new file mode 100644
index 00000000000..dd0c3c8ba11
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationEditorPlugin.java
@@ -0,0 +1,110 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.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.core.queries.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.papyrus.diagram.extendedtypes.provider.ExtendedTypesEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the ApplyStereotypeActionConfiguration editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class ApplyStereotypeActionConfigurationEditorPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final ApplyStereotypeActionConfigurationEditorPlugin INSTANCE = new ApplyStereotypeActionConfigurationEditorPlugin();
+
+ /**
+ * 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 ApplyStereotypeActionConfigurationEditorPlugin() {
+ 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/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationModelWizard.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationModelWizard.java
new file mode 100644
index 00000000000..49176adb4ac
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/presentation/ApplyStereotypeActionConfigurationModelWizard.java
@@ -0,0 +1,631 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.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.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.provider.ApplyStereotypeActionConfigurationEditPlugin;
+
+
+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 ApplyStereotypeActionConfigurationModelWizard 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(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ApplyStereotypeActionConfigurationEditorFilenameExtensions").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 =
+ ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ApplyStereotypeActionConfigurationEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+ /**
+ * This caches an instance of the model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ApplyStereotypeActionConfigurationPackage applyStereotypeActionConfigurationPackage = ApplyStereotypeActionConfigurationPackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ApplyStereotypeActionConfigurationFactory applyStereotypeActionConfigurationFactory = applyStereotypeActionConfigurationPackage.getApplyStereotypeActionConfigurationFactory();
+
+ /**
+ * This is the file creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ApplyStereotypeActionConfigurationModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ApplyStereotypeActionConfigurationModelWizardInitialObjectCreationPage 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(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getImage("full/wizban/NewApplyStereotypeActionConfiguration")));
+ }
+
+ /**
+ * 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 : applyStereotypeActionConfigurationPackage.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)applyStereotypeActionConfigurationPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = applyStereotypeActionConfigurationFactory.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) {
+ ApplyStereotypeActionConfigurationEditorPlugin.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(), ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception exception) {
+ ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ApplyStereotypeActionConfigurationModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApplyStereotypeActionConfigurationModelWizardNewFileCreationPage(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(ApplyStereotypeActionConfigurationEditorPlugin.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 ApplyStereotypeActionConfigurationModelWizardInitialObjectCreationPage 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 ApplyStereotypeActionConfigurationModelWizardInitialObjectCreationPage(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(ApplyStereotypeActionConfigurationEditorPlugin.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(ApplyStereotypeActionConfigurationEditorPlugin.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 ApplyStereotypeActionConfigurationEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+ }
+ catch(MissingResourceException mre) {
+ ApplyStereotypeActionConfigurationEditorPlugin.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(ApplyStereotypeActionConfigurationEditorPlugin.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 ApplyStereotypeActionConfigurationModelWizardNewFileCreationPage("Whatever", selection);
+ newFileCreationPage.setTitle(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ApplyStereotypeActionConfigurationModelWizard_label"));
+ newFileCreationPage.setDescription(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ApplyStereotypeActionConfigurationModelWizard_description"));
+ newFileCreationPage.setFileName(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ApplyStereotypeActionConfigurationEditorFilenameDefaultBase") + "." + 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 = ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ApplyStereotypeActionConfigurationEditorFilenameDefaultBase");
+ 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 ApplyStereotypeActionConfigurationModelWizardInitialObjectCreationPage("Whatever2");
+ initialObjectCreationPage.setTitle(ApplyStereotypeActionConfigurationEditorPlugin.INSTANCE.getString("_UI_ApplyStereotypeActionConfigurationModelWizard_label"));
+ initialObjectCreationPage.setDescription(ApplyStereotypeActionConfigurationEditorPlugin.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/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/.classpath b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/.classpath
new file mode 100644
index 00000000000..afb9bb46ef3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/.project b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/.project
new file mode 100644
index 00000000000..0a40cdd766b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.diagram.extendedtypes.uml</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/.settings/org.eclipse.jdt.core.prefs b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..83a3a838da0
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Thu Dec 02 13:35:52 CET 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..1b942444df3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.diagram.extendedtypes.uml;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.diagram.extendedtypes.uml.Activator$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.diagram.extendedtypes.uml,
+ org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration,
+ org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl,
+ org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.papyrus.core.queries.configuration;bundle-version="0.7.1";visibility:=reexport,
+ org.eclipse.papyrus.diagram.extendedtypes;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query;visibility:=reexport,
+ org.eclipse.uml2.uml;visibility:=reexport,
+ org.eclipse.papyrus.log;bundle-version="0.7.1",
+ org.eclipse.papyrus.umlutils;bundle-version="0.8.0"
+Bundle-ActivationPolicy: lazy
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/about.html b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/build.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/build.properties
new file mode 100644
index 00000000000..89d05c7c97c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/build.properties
@@ -0,0 +1,17 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html,\
+ icons/
+jars.compile.order = .
+source.. = src-gen/,\
+ src/
+output.. = bin/
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/icons/Stereotype.gif b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/icons/Stereotype.gif
new file mode 100644
index 00000000000..b7ae8706f73
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/icons/Stereotype.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/model/ApplyStereotypeActionConfiguration.ecore b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/model/ApplyStereotypeActionConfiguration.ecore
new file mode 100644
index 00000000000..69e06a7d2ee
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/model/ApplyStereotypeActionConfiguration.ecore
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="applystereotypeactionconfiguration"
+ nsURI="http://www.eclipse.org/papyrus/diagram/types/applystereotypeactionconfiguration/0.7"
+ nsPrefix="applystereotypeactionconfiguration">
+ <eClassifiers xsi:type="ecore:EClass" name="ApplyStereotypeActionConfiguration"
+ eSuperTypes="platform:/plugin/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.ecore#//PostActionConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stereotypesToApply" upperBound="-1"
+ eType="#//StereotypeToApply" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StereotypeToApply">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="stereotypeQualifiedName"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="updateName" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="requiredProfiles" lowerBound="1"
+ upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/model/ApplyStereotypeActionConfiguration.ecorediag b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/model/ApplyStereotypeActionConfiguration.ecorediag
new file mode 100644
index 00000000000..2434e5ec858
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/model/ApplyStereotypeActionConfiguration.ecorediag
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_VmEr0P4DEd-H0IKqF9Gf4w" type="EcoreTools" name="ApplyStereotypeActionConfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_k1kC4P4FEd-H0IKqF9Gf4w" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_k1290P4FEd-H0IKqF9Gf4w" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_k1290f4FEd-H0IKqF9Gf4w" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_k1290v4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_k1290_4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_k1291P4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_k1291f4FEd-H0IKqF9Gf4w" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_k1291v4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_k1291_4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_k1292P4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_k1kC4f4FEd-H0IKqF9Gf4w" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ApplyStereotypeActionConfiguration.ecore#//ApplyStereotypeActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k1kC4v4FEd-H0IKqF9Gf4w" x="115" y="270" width="293" height="43"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_m6VXAP4FEd-H0IKqF9Gf4w" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m8kLoP4FEd-H0IKqF9Gf4w" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_m8kLof4FEd-H0IKqF9Gf4w" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_m6VXA_4FEd-H0IKqF9Gf4w" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_m6VXBP4FEd-H0IKqF9Gf4w" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_m6VXBf4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_m6VXBv4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_m6VXB_4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_m6VXCP4FEd-H0IKqF9Gf4w" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_m6VXCf4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_m6VXCv4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_m6VXC_4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_m6VXAf4FEd-H0IKqF9Gf4w" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.ecore#//PostActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m6VXAv4FEd-H0IKqF9Gf4w" x="194" y="131"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_oodFsP4FEd-H0IKqF9Gf4w" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_oodFs_4FEd-H0IKqF9Gf4w" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_oodFtP4FEd-H0IKqF9Gf4w" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_qJmvYP4FEd-H0IKqF9Gf4w" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/stereotypeQualifiedName"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qJmvYf4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_taFBoP4FEd-H0IKqF9Gf4w" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/updateName"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_taFBof4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_jAOWcCo6EeC-g4g96tuXkQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/requiredProfiles"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jAOWcSo6EeC-g4g96tuXkQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_oodFtf4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_oodFtv4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_oodFt_4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_oodFuP4FEd-H0IKqF9Gf4w" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_oodFuf4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_oodFuv4FEd-H0IKqF9Gf4w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_oodFu_4FEd-H0IKqF9Gf4w"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_oodFsf4FEd-H0IKqF9Gf4w" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oodFsv4FEd-H0IKqF9Gf4w" x="549" y="259" width="249" height="84"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_VmEr0f4DEd-H0IKqF9Gf4w"/>
+ <element xmi:type="ecore:EPackage" href="ApplyStereotypeActionConfiguration.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_m8RQsP4FEd-H0IKqF9Gf4w" type="3003" source="_k1kC4P4FEd-H0IKqF9Gf4w" target="_m6VXAP4FEd-H0IKqF9Gf4w">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_m8RQsf4FEd-H0IKqF9Gf4w" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_m8RQsv4FEd-H0IKqF9Gf4w"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_m8RQs_4FEd-H0IKqF9Gf4w" points="[-93, -20, 273, 59]$[-365, -79, 1, 0]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KydQ4P4GEd-H0IKqF9Gf4w" id="(0.4339622641509434,0.9137931034482759)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_zjnLsP4FEd-H0IKqF9Gf4w" type="3002" source="_k1kC4P4FEd-H0IKqF9Gf4w" target="_oodFsP4FEd-H0IKqF9Gf4w">
+ <children xmi:type="notation:Node" xmi:id="_zkNooP4FEd-H0IKqF9Gf4w" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_zkNoof4FEd-H0IKqF9Gf4w" x="-42" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_zkNoov4FEd-H0IKqF9Gf4w" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_zkNoo_4FEd-H0IKqF9Gf4w" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_zjnLsf4FEd-H0IKqF9Gf4w" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_zjnLsv4FEd-H0IKqF9Gf4w" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ApplyStereotypeActionConfiguration.ecore#//ApplyStereotypeActionConfiguration/stereotypesToApply"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zjnLs_4FEd-H0IKqF9Gf4w" points="[53, -1, -177, 1]$[231, -21, 1, -19]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zkzegP4FEd-H0IKqF9Gf4w" id="(0.7654867256637168,0.2619047619047619)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zkzegf4FEd-H0IKqF9Gf4w" id="(0.012048192771084338,0.23809523809523808)"/>
+ </edges>
+</notation:Diagram>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/model/ApplyStereotypeActionConfiguration.genmodel b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/model/ApplyStereotypeActionConfiguration.genmodel
new file mode 100644
index 00000000000..cc015005d79
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/model/ApplyStereotypeActionConfiguration.genmodel
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen"
+ editDirectory="/org.eclipse.papyrus.diagram.extendedtypes.uml.edit/src-gen" editorDirectory="/org.eclipse.papyrus.diagram.extendedtypes.uml.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.diagram.extendedtypes.uml" modelName="ApplyStereotypeActionConfiguration"
+ modelPluginClass="org.eclipse.papyrus.diagram.extendedtypes.uml.Activator" testsDirectory="/org.eclipse.papyrus.diagram.extendedtypes.uml.tests/src-gen"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ usedGenPackages="platform:/plugin/org.eclipse.papyrus.core.queries.configuration/model/Configuration.genmodel#//configuration platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.genmodel#//extendedtypes platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.genmodel#//query platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
+ <foreignModel>ApplyStereotypeActionConfiguration.ecore</foreignModel>
+ <genPackages prefix="ApplyStereotypeActionConfiguration" basePackage="org.eclipse.papyrus.diagram.extendedtypes.uml"
+ resource="XML" disposableProviderFactory="true" ecorePackage="ApplyStereotypeActionConfiguration.ecore#/">
+ <genClasses ecoreClass="ApplyStereotypeActionConfiguration.ecore#//ApplyStereotypeActionConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ApplyStereotypeActionConfiguration.ecore#//ApplyStereotypeActionConfiguration/stereotypesToApply"/>
+ </genClasses>
+ <genClasses ecoreClass="ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/stereotypeQualifiedName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/updateName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ApplyStereotypeActionConfiguration.ecore#//StereotypeToApply/requiredProfiles"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/plugin.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/plugin.properties
new file mode 100644
index 00000000000..967fad037a4
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/plugin.properties
@@ -0,0 +1,12 @@
+#################################################################################
+# Copyright (c) 2010 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - initial API and implementation
+##################################################################################
+pluginName = UML configurations for Extended Types framework (Incubation)
+providerName = Eclipse Modeling Project
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/plugin.xml b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/plugin.xml
new file mode 100644
index 00000000000..e54d7bcd4c3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/plugin.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/papyrus/diagram/types/applystereotypeactionconfiguration/0.7"
+ class="org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage"
+ genModel="model/ApplyStereotypeActionConfiguration.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="applystereotypeactionconfiguration"
+ class="org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.util.ApplyStereotypeActionConfigurationResourceFactoryImpl"/>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.diagram.extendedtypes.extendedElementTypeActionProvider">
+ <extendedElementTypeActionProvider
+ class="org.eclipse.papyrus.diagram.extendedtypes.uml.providers.ApplyStereotypeActionProvider"
+ configurationClass="org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration"
+ description="Post action to apply stereotype on created element"
+ icon="icons/Stereotype.gif"
+ id="org.eclipse.papyrus.diagram.extendedtypes.uml.applyStereotypeAction"
+ name="Extended Element Type Apply Stereotype Post Action">
+ <Priority
+ name="Lowest">
+ </Priority>
+ </extendedElementTypeActionProvider>
+ </extension>
+
+</plugin>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/Activator.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/Activator.java
new file mode 100644
index 00000000000..de12c9c3031
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/Activator.java
@@ -0,0 +1,92 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the ApplyStereotypeActionConfiguration model plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class Activator extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final Activator INSTANCE = new Activator();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activator() {
+ super(new ResourceLocator [] {});
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/ApplyStereotypeActionConfiguration.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/ApplyStereotypeActionConfiguration.java
new file mode 100644
index 00000000000..544282eaabd
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/ApplyStereotypeActionConfiguration.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Apply Stereotype Action Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration#getStereotypesToApply <em>Stereotypes To Apply</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#getApplyStereotypeActionConfiguration()
+ * @model
+ * @generated
+ */
+public interface ApplyStereotypeActionConfiguration extends PostActionConfiguration {
+ /**
+ * Returns the value of the '<em><b>Stereotypes To Apply</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Stereotypes To Apply</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Stereotypes To Apply</em>' containment reference list.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#getApplyStereotypeActionConfiguration_StereotypesToApply()
+ * @model containment="true"
+ * @generated
+ */
+ EList<StereotypeToApply> getStereotypesToApply();
+
+} // ApplyStereotypeActionConfiguration
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationFactory.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationFactory.java
new file mode 100644
index 00000000000..d04038b6e0c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationFactory.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage
+ * @generated
+ */
+public interface ApplyStereotypeActionConfigurationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ApplyStereotypeActionConfigurationFactory eINSTANCE = org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Apply Stereotype Action Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Apply Stereotype Action Configuration</em>'.
+ * @generated
+ */
+ ApplyStereotypeActionConfiguration createApplyStereotypeActionConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Stereotype To Apply</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Stereotype To Apply</em>'.
+ * @generated
+ */
+ StereotypeToApply createStereotypeToApply();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ApplyStereotypeActionConfigurationPackage getApplyStereotypeActionConfigurationPackage();
+
+} //ApplyStereotypeActionConfigurationFactory
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationPackage.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationPackage.java
new file mode 100644
index 00000000000..7a7c7becdca
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/ApplyStereotypeActionConfigurationPackage.java
@@ -0,0 +1,297 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ApplyStereotypeActionConfigurationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "applystereotypeactionconfiguration";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/diagram/types/applystereotypeactionconfiguration/0.7";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "applystereotypeactionconfiguration";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ApplyStereotypeActionConfigurationPackage eINSTANCE = org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationImpl <em>Apply Stereotype Action Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationPackageImpl#getApplyStereotypeActionConfiguration()
+ * @generated
+ */
+ int APPLY_STEREOTYPE_ACTION_CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int APPLY_STEREOTYPE_ACTION_CONFIGURATION__LABEL = ExtendedtypesPackage.POST_ACTION_CONFIGURATION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int APPLY_STEREOTYPE_ACTION_CONFIGURATION__ID = ExtendedtypesPackage.POST_ACTION_CONFIGURATION__ID;
+
+ /**
+ * The feature id for the '<em><b>Stereotypes To Apply</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY = ExtendedtypesPackage.POST_ACTION_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Apply Stereotype Action Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int APPLY_STEREOTYPE_ACTION_CONFIGURATION_FEATURE_COUNT = ExtendedtypesPackage.POST_ACTION_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl <em>Stereotype To Apply</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationPackageImpl#getStereotypeToApply()
+ * @generated
+ */
+ int STEREOTYPE_TO_APPLY = 1;
+
+ /**
+ * The feature id for the '<em><b>Stereotype Qualified Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Update Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_TO_APPLY__UPDATE_NAME = 1;
+
+ /**
+ * The feature id for the '<em><b>Required Profiles</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_TO_APPLY__REQUIRED_PROFILES = 2;
+
+ /**
+ * The number of structural features of the '<em>Stereotype To Apply</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_TO_APPLY_FEATURE_COUNT = 3;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration <em>Apply Stereotype Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Apply Stereotype Action Configuration</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration
+ * @generated
+ */
+ EClass getApplyStereotypeActionConfiguration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration#getStereotypesToApply <em>Stereotypes To Apply</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Stereotypes To Apply</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration#getStereotypesToApply()
+ * @see #getApplyStereotypeActionConfiguration()
+ * @generated
+ */
+ EReference getApplyStereotypeActionConfiguration_StereotypesToApply();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply <em>Stereotype To Apply</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Stereotype To Apply</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply
+ * @generated
+ */
+ EClass getStereotypeToApply();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply#getStereotypeQualifiedName <em>Stereotype Qualified Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Stereotype Qualified Name</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply#getStereotypeQualifiedName()
+ * @see #getStereotypeToApply()
+ * @generated
+ */
+ EAttribute getStereotypeToApply_StereotypeQualifiedName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply#isUpdateName <em>Update Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Update Name</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply#isUpdateName()
+ * @see #getStereotypeToApply()
+ * @generated
+ */
+ EAttribute getStereotypeToApply_UpdateName();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply#getRequiredProfiles <em>Required Profiles</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Required Profiles</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply#getRequiredProfiles()
+ * @see #getStereotypeToApply()
+ * @generated
+ */
+ EAttribute getStereotypeToApply_RequiredProfiles();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ApplyStereotypeActionConfigurationFactory getApplyStereotypeActionConfigurationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationImpl <em>Apply Stereotype Action Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationPackageImpl#getApplyStereotypeActionConfiguration()
+ * @generated
+ */
+ EClass APPLY_STEREOTYPE_ACTION_CONFIGURATION = eINSTANCE.getApplyStereotypeActionConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Stereotypes To Apply</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY = eINSTANCE.getApplyStereotypeActionConfiguration_StereotypesToApply();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl <em>Stereotype To Apply</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationPackageImpl#getStereotypeToApply()
+ * @generated
+ */
+ EClass STEREOTYPE_TO_APPLY = eINSTANCE.getStereotypeToApply();
+
+ /**
+ * The meta object literal for the '<em><b>Stereotype Qualified Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME = eINSTANCE.getStereotypeToApply_StereotypeQualifiedName();
+
+ /**
+ * The meta object literal for the '<em><b>Update Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STEREOTYPE_TO_APPLY__UPDATE_NAME = eINSTANCE.getStereotypeToApply_UpdateName();
+
+ /**
+ * The meta object literal for the '<em><b>Required Profiles</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STEREOTYPE_TO_APPLY__REQUIRED_PROFILES = eINSTANCE.getStereotypeToApply_RequiredProfiles();
+
+ }
+
+} //ApplyStereotypeActionConfigurationPackage
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/StereotypeToApply.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/StereotypeToApply.java
new file mode 100644
index 00000000000..1f644a49ade
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/StereotypeToApply.java
@@ -0,0 +1,99 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stereotype To Apply</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply#getStereotypeQualifiedName <em>Stereotype Qualified Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply#isUpdateName <em>Update Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply#getRequiredProfiles <em>Required Profiles</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#getStereotypeToApply()
+ * @model
+ * @generated
+ */
+public interface StereotypeToApply extends EObject {
+ /**
+ * Returns the value of the '<em><b>Stereotype Qualified Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Stereotype Qualified Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Stereotype Qualified Name</em>' attribute.
+ * @see #setStereotypeQualifiedName(String)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#getStereotypeToApply_StereotypeQualifiedName()
+ * @model dataType="org.eclipse.uml2.uml.String"
+ * @generated
+ */
+ String getStereotypeQualifiedName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply#getStereotypeQualifiedName <em>Stereotype Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Stereotype Qualified Name</em>' attribute.
+ * @see #getStereotypeQualifiedName()
+ * @generated
+ */
+ void setStereotypeQualifiedName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Update Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Update Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Update Name</em>' attribute.
+ * @see #setUpdateName(boolean)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#getStereotypeToApply_UpdateName()
+ * @model dataType="org.eclipse.uml2.uml.Boolean"
+ * @generated
+ */
+ boolean isUpdateName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply#isUpdateName <em>Update Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Update Name</em>' attribute.
+ * @see #isUpdateName()
+ * @generated
+ */
+ void setUpdateName(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Required Profiles</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Required Profiles</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Required Profiles</em>' attribute list.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#getStereotypeToApply_RequiredProfiles()
+ * @model required="true"
+ * @generated
+ */
+ EList<String> getRequiredProfiles();
+
+} // StereotypeToApply
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationFactoryImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationFactoryImpl.java
new file mode 100644
index 00000000000..70b81c9f562
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationFactoryImpl.java
@@ -0,0 +1,110 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ApplyStereotypeActionConfigurationFactoryImpl extends EFactoryImpl implements ApplyStereotypeActionConfigurationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ApplyStereotypeActionConfigurationFactory init() {
+ try {
+ ApplyStereotypeActionConfigurationFactory theApplyStereotypeActionConfigurationFactory = (ApplyStereotypeActionConfigurationFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/diagram/types/applystereotypeactionconfiguration/0.7");
+ if (theApplyStereotypeActionConfigurationFactory != null) {
+ return theApplyStereotypeActionConfigurationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ApplyStereotypeActionConfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApplyStereotypeActionConfigurationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION: return createApplyStereotypeActionConfiguration();
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY: return createStereotypeToApply();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApplyStereotypeActionConfiguration createApplyStereotypeActionConfiguration() {
+ ApplyStereotypeActionConfigurationImpl applyStereotypeActionConfiguration = new ApplyStereotypeActionConfigurationImpl();
+ return applyStereotypeActionConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypeToApply createStereotypeToApply() {
+ StereotypeToApplyImpl stereotypeToApply = new StereotypeToApplyImpl();
+ return stereotypeToApply;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApplyStereotypeActionConfigurationPackage getApplyStereotypeActionConfigurationPackage() {
+ return (ApplyStereotypeActionConfigurationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ApplyStereotypeActionConfigurationPackage getPackage() {
+ return ApplyStereotypeActionConfigurationPackage.eINSTANCE;
+ }
+
+} //ApplyStereotypeActionConfigurationFactoryImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationImpl.java
new file mode 100644
index 00000000000..2b4926a7a6e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationImpl.java
@@ -0,0 +1,156 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.diagram.extendedtypes.impl.PostActionConfigurationImpl;
+
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Apply Stereotype Action Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.ApplyStereotypeActionConfigurationImpl#getStereotypesToApply <em>Stereotypes To Apply</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ApplyStereotypeActionConfigurationImpl extends PostActionConfigurationImpl implements ApplyStereotypeActionConfiguration {
+ /**
+ * The cached value of the '{@link #getStereotypesToApply() <em>Stereotypes To Apply</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStereotypesToApply()
+ * @generated
+ * @ordered
+ */
+ protected EList<StereotypeToApply> stereotypesToApply;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ApplyStereotypeActionConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ApplyStereotypeActionConfigurationPackage.Literals.APPLY_STEREOTYPE_ACTION_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<StereotypeToApply> getStereotypesToApply() {
+ if (stereotypesToApply == null) {
+ stereotypesToApply = new EObjectContainmentEList<StereotypeToApply>(StereotypeToApply.class, this, ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY);
+ }
+ return stereotypesToApply;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY:
+ return ((InternalEList<?>)getStereotypesToApply()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY:
+ return getStereotypesToApply();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY:
+ getStereotypesToApply().clear();
+ getStereotypesToApply().addAll((Collection<? extends StereotypeToApply>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY:
+ getStereotypesToApply().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY:
+ return stereotypesToApply != null && !stereotypesToApply.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ApplyStereotypeActionConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationPackageImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationPackageImpl.java
new file mode 100644
index 00000000000..083b5fd2a2b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/ApplyStereotypeActionConfigurationPackageImpl.java
@@ -0,0 +1,250 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ApplyStereotypeActionConfigurationPackageImpl extends EPackageImpl implements ApplyStereotypeActionConfigurationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass applyStereotypeActionConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stereotypeToApplyEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ApplyStereotypeActionConfigurationPackageImpl() {
+ super(eNS_URI, ApplyStereotypeActionConfigurationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link ApplyStereotypeActionConfigurationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ApplyStereotypeActionConfigurationPackage init() {
+ if (isInited) return (ApplyStereotypeActionConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(ApplyStereotypeActionConfigurationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ ApplyStereotypeActionConfigurationPackageImpl theApplyStereotypeActionConfigurationPackage = (ApplyStereotypeActionConfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ApplyStereotypeActionConfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ApplyStereotypeActionConfigurationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ ExtendedtypesPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theApplyStereotypeActionConfigurationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theApplyStereotypeActionConfigurationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theApplyStereotypeActionConfigurationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ApplyStereotypeActionConfigurationPackage.eNS_URI, theApplyStereotypeActionConfigurationPackage);
+ return theApplyStereotypeActionConfigurationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getApplyStereotypeActionConfiguration() {
+ return applyStereotypeActionConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getApplyStereotypeActionConfiguration_StereotypesToApply() {
+ return (EReference)applyStereotypeActionConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStereotypeToApply() {
+ return stereotypeToApplyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStereotypeToApply_StereotypeQualifiedName() {
+ return (EAttribute)stereotypeToApplyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStereotypeToApply_UpdateName() {
+ return (EAttribute)stereotypeToApplyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStereotypeToApply_RequiredProfiles() {
+ return (EAttribute)stereotypeToApplyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApplyStereotypeActionConfigurationFactory getApplyStereotypeActionConfigurationFactory() {
+ return (ApplyStereotypeActionConfigurationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ applyStereotypeActionConfigurationEClass = createEClass(APPLY_STEREOTYPE_ACTION_CONFIGURATION);
+ createEReference(applyStereotypeActionConfigurationEClass, APPLY_STEREOTYPE_ACTION_CONFIGURATION__STEREOTYPES_TO_APPLY);
+
+ stereotypeToApplyEClass = createEClass(STEREOTYPE_TO_APPLY);
+ createEAttribute(stereotypeToApplyEClass, STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME);
+ createEAttribute(stereotypeToApplyEClass, STEREOTYPE_TO_APPLY__UPDATE_NAME);
+ createEAttribute(stereotypeToApplyEClass, STEREOTYPE_TO_APPLY__REQUIRED_PROFILES);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ ExtendedtypesPackage theExtendedtypesPackage = (ExtendedtypesPackage)EPackage.Registry.INSTANCE.getEPackage(ExtendedtypesPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ applyStereotypeActionConfigurationEClass.getESuperTypes().add(theExtendedtypesPackage.getPostActionConfiguration());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(applyStereotypeActionConfigurationEClass, ApplyStereotypeActionConfiguration.class, "ApplyStereotypeActionConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getApplyStereotypeActionConfiguration_StereotypesToApply(), this.getStereotypeToApply(), null, "stereotypesToApply", null, 0, -1, ApplyStereotypeActionConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(stereotypeToApplyEClass, StereotypeToApply.class, "StereotypeToApply", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getStereotypeToApply_StereotypeQualifiedName(), theUMLPackage.getString(), "stereotypeQualifiedName", null, 0, 1, StereotypeToApply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getStereotypeToApply_UpdateName(), theUMLPackage.getBoolean(), "updateName", null, 0, 1, StereotypeToApply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getStereotypeToApply_RequiredProfiles(), theEcorePackage.getEString(), "requiredProfiles", null, 1, -1, StereotypeToApply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //ApplyStereotypeActionConfigurationPackageImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/StereotypeToApplyImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/StereotypeToApplyImpl.java
new file mode 100644
index 00000000000..1b581888652
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/impl/StereotypeToApplyImpl.java
@@ -0,0 +1,261 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stereotype To Apply</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl#getStereotypeQualifiedName <em>Stereotype Qualified Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl#isUpdateName <em>Update Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.impl.StereotypeToApplyImpl#getRequiredProfiles <em>Required Profiles</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StereotypeToApplyImpl extends EObjectImpl implements StereotypeToApply {
+ /**
+ * The default value of the '{@link #getStereotypeQualifiedName() <em>Stereotype Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStereotypeQualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected static final String STEREOTYPE_QUALIFIED_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStereotypeQualifiedName() <em>Stereotype Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStereotypeQualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected String stereotypeQualifiedName = STEREOTYPE_QUALIFIED_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isUpdateName() <em>Update Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUpdateName()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean UPDATE_NAME_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isUpdateName() <em>Update Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUpdateName()
+ * @generated
+ * @ordered
+ */
+ protected boolean updateName = UPDATE_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRequiredProfiles() <em>Required Profiles</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRequiredProfiles()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> requiredProfiles;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypeToApplyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ApplyStereotypeActionConfigurationPackage.Literals.STEREOTYPE_TO_APPLY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStereotypeQualifiedName() {
+ return stereotypeQualifiedName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStereotypeQualifiedName(String newStereotypeQualifiedName) {
+ String oldStereotypeQualifiedName = stereotypeQualifiedName;
+ stereotypeQualifiedName = newStereotypeQualifiedName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME, oldStereotypeQualifiedName, stereotypeQualifiedName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUpdateName() {
+ return updateName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpdateName(boolean newUpdateName) {
+ boolean oldUpdateName = updateName;
+ updateName = newUpdateName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__UPDATE_NAME, oldUpdateName, updateName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getRequiredProfiles() {
+ if (requiredProfiles == null) {
+ requiredProfiles = new EDataTypeUniqueEList<String>(String.class, this, ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__REQUIRED_PROFILES);
+ }
+ return requiredProfiles;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME:
+ return getStereotypeQualifiedName();
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__UPDATE_NAME:
+ return isUpdateName();
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__REQUIRED_PROFILES:
+ return getRequiredProfiles();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME:
+ setStereotypeQualifiedName((String)newValue);
+ return;
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__UPDATE_NAME:
+ setUpdateName((Boolean)newValue);
+ return;
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__REQUIRED_PROFILES:
+ getRequiredProfiles().clear();
+ getRequiredProfiles().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME:
+ setStereotypeQualifiedName(STEREOTYPE_QUALIFIED_NAME_EDEFAULT);
+ return;
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__UPDATE_NAME:
+ setUpdateName(UPDATE_NAME_EDEFAULT);
+ return;
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__REQUIRED_PROFILES:
+ getRequiredProfiles().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__STEREOTYPE_QUALIFIED_NAME:
+ return STEREOTYPE_QUALIFIED_NAME_EDEFAULT == null ? stereotypeQualifiedName != null : !STEREOTYPE_QUALIFIED_NAME_EDEFAULT.equals(stereotypeQualifiedName);
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__UPDATE_NAME:
+ return updateName != UPDATE_NAME_EDEFAULT;
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY__REQUIRED_PROFILES:
+ return requiredProfiles != null && !requiredProfiles.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (stereotypeQualifiedName: ");
+ result.append(stereotypeQualifiedName);
+ result.append(", updateName: ");
+ result.append(updateName);
+ result.append(", requiredProfiles: ");
+ result.append(requiredProfiles);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StereotypeToApplyImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationAdapterFactory.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationAdapterFactory.java
new file mode 100644
index 00000000000..7d6b057fa0e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationAdapterFactory.java
@@ -0,0 +1,181 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration;
+
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage
+ * @generated
+ */
+public class ApplyStereotypeActionConfigurationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ApplyStereotypeActionConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApplyStereotypeActionConfigurationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ApplyStereotypeActionConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ApplyStereotypeActionConfigurationSwitch<Adapter> modelSwitch =
+ new ApplyStereotypeActionConfigurationSwitch<Adapter>() {
+ @Override
+ public Adapter caseApplyStereotypeActionConfiguration(ApplyStereotypeActionConfiguration object) {
+ return createApplyStereotypeActionConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseStereotypeToApply(StereotypeToApply object) {
+ return createStereotypeToApplyAdapter();
+ }
+ @Override
+ public Adapter caseActionConfiguration(ActionConfiguration object) {
+ return createActionConfigurationAdapter();
+ }
+ @Override
+ public Adapter casePostActionConfiguration(PostActionConfiguration object) {
+ return createPostActionConfigurationAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration <em>Apply Stereotype Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration
+ * @generated
+ */
+ public Adapter createApplyStereotypeActionConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply <em>Stereotype To Apply</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply
+ * @generated
+ */
+ public Adapter createStereotypeToApplyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration <em>Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration
+ * @generated
+ */
+ public Adapter createActionConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration <em>Post Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration
+ * @generated
+ */
+ public Adapter createPostActionConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //ApplyStereotypeActionConfigurationAdapterFactory
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceFactoryImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceFactoryImpl.java
new file mode 100644
index 00000000000..9ef9ecb25d7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceFactoryImpl.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.util.ApplyStereotypeActionConfigurationResourceImpl
+ * @generated
+ */
+public class ApplyStereotypeActionConfigurationResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApplyStereotypeActionConfigurationResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new ApplyStereotypeActionConfigurationResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //ApplyStereotypeActionConfigurationResourceFactoryImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceImpl.java
new file mode 100644
index 00000000000..d9d5151636a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationResourceImpl.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.util.ApplyStereotypeActionConfigurationResourceFactoryImpl
+ * @generated
+ */
+public class ApplyStereotypeActionConfigurationResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public ApplyStereotypeActionConfigurationResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //ApplyStereotypeActionConfigurationResourceImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationSwitch.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationSwitch.java
new file mode 100644
index 00000000000..dc1a95d49e1
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationSwitch.java
@@ -0,0 +1,186 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration;
+
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage
+ * @generated
+ */
+public class ApplyStereotypeActionConfigurationSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ApplyStereotypeActionConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApplyStereotypeActionConfigurationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ApplyStereotypeActionConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ApplyStereotypeActionConfigurationPackage.APPLY_STEREOTYPE_ACTION_CONFIGURATION: {
+ ApplyStereotypeActionConfiguration applyStereotypeActionConfiguration = (ApplyStereotypeActionConfiguration)theEObject;
+ T result = caseApplyStereotypeActionConfiguration(applyStereotypeActionConfiguration);
+ if (result == null) result = casePostActionConfiguration(applyStereotypeActionConfiguration);
+ if (result == null) result = caseActionConfiguration(applyStereotypeActionConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApplyStereotypeActionConfigurationPackage.STEREOTYPE_TO_APPLY: {
+ StereotypeToApply stereotypeToApply = (StereotypeToApply)theEObject;
+ T result = caseStereotypeToApply(stereotypeToApply);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Apply Stereotype Action Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Apply Stereotype Action Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseApplyStereotypeActionConfiguration(ApplyStereotypeActionConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Stereotype To Apply</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Stereotype To Apply</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStereotypeToApply(StereotypeToApply object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Action Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Action Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActionConfiguration(ActionConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Post Action Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Post Action Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePostActionConfiguration(PostActionConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //ApplyStereotypeActionConfigurationSwitch
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationXMLProcessor.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationXMLProcessor.java
new file mode 100644
index 00000000000..29e99fef2f0
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src-gen/org/eclipse/papyrus/diagram/extendedtypes/uml/applystereotypeactionconfiguration/util/ApplyStereotypeActionConfigurationXMLProcessor.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfigurationPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ApplyStereotypeActionConfigurationXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApplyStereotypeActionConfigurationXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ ApplyStereotypeActionConfigurationPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the ApplyStereotypeActionConfigurationResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new ApplyStereotypeActionConfigurationResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new ApplyStereotypeActionConfigurationResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //ApplyStereotypeActionConfigurationXMLProcessor
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src/org/eclipse/papyrus/diagram/extendedtypes/uml/providers/ApplyStereotypeActionProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src/org/eclipse/papyrus/diagram/extendedtypes/uml/providers/ApplyStereotypeActionProvider.java
new file mode 100644
index 00000000000..411afc2bf12
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes.uml/src/org/eclipse/papyrus/diagram/extendedtypes/uml/providers/ApplyStereotypeActionProvider.java
@@ -0,0 +1,252 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes.uml.providers;
+
+import java.util.List;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
+import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
+import org.eclipse.gmf.runtime.common.core.service.IOperation;
+import org.eclipse.gmf.runtime.emf.type.core.EditHelperContext;
+import org.eclipse.gmf.runtime.emf.type.core.IClientContext;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.AbstractEditCommandRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.providers.GetAllExtendedElementTypeActionProvidersOperation;
+import org.eclipse.papyrus.diagram.extendedtypes.providers.GetExtendedElementTypeActionProviderOperation;
+import org.eclipse.papyrus.diagram.extendedtypes.providers.IExtendedElementTypeActionProvider;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.Activator;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.ApplyStereotypeActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.uml.applystereotypeactionconfiguration.StereotypeToApply;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Stereotype;
+
+/**
+ * Provider for Action that applies stereotypes to an element on creation
+ */
+public class ApplyStereotypeActionProvider extends AbstractProvider implements IExtendedElementTypeActionProvider {
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean provides(IOperation operation) {
+ if(operation instanceof GetAllExtendedElementTypeActionProvidersOperation) {
+ return true;
+ }
+ if(operation instanceof GetExtendedElementTypeActionProviderOperation) {
+ return (((GetExtendedElementTypeActionProviderOperation)operation).getActionConfiguration() instanceof ApplyStereotypeActionConfiguration);
+ }
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public ICommand getICommand(List<? extends Object> elementsToEdit, ActionConfiguration configuration) {
+ // try to create the command that will apply the stereotypes
+ if(!(configuration instanceof ApplyStereotypeActionConfiguration)) {
+ Activator.INSTANCE.log("Trying to configure a stereotype action configuration with a configuration which is not a stereotype one: " + configuration);
+ return UnexecutableCommand.INSTANCE;
+ }
+
+ CompositeCommand compositeCommand = new CompositeCommand("Apply Stereotypes");
+ ApplyStereotypeActionConfiguration stereotypeActionConfiguration = (ApplyStereotypeActionConfiguration)configuration;
+
+ // for each object in the list of eobjects to edit, create the stereotype apply command
+ for(Object objectToEdit : elementsToEdit) {
+ if(objectToEdit instanceof Element) {
+ //1. retrieve the list of stereotypes
+ for(StereotypeToApply stereotypeToApply : stereotypeActionConfiguration.getStereotypesToApply()) {
+ String qualifiedName = stereotypeToApply.getStereotypeQualifiedName();
+
+ ICommand command = new ApplyStereotypeCommand((Element)objectToEdit, new ApplyStereotypeRequest(TransactionUtil.getEditingDomain(objectToEdit), (Element)objectToEdit, qualifiedName));
+ compositeCommand.add(command);
+ }
+ } else {
+ Activator.INSTANCE.log("Impossible to cast the element to edit into an Element, trying to apply a stereotype on it");
+ }
+ }
+ return compositeCommand;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public ICommand getBeforeCreateValidationCommand(List<? extends Object> elementsToEdit, ActionConfiguration configuration) {
+ // here, element to edit should be the parent of the created element on which the stereotype is applied.
+ ApplyStereotypeActionConfiguration stereotypeActionConfiguration = (ApplyStereotypeActionConfiguration)configuration;
+
+ for(Object objectToEdit : elementsToEdit) {
+ for(StereotypeToApply stereotypeToApply : stereotypeActionConfiguration.getStereotypesToApply()) {
+ // compare this list to accessible profiles from container.
+ if(objectToEdit instanceof Element) {
+ Element elementToEdit = ((Element)objectToEdit);
+ org.eclipse.uml2.uml.Package ownerPackage = elementToEdit.getNearestPackage();
+ if(ownerPackage == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+ for(String requiredProfileName : stereotypeToApply.getRequiredProfiles()) {
+ Profile profile = ownerPackage.getAppliedProfile(requiredProfileName, true);
+ if(profile == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+ }
+ }
+ }
+ }
+ // returns a null command, which means it is possible to apply the stereotype
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setConfiguration(IConfigurationElement element) {
+ // something to do here ?
+ }
+
+ /**
+ * Command to apply stereotypes and set stereotype application properties values
+ */
+ public class ApplyStereotypeCommand extends EditElementCommand {
+
+ /**
+ * Create a new {@link ApplyStereotypeCommand}.
+ *
+ * @param elementToEdit
+ * element to edit
+ * @param request
+ * the request used to modify the model
+ */
+ protected ApplyStereotypeCommand(Element elementToEdit, IEditCommandRequest request) {
+ super("Apply Stereotype Command", elementToEdit, request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ // retrieve the stereotype
+ Stereotype stereotypeToApply = getElementToEdit().getApplicableStereotype(getRequest().getStereotypeQualifiedName());
+ if(stereotypeToApply == null) {
+ return CommandResult.newErrorCommandResult("Impossible to find the stereotype " + getRequest().getStereotypeQualifiedName() + " for the element " + getElementToEdit());
+ }
+ EObject result = getElementToEdit().applyStereotype(stereotypeToApply);
+ if(result != null) {
+ return CommandResult.newOKCommandResult();
+ }
+ return CommandResult.newErrorCommandResult("Impossible to apply the stereotype " + stereotypeToApply + " for the element " + getElementToEdit());
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean canExecute() {
+ // check the stereotype is present and can be applied
+ Stereotype stereotypeToApply = getElementToEdit().getApplicableStereotype(getRequest().getStereotypeQualifiedName());
+ if(stereotypeToApply == null) {
+ return false;
+ }
+ return super.canExecute();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected Element getElementToEdit() {
+ return (Element)super.getElementToEdit();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ApplyStereotypeRequest getRequest() {
+ return (ApplyStereotypeRequest)super.getRequest();
+ }
+ }
+
+ /**
+ * Request to apply stereotype on an element
+ */
+ public class ApplyStereotypeRequest extends AbstractEditCommandRequest {
+
+ /** element to edit */
+ private final Element elementToEdit;
+
+ /** stererotype qualified name */
+ private final String stereotypeQualifiedName;
+
+ /**
+ * Constructor.
+ *
+ * @param editingDomain
+ * editing domain in which the command will be executed
+ * @param elementToEdit
+ * element on which the stereotype should be applied
+ * @param stereotypeQualifiedName
+ * qualified name of the stereotype to apply
+ */
+ protected ApplyStereotypeRequest(TransactionalEditingDomain editingDomain, Element elementToEdit, String stereotypeQualifiedName) {
+ super(editingDomain);
+ this.elementToEdit = elementToEdit;
+ this.stereotypeQualifiedName = stereotypeQualifiedName;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object getEditHelperContext() {
+ IClientContext context = getClientContext();
+
+ if(context == null) {
+ return getElementToEdit();
+ } else {
+ return new EditHelperContext(getElementToEdit(), context);
+ }
+ }
+
+ /**
+ * Returns the element to edit
+ *
+ * @return the element to edit
+ */
+ public Element getElementToEdit() {
+ return elementToEdit;
+ }
+
+ /**
+ * Returns the qualified name of the stereotype to apply
+ *
+ * @return the qualified name of the stereotype to apply
+ */
+ public String getStereotypeQualifiedName() {
+ return stereotypeQualifiedName;
+ }
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/.classpath b/incoming/org.eclipse.papyrus.diagram.extendedtypes/.classpath
new file mode 100644
index 00000000000..afb9bb46ef3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/.project b/incoming/org.eclipse.papyrus.diagram.extendedtypes/.project
new file mode 100644
index 00000000000..3d93b75144c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.diagram.extendedtypes</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/.settings/org.eclipse.core.resources.prefs b/incoming/org.eclipse.papyrus.diagram.extendedtypes/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..b9eceea0c66
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+#Thu Mar 24 15:06:10 CET 2011
+eclipse.preferences.version=1
+encoding//model/ExtendedTypes.ecore=UTF-8
+encoding//model/ExtendedTypes.ecorediag=UTF-8
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/.settings/org.eclipse.jdt.core.prefs b/incoming/org.eclipse.papyrus.diagram.extendedtypes/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..766011d2106
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Mon Oct 25 12:30:47 CEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.diagram.extendedtypes/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..942618f0e18
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/META-INF/MANIFEST.MF
@@ -0,0 +1,28 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.diagram.extendedtypes;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.diagram.extendedtypes,
+ org.eclipse.papyrus.diagram.extendedtypes.advices,
+ org.eclipse.papyrus.diagram.extendedtypes.impl,
+ org.eclipse.papyrus.diagram.extendedtypes.providers,
+ org.eclipse.papyrus.diagram.extendedtypes.types,
+ org.eclipse.papyrus.diagram.extendedtypes.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.papyrus.core.queries.configuration;bundle-version="0.8.0";visibility:=reexport,
+ org.eclipse.emf.facet.infra.query;visibility:=reexport,
+ org.eclipse.uml2.uml;visibility:=reexport,
+ org.eclipse.ui,
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0";visibility:=reexport,
+ org.eclipse.papyrus.log;bundle-version="0.8.0",
+ org.eclipse.papyrus.core.queries;bundle-version="0.8.0",
+ org.eclipse.gmf.runtime.common.ui.services;bundle-version="1.3.0"
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.papyrus.diagram.extendedtypes.Activator
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/about.html b/incoming/org.eclipse.papyrus.diagram.extendedtypes/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/build.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes/build.properties
new file mode 100644
index 00000000000..9116478ae4e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/build.properties
@@ -0,0 +1,19 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ schema/,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/,\
+ src/
+output.. = bin/
+src.includes = schema/,\
+ model/
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.ecore b/incoming/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.ecore
new file mode 100644
index 00000000000..0d378b102c4
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.ecore
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="extendedtypes"
+ nsURI="http://www.eclipse.org/papyrus/diagram/types/extendedtypes/0.7" nsPrefix="extendedtypes">
+ <eClassifiers xsi:type="ecore:EClass" name="ExtendedElementTypeSet">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elementType" lowerBound="1"
+ upperBound="-1" eType="#//ExtendedElementTypeConfiguration" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExtendedElementTypeConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="iconEntry" eType="#//IconEntry"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="hint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="ExtendedElements"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kindName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="org.eclipse.gmf.runtime.emf.type.core.IHintedType"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="specializedTypesID" lowerBound="1"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preValidation" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecore#//QueryConfiguration"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preAction" upperBound="-1"
+ eType="#//PreActionConfiguration" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postAction" upperBound="-1"
+ eType="#//PostActionConfiguration" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IconEntry">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="iconPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="bundleId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ActionConfiguration" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PreActionConfiguration" abstract="true"
+ eSuperTypes="#//ActionConfiguration"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PostActionConfiguration" abstract="true"
+ eSuperTypes="#//ActionConfiguration"/>
+</ecore:EPackage>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.ecorediag b/incoming/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.ecorediag
new file mode 100644
index 00000000000..85362833dfc
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.ecorediag
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_pHTPAOAjEd-0CYOJPs0ewQ" type="EcoreTools" name="ExtendedTypes" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_AtZG0OA1Ed-0CYOJPs0ewQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ati30OA1Ed-0CYOJPs0ewQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Ati30eA1Ed-0CYOJPs0ewQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_BpbJ4OA4Ed-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeSet/id"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_BpbJ4eA4Ed-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ati30uA1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ati30-A1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ati31OA1Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ati31eA1Ed-0CYOJPs0ewQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ati31uA1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ati31-A1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ati32OA1Ed-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_AtZG0eA1Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ExtendedElementTypeSet"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtZG0uA1Ed-0CYOJPs0ewQ" x="95" y="55" width="286" height="178"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_D22yIOA1Ed-0CYOJPs0ewQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_D22yI-A1Ed-0CYOJPs0ewQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_D22yJOA1Ed-0CYOJPs0ewQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_hiuTMOA3Ed-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hiuTMeA3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_bv8RsOA2Ed-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/id"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bv8RseA2Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_yKWz0OA3Ed-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/kindName"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_yKWz0eA3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_qw89UOA3Ed-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/hint"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qw89UeA3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_4DzTcOA3Ed-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/specializedTypesID"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4DzTceA3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_D22yJeA1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_D22yJuA1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_D22yJ-A1Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_D22yKOA1Ed-0CYOJPs0ewQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_D22yKeA1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_D22yKuA1Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_D22yK-A1Ed-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_D22yIeA1Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D22yIuA1Ed-0CYOJPs0ewQ" x="580" y="55" width="263" height="578"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_RFg54OA3Ed-0CYOJPs0ewQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_RFg54-A3Ed-0CYOJPs0ewQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_RFg55OA3Ed-0CYOJPs0ewQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_U2KhAOA3Ed-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//IconEntry/iconPath"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_U2KhAeA3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_TW8xAOA3Ed-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//IconEntry/bundleId"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TW8xAeA3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_RFg55eA3Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RFg55uA3Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RFg55-A3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_RFg56OA3Ed-0CYOJPs0ewQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_RFg56eA3Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RFg56uA3Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RFg56-A3Ed-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_RFg54eA3Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//IconEntry"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RFg54uA3Ed-0CYOJPs0ewQ" x="980" y="55" width="208" height="83"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_W1kXgOA4Ed-0CYOJPs0ewQ" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W3DlQOA4Ed-0CYOJPs0ewQ" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W3DlQeA4Ed-0CYOJPs0ewQ" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_W1kXg-A4Ed-0CYOJPs0ewQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_W1kXhOA4Ed-0CYOJPs0ewQ" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_W1kXheA4Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_W1kXhuA4Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_W1kXh-A4Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_W1kXiOA4Ed-0CYOJPs0ewQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_W1kXieA4Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_W1kXiuA4Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_W1kXi-A4Ed-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_W1kXgeA4Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecore#//QueryConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W1kXguA4Ed-0CYOJPs0ewQ" x="985" y="155" width="205"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_enajMOA4Ed-0CYOJPs0ewQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_enjtIOA4Ed-0CYOJPs0ewQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_enjtIeA4Ed-0CYOJPs0ewQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_uzjsUONGEd-BL-3v69vIsw" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ActionConfiguration/label"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uzjsUeNGEd-BL-3v69vIsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_s0TKUONGEd-BL-3v69vIsw" type="2001">
+ <element xmi:type="ecore:EAttribute" href="ExtendedTypes.ecore#//ActionConfiguration/id"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_s0TKUeNGEd-BL-3v69vIsw"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_enjtIuA4Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_enjtI-A4Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_enjtJOA4Ed-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_enjtJeA4Ed-0CYOJPs0ewQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_enjtJuA4Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_enjtJ-A4Ed-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_enjtKOA4Ed-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_enajMeA4Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//ActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_enajMuA4Ed-0CYOJPs0ewQ" x="985" y="250" width="201" height="101"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NZHV0ONGEd-BL-3v69vIsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_NZHV0-NGEd-BL-3v69vIsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_NZHV1ONGEd-BL-3v69vIsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_NZHV1eNGEd-BL-3v69vIsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NZHV1uNGEd-BL-3v69vIsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NZHV1-NGEd-BL-3v69vIsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NZHV2ONGEd-BL-3v69vIsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_NZHV2eNGEd-BL-3v69vIsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NZHV2uNGEd-BL-3v69vIsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NZHV2-NGEd-BL-3v69vIsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_NZHV0eNGEd-BL-3v69vIsw" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//PreActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NZHV0uNGEd-BL-3v69vIsw" x="885" y="410"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_RVsgIONGEd-BL-3v69vIsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_RVsgI-NGEd-BL-3v69vIsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_RVsgJONGEd-BL-3v69vIsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_RVsgJeNGEd-BL-3v69vIsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RVsgJuNGEd-BL-3v69vIsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RVsgJ-NGEd-BL-3v69vIsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_RVsgKONGEd-BL-3v69vIsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_RVsgKeNGEd-BL-3v69vIsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RVsgKuNGEd-BL-3v69vIsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RVsgK-NGEd-BL-3v69vIsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_RVsgIeNGEd-BL-3v69vIsw" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="ExtendedTypes.ecore#//PostActionConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RVsgIuNGEd-BL-3v69vIsw" x="1065" y="410" height="148"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_pHTPAeAjEd-0CYOJPs0ewQ"/>
+ <element xmi:type="ecore:EPackage" href="ExtendedTypes.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_GOjCQOA1Ed-0CYOJPs0ewQ" type="3002" source="_AtZG0OA1Ed-0CYOJPs0ewQ" target="_D22yIOA1Ed-0CYOJPs0ewQ">
+ <children xmi:type="notation:Node" xmi:id="_GOjCROA1Ed-0CYOJPs0ewQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GOjCReA1Ed-0CYOJPs0ewQ" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GOjCRuA1Ed-0CYOJPs0ewQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GOjCR-A1Ed-0CYOJPs0ewQ" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_GOjCQeA1Ed-0CYOJPs0ewQ" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GOjCQuA1Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ExtendedTypes.ecore#//ExtendedElementTypeSet/elementType"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GOjCQ-A1Ed-0CYOJPs0ewQ" points="[142, -7, -321, 17]$[343, -9, -120, 15]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaUoAOA1Ed-0CYOJPs0ewQ" id="(0.9370629370629371,0.5112359550561798)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_al4SUOA2Ed-0CYOJPs0ewQ" id="(0.030418250950570342,0.15570934256055363)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Y42TUOA3Ed-0CYOJPs0ewQ" type="3002" source="_D22yIOA1Ed-0CYOJPs0ewQ" target="_RFg54OA3Ed-0CYOJPs0ewQ">
+ <children xmi:type="notation:Node" xmi:id="_Y5AEUOA3Ed-0CYOJPs0ewQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Y5AEUeA3Ed-0CYOJPs0ewQ" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Y5AEUuA3Ed-0CYOJPs0ewQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Y5AEU-A3Ed-0CYOJPs0ewQ" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Y42TUeA3Ed-0CYOJPs0ewQ" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Y42TUuA3Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/iconEntry"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y42TU-A3Ed-0CYOJPs0ewQ" points="[42, 1, -207, 5]$[317, 23, 68, 27]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y5AEVOA3Ed-0CYOJPs0ewQ" id="(0.9391634980988594,0.07093425605536333)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_gEPtkOA4Ed-0CYOJPs0ewQ" type="3002" source="_D22yIOA1Ed-0CYOJPs0ewQ" target="_NZHV0ONGEd-BL-3v69vIsw">
+ <children xmi:type="notation:Node" xmi:id="_gEPtlOA4Ed-0CYOJPs0ewQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_gEPtleA4Ed-0CYOJPs0ewQ" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_gEPtluA4Ed-0CYOJPs0ewQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_gEPtl-A4Ed-0CYOJPs0ewQ" x="-7" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_gEPtkeA4Ed-0CYOJPs0ewQ" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_gEPtkuA4Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/preAction"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gEPtk-A4Ed-0CYOJPs0ewQ" points="[35, 3, -157, 1]$[193, -13, 1, -15]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gEPtmOA4Ed-0CYOJPs0ewQ" id="(0.9885931558935361,0.6262975778546713)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gEPtmeA4Ed-0CYOJPs0ewQ" id="(0.22077922077922077,0.09523809523809523)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_iKNUgOA4Ed-0CYOJPs0ewQ" type="3002" source="_D22yIOA1Ed-0CYOJPs0ewQ" target="_RVsgIONGEd-BL-3v69vIsw">
+ <children xmi:type="notation:Node" xmi:id="_iKNUhOA4Ed-0CYOJPs0ewQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_iKNUheA4Ed-0CYOJPs0ewQ" x="-1" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_iKNUhuA4Ed-0CYOJPs0ewQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_iKNUh-A4Ed-0CYOJPs0ewQ" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_iKNUgeA4Ed-0CYOJPs0ewQ" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_iKNUguA4Ed-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/postAction"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iKNUg-A4Ed-0CYOJPs0ewQ" points="[21, 0, -172, 2]$[194, 22, 1, 24]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iKNUiOA4Ed-0CYOJPs0ewQ" id="(0.9695817490494296,0.740484429065744)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iKNUieA4Ed-0CYOJPs0ewQ" id="(0.09433962264150944,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_vzh0cOA5Ed-0CYOJPs0ewQ" type="3003" source="_NZHV0ONGEd-BL-3v69vIsw" target="_enajMOA4Ed-0CYOJPs0ewQ">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_vzh0ceA5Ed-0CYOJPs0ewQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_vzh0cuA5Ed-0CYOJPs0ewQ"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vzh0c-A5Ed-0CYOJPs0ewQ" points="[1, -6, -44, 116]$[1, -31, -44, 91]$[101, -31, 56, 91]$[101, -67, 56, 55]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TQeKwONGEd-BL-3v69vIsw" id="(0.5526315789473685,0.16666666666666666)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uWCa8P4CEd-9VfrUWBt1SA" id="(0.14925373134328357,0.44554455445544555)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_4a3dsOA5Ed-0CYOJPs0ewQ" type="3003" source="_RVsgIONGEd-BL-3v69vIsw" target="_enajMOA4Ed-0CYOJPs0ewQ">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_4a3dseA5Ed-0CYOJPs0ewQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4a3dsuA5Ed-0CYOJPs0ewQ"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4a3ds-A5Ed-0CYOJPs0ewQ" points="[12, -17, 66, 111]$[12, -42, 66, 86]$[-68, -42, -14, 86]$[-68, -78, -14, 50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4a3dtOA5Ed-0CYOJPs0ewQ" id="(0.46496815286624205,0.11904761904761904)"/>
+ </edges>
+</notation:Diagram>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.genmodel b/incoming/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.genmodel
new file mode 100644
index 00000000000..140859fef2a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/model/ExtendedTypes.genmodel
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.diagram.extendedtypes/src-gen"
+ editDirectory="/org.eclipse.papyrus.diagram.extendedtypes.edit/src-gen" editorDirectory="/org.eclipse.papyrus.diagram.extendedtypes.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.diagram.extendedtypes" modelName="ExtendedTypes"
+ testsDirectory="/org.eclipse.papyrus.diagram.extendedtypes.tests/src-gen" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="5.0" copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.papyrus.core.queries.configuration/model/Configuration.genmodel#//configuration platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.genmodel#//query platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
+ <foreignModel>ExtendedTypes.ecore</foreignModel>
+ <genPackages prefix="Extendedtypes" basePackage="org.eclipse.papyrus.diagram" resource="XML"
+ disposableProviderFactory="true" ecorePackage="ExtendedTypes.ecore#/">
+ <genClasses ecoreClass="ExtendedTypes.ecore#//ExtendedElementTypeSet">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ExtendedElementTypeSet/elementType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeSet/id"/>
+ </genClasses>
+ <genClasses ecoreClass="ExtendedTypes.ecore#//ExtendedElementTypeConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/id"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/iconEntry"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/hint"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/kindName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/specializedTypesID"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/preValidation"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/preAction"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ExtendedTypes.ecore#//ExtendedElementTypeConfiguration/postAction"/>
+ </genClasses>
+ <genClasses ecoreClass="ExtendedTypes.ecore#//IconEntry">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//IconEntry/iconPath"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//IconEntry/bundleId"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//ActionConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ActionConfiguration/label"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ExtendedTypes.ecore#//ActionConfiguration/id"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//PreActionConfiguration"/>
+ <genClasses image="false" ecoreClass="ExtendedTypes.ecore#//PostActionConfiguration"/>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/plugin.properties b/incoming/org.eclipse.papyrus.diagram.extendedtypes/plugin.properties
new file mode 100644
index 00000000000..fbd39d52f40
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2010 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - initial API and implementation
+###############################################################################
+pluginName=Papyrus enhanced types metamodel plugin (Incubation)
+providerName=Eclipse Modeling Project
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/plugin.xml b/incoming/org.eclipse.papyrus.diagram.extendedtypes/plugin.xml
new file mode 100644
index 00000000000..696b0b75aeb
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/plugin.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+ <extension-point id="extendedTypesSetConfiguration" name="Configuration for registering Extended Element Types Sets" schema="schema/extendedTypesSetConfiguration.exsd"/>
+ <extension-point id="extendedElementTypeActionProvider" name="Extended Element Type Action Provider" schema="schema/extendedElementTypeActionProvider.exsd"/>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/papyrus/diagram/types/extendedtypes/0.7"
+ class="org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage"
+ genModel="model/ExtendedTypes.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="extendedtypes"
+ class="org.eclipse.papyrus.diagram.extendedtypes.util.ExtendedtypesResourceFactoryImpl"/>
+ </extension>
+ <extension
+ point="org.eclipse.gmf.runtime.emf.type.core.elementTypes">
+ <metamodel
+ nsURI="http://www.eclipse.org/uml2/3.0.0/UML">
+ <adviceBinding
+ class="org.eclipse.papyrus.diagram.extendedtypes.advices.ExtendedTypesOwnerAdvice"
+ id="org.eclipse.papyrus.uml.advice.ExtendedTypesOwnerAdvice"
+ inheritance="all"
+ typeId="org.eclipse.papyrus.uml.Element">
+ </adviceBinding>
+ </metamodel>
+ </extension>
+ <extension
+ point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings">
+ <binding
+ context="org.eclipse.papyrus.service.edit.TypeContext">
+ <elementType
+ pattern="org\.eclipse\.papyrus\.uml\..*">
+ </elementType>
+ <advice
+ ref="org.eclipse.papyrus.uml.advice.ExtendedTypesOwnerAdvice">
+ </advice>
+ </binding>
+ </extension>
+</plugin>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/schema/extendedElementTypeActionProvider.exsd b/incoming/org.eclipse.papyrus.diagram.extendedtypes/schema/extendedElementTypeActionProvider.exsd
new file mode 100644
index 00000000000..414b82b2aed
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/schema/extendedElementTypeActionProvider.exsd
@@ -0,0 +1,198 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.diagram.extendedtypes" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.papyrus.diagram.extendedtypes" id="extendedElementTypeActionProvider" name="Extended ElementType Action Provider"/>
+ </appInfo>
+ <documentation>
+ This extension point provides the mechanism to add providers that create aspect actions on extended element types
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="extendedElementTypeActionProvider"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="extendedElementTypeActionProvider">
+ <complexType>
+ <sequence>
+ <element ref="Priority"/>
+ </sequence>
+ <attribute name="name" type="string" use="required">
+ <annotation>
+ <documentation>
+ name of this provider, used for example in menus
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ unique identifier for this provider
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="description" type="string">
+ <annotation>
+ <documentation>
+ description of the behavior of this provider
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="icon" type="string">
+ <annotation>
+ <documentation>
+ Icon used when displaying this factory
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="resource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+ This is the class that implements the provider.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.diagram.extendedtypes.providers.IExtendedElementTypeActionProvider"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="configurationClass" type="string" use="required">
+ <annotation>
+ <documentation>
+ Class that describes the action configuration
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="Priority">
+ <annotation>
+ <documentation>
+ The description for the priority of the palette provider
+ </documentation>
+ </annotation>
+ <complexType>
+ <attribute name="name" use="required">
+ <annotation>
+ <documentation>
+ The priority of the provider. It can be one of the following values:
+[Lowest, Low, Medium, High, Highest]. Consideration of dependencies has to be done when choosing the priority. A provider that adds contributions to paths (menus | groups) contributed by other providers has to have a higher priority than them. Similarly, a provider that contributes palette entries that have been predefined by other providers has to have a higher priority than them.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="Lowest">
+ </enumeration>
+ <enumeration value="Low">
+ </enumeration>
+ <enumeration value="Medium">
+ </enumeration>
+ <enumeration value="High">
+ </enumeration>
+ <enumeration value="Highest">
+ </enumeration>
+ </restriction>
+ </simpleType>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ 0.7.1
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ See this plugin for some examples
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiinfo"/>
+ </appInfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ /*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+ </documentation>
+ </annotation>
+
+</schema>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/schema/extendedTypesSetConfiguration.exsd b/incoming/org.eclipse.papyrus.diagram.extendedtypes/schema/extendedTypesSetConfiguration.exsd
new file mode 100644
index 00000000000..d5fbf04cc60
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/schema/extendedTypesSetConfiguration.exsd
@@ -0,0 +1,123 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.diagram.extendedtypes" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.papyrus.diagram.extendedtypes" id="extendedTypesSetConfiguration" name="extendedTypesSetConfiguration"/>
+ </appInfo>
+ <documentation>
+ This extension point is used to registered new extended element types for creation of semantic elements with specific post/pre actions and validation.
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="configuration"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="configuration">
+ <annotation>
+ <documentation>
+ define a new configuration for an extended element type set
+ </documentation>
+ </annotation>
+ <complexType>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+ Name of this model file, used in user interface
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="icon" type="string">
+ <annotation>
+ <documentation>
+ Path to an icon, used in user interface
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="resource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="description" type="string">
+ <annotation>
+ <documentation>
+ Description of the configuration
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="path" type="string" use="required">
+ <annotation>
+ <documentation>
+ Path to the model file in the bundle.
+
+Note: Do not forget to add the file in the binary build of the plugin!
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="resource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ 0.7.1
+ </documentation>
+ </annotation>
+
+
+
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2010 CEA LIST
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License
+v1.0 which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+Contributors:
+CEA LIST - initial API and implementation
+ </documentation>
+ </annotation>
+
+</schema>
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ActionConfiguration.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ActionConfiguration.java
new file mode 100644
index 00000000000..6623ef5d8a7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ActionConfiguration.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Action Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getActionConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ActionConfiguration extends EObject {
+ /**
+ * Returns the value of the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Label</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Label</em>' attribute.
+ * @see #setLabel(String)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getActionConfiguration_Label()
+ * @model
+ * @generated
+ */
+ String getLabel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration#getLabel <em>Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Label</em>' attribute.
+ * @see #getLabel()
+ * @generated
+ */
+ void setLabel(String value);
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getActionConfiguration_Id()
+ * @model required="true"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+} // ActionConfiguration
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedElementTypeConfiguration.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedElementTypeConfiguration.java
new file mode 100644
index 00000000000..931f9d19b4f
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedElementTypeConfiguration.java
@@ -0,0 +1,236 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.core.queries.configuration.QueryConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extended Element Type Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getIconEntry <em>Icon Entry</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getHint <em>Hint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getKindName <em>Kind Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getSpecializedTypesID <em>Specialized Types ID</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getPreValidation <em>Pre Validation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getPreAction <em>Pre Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getPostAction <em>Post Action</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration()
+ * @model
+ * @generated
+ */
+public interface ExtendedElementTypeConfiguration extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_Id()
+ * @model required="true"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Icon Entry</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Icon Entry</em>' containment reference.
+ * @see #setIconEntry(IconEntry)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_IconEntry()
+ * @model containment="true"
+ * @generated
+ */
+ IconEntry getIconEntry();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getIconEntry <em>Icon Entry</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Icon Entry</em>' containment reference.
+ * @see #getIconEntry()
+ * @generated
+ */
+ void setIconEntry(IconEntry value);
+
+ /**
+ * Returns the value of the '<em><b>Hint</b></em>' attribute.
+ * The default value is <code>"ExtendedElements"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hint</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Hint</em>' attribute.
+ * @see #setHint(String)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_Hint()
+ * @model default="ExtendedElements"
+ * @generated
+ */
+ String getHint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getHint <em>Hint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Hint</em>' attribute.
+ * @see #getHint()
+ * @generated
+ */
+ void setHint(String value);
+
+ /**
+ * Returns the value of the '<em><b>Kind Name</b></em>' attribute.
+ * The default value is <code>"org.eclipse.gmf.runtime.emf.type.core.IHintedType"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Kind Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Kind Name</em>' attribute.
+ * @see #setKindName(String)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_KindName()
+ * @model default="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
+ * @generated
+ */
+ String getKindName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getKindName <em>Kind Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Kind Name</em>' attribute.
+ * @see #getKindName()
+ * @generated
+ */
+ void setKindName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Specialized Types ID</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Specialized Types ID</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Specialized Types ID</em>' attribute list.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_SpecializedTypesID()
+ * @model required="true"
+ * @generated
+ */
+ EList<String> getSpecializedTypesID();
+
+ /**
+ * Returns the value of the '<em><b>Pre Validation</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.core.queries.configuration.QueryConfiguration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Validation</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pre Validation</em>' reference list.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_PreValidation()
+ * @model
+ * @generated
+ */
+ EList<QueryConfiguration> getPreValidation();
+
+ /**
+ * Returns the value of the '<em><b>Pre Action</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.diagram.extendedtypes.PreActionConfiguration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Action</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pre Action</em>' containment reference list.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_PreAction()
+ * @model containment="true"
+ * @generated
+ */
+ EList<PreActionConfiguration> getPreAction();
+
+ /**
+ * Returns the value of the '<em><b>Post Action</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Action</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Post Action</em>' containment reference list.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeConfiguration_PostAction()
+ * @model containment="true"
+ * @generated
+ */
+ EList<PostActionConfiguration> getPostAction();
+
+} // ExtendedElementTypeConfiguration
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedElementTypeSet.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedElementTypeSet.java
new file mode 100644
index 00000000000..e9527c65ef5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedElementTypeSet.java
@@ -0,0 +1,73 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extended Element Type Set</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet#getElementType <em>Element Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeSet()
+ * @model
+ * @generated
+ */
+public interface ExtendedElementTypeSet extends EObject {
+ /**
+ * Returns the value of the '<em><b>Element Type</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element Type</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element Type</em>' containment reference list.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeSet_ElementType()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<ExtendedElementTypeConfiguration> getElementType();
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getExtendedElementTypeSet_Id()
+ * @model required="true"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+} // ExtendedElementTypeSet
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedtypesFactory.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedtypesFactory.java
new file mode 100644
index 00000000000..7212a810821
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedtypesFactory.java
@@ -0,0 +1,64 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage
+ * @generated
+ */
+public interface ExtendedtypesFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ExtendedtypesFactory eINSTANCE = org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Extended Element Type Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Extended Element Type Set</em>'.
+ * @generated
+ */
+ ExtendedElementTypeSet createExtendedElementTypeSet();
+
+ /**
+ * Returns a new object of class '<em>Extended Element Type Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Extended Element Type Configuration</em>'.
+ * @generated
+ */
+ ExtendedElementTypeConfiguration createExtendedElementTypeConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Icon Entry</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Icon Entry</em>'.
+ * @generated
+ */
+ IconEntry createIconEntry();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ExtendedtypesPackage getExtendedtypesPackage();
+
+} //ExtendedtypesFactory
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedtypesPackage.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedtypesPackage.java
new file mode 100644
index 00000000000..95e4bd0d5c5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/ExtendedtypesPackage.java
@@ -0,0 +1,777 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ExtendedtypesPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "extendedtypes";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/diagram/types/extendedtypes/0.7";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "extendedtypes";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ExtendedtypesPackage eINSTANCE = org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeSetImpl <em>Extended Element Type Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeSetImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesPackageImpl#getExtendedElementTypeSet()
+ * @generated
+ */
+ int EXTENDED_ELEMENT_TYPE_SET = 0;
+
+ /**
+ * The feature id for the '<em><b>Element Type</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_SET__ID = 1;
+
+ /**
+ * The number of structural features of the '<em>Extended Element Type Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_SET_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeConfigurationImpl <em>Extended Element Type Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesPackageImpl#getExtendedElementTypeConfiguration()
+ * @generated
+ */
+ int EXTENDED_ELEMENT_TYPE_CONFIGURATION = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID = 1;
+
+ /**
+ * The feature id for the '<em><b>Icon Entry</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY = 2;
+
+ /**
+ * The feature id for the '<em><b>Hint</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT = 3;
+
+ /**
+ * The feature id for the '<em><b>Kind Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME = 4;
+
+ /**
+ * The feature id for the '<em><b>Specialized Types ID</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID = 5;
+
+ /**
+ * The feature id for the '<em><b>Pre Validation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION = 6;
+
+ /**
+ * The feature id for the '<em><b>Pre Action</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION = 7;
+
+ /**
+ * The feature id for the '<em><b>Post Action</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION = 8;
+
+ /**
+ * The number of structural features of the '<em>Extended Element Type Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_ELEMENT_TYPE_CONFIGURATION_FEATURE_COUNT = 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.impl.IconEntryImpl <em>Icon Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.IconEntryImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesPackageImpl#getIconEntry()
+ * @generated
+ */
+ int ICON_ENTRY = 2;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ICON_ENTRY__ICON_PATH = 0;
+
+ /**
+ * The feature id for the '<em><b>Bundle Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ICON_ENTRY__BUNDLE_ID = 1;
+
+ /**
+ * The number of structural features of the '<em>Icon Entry</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ICON_ENTRY_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ActionConfigurationImpl <em>Action Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ActionConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesPackageImpl#getActionConfiguration()
+ * @generated
+ */
+ int ACTION_CONFIGURATION = 3;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTION_CONFIGURATION__LABEL = 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTION_CONFIGURATION__ID = 1;
+
+ /**
+ * The number of structural features of the '<em>Action Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTION_CONFIGURATION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.impl.PreActionConfigurationImpl <em>Pre Action Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.PreActionConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesPackageImpl#getPreActionConfiguration()
+ * @generated
+ */
+ int PRE_ACTION_CONFIGURATION = 4;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRE_ACTION_CONFIGURATION__LABEL = ACTION_CONFIGURATION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRE_ACTION_CONFIGURATION__ID = ACTION_CONFIGURATION__ID;
+
+ /**
+ * The number of structural features of the '<em>Pre Action Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRE_ACTION_CONFIGURATION_FEATURE_COUNT = ACTION_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.extendedtypes.impl.PostActionConfigurationImpl <em>Post Action Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.PostActionConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesPackageImpl#getPostActionConfiguration()
+ * @generated
+ */
+ int POST_ACTION_CONFIGURATION = 5;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POST_ACTION_CONFIGURATION__LABEL = ACTION_CONFIGURATION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POST_ACTION_CONFIGURATION__ID = ACTION_CONFIGURATION__ID;
+
+ /**
+ * The number of structural features of the '<em>Post Action Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POST_ACTION_CONFIGURATION_FEATURE_COUNT = ACTION_CONFIGURATION_FEATURE_COUNT + 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet <em>Extended Element Type Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Extended Element Type Set</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet
+ * @generated
+ */
+ EClass getExtendedElementTypeSet();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet#getElementType <em>Element Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Element Type</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet#getElementType()
+ * @see #getExtendedElementTypeSet()
+ * @generated
+ */
+ EReference getExtendedElementTypeSet_ElementType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet#getId()
+ * @see #getExtendedElementTypeSet()
+ * @generated
+ */
+ EAttribute getExtendedElementTypeSet_Id();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration <em>Extended Element Type Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Extended Element Type Configuration</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration
+ * @generated
+ */
+ EClass getExtendedElementTypeConfiguration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getName()
+ * @see #getExtendedElementTypeConfiguration()
+ * @generated
+ */
+ EAttribute getExtendedElementTypeConfiguration_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getId()
+ * @see #getExtendedElementTypeConfiguration()
+ * @generated
+ */
+ EAttribute getExtendedElementTypeConfiguration_Id();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getIconEntry <em>Icon Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Icon Entry</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getIconEntry()
+ * @see #getExtendedElementTypeConfiguration()
+ * @generated
+ */
+ EReference getExtendedElementTypeConfiguration_IconEntry();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getHint <em>Hint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Hint</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getHint()
+ * @see #getExtendedElementTypeConfiguration()
+ * @generated
+ */
+ EAttribute getExtendedElementTypeConfiguration_Hint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getKindName <em>Kind Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind Name</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getKindName()
+ * @see #getExtendedElementTypeConfiguration()
+ * @generated
+ */
+ EAttribute getExtendedElementTypeConfiguration_KindName();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getSpecializedTypesID <em>Specialized Types ID</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Specialized Types ID</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getSpecializedTypesID()
+ * @see #getExtendedElementTypeConfiguration()
+ * @generated
+ */
+ EAttribute getExtendedElementTypeConfiguration_SpecializedTypesID();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getPreValidation <em>Pre Validation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Pre Validation</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getPreValidation()
+ * @see #getExtendedElementTypeConfiguration()
+ * @generated
+ */
+ EReference getExtendedElementTypeConfiguration_PreValidation();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getPreAction <em>Pre Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Pre Action</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getPreAction()
+ * @see #getExtendedElementTypeConfiguration()
+ * @generated
+ */
+ EReference getExtendedElementTypeConfiguration_PreAction();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getPostAction <em>Post Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Post Action</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration#getPostAction()
+ * @see #getExtendedElementTypeConfiguration()
+ * @generated
+ */
+ EReference getExtendedElementTypeConfiguration_PostAction();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.IconEntry <em>Icon Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Icon Entry</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.IconEntry
+ * @generated
+ */
+ EClass getIconEntry();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.extendedtypes.IconEntry#getIconPath <em>Icon Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Icon Path</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.IconEntry#getIconPath()
+ * @see #getIconEntry()
+ * @generated
+ */
+ EAttribute getIconEntry_IconPath();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.extendedtypes.IconEntry#getBundleId <em>Bundle Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Bundle Id</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.IconEntry#getBundleId()
+ * @see #getIconEntry()
+ * @generated
+ */
+ EAttribute getIconEntry_BundleId();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration <em>Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Action Configuration</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration
+ * @generated
+ */
+ EClass getActionConfiguration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration#getLabel <em>Label</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Label</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration#getLabel()
+ * @see #getActionConfiguration()
+ * @generated
+ */
+ EAttribute getActionConfiguration_Label();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration#getId()
+ * @see #getActionConfiguration()
+ * @generated
+ */
+ EAttribute getActionConfiguration_Id();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.PreActionConfiguration <em>Pre Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Pre Action Configuration</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.PreActionConfiguration
+ * @generated
+ */
+ EClass getPreActionConfiguration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration <em>Post Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Post Action Configuration</em>'.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration
+ * @generated
+ */
+ EClass getPostActionConfiguration();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ExtendedtypesFactory getExtendedtypesFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeSetImpl <em>Extended Element Type Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeSetImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesPackageImpl#getExtendedElementTypeSet()
+ * @generated
+ */
+ EClass EXTENDED_ELEMENT_TYPE_SET = eINSTANCE.getExtendedElementTypeSet();
+
+ /**
+ * The meta object literal for the '<em><b>Element Type</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE = eINSTANCE.getExtendedElementTypeSet_ElementType();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXTENDED_ELEMENT_TYPE_SET__ID = eINSTANCE.getExtendedElementTypeSet_Id();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeConfigurationImpl <em>Extended Element Type Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesPackageImpl#getExtendedElementTypeConfiguration()
+ * @generated
+ */
+ EClass EXTENDED_ELEMENT_TYPE_CONFIGURATION = eINSTANCE.getExtendedElementTypeConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME = eINSTANCE.getExtendedElementTypeConfiguration_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID = eINSTANCE.getExtendedElementTypeConfiguration_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Icon Entry</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY = eINSTANCE.getExtendedElementTypeConfiguration_IconEntry();
+
+ /**
+ * The meta object literal for the '<em><b>Hint</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT = eINSTANCE.getExtendedElementTypeConfiguration_Hint();
+
+ /**
+ * The meta object literal for the '<em><b>Kind Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME = eINSTANCE.getExtendedElementTypeConfiguration_KindName();
+
+ /**
+ * The meta object literal for the '<em><b>Specialized Types ID</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID = eINSTANCE.getExtendedElementTypeConfiguration_SpecializedTypesID();
+
+ /**
+ * The meta object literal for the '<em><b>Pre Validation</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION = eINSTANCE.getExtendedElementTypeConfiguration_PreValidation();
+
+ /**
+ * The meta object literal for the '<em><b>Pre Action</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION = eINSTANCE.getExtendedElementTypeConfiguration_PreAction();
+
+ /**
+ * The meta object literal for the '<em><b>Post Action</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION = eINSTANCE.getExtendedElementTypeConfiguration_PostAction();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.impl.IconEntryImpl <em>Icon Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.IconEntryImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesPackageImpl#getIconEntry()
+ * @generated
+ */
+ EClass ICON_ENTRY = eINSTANCE.getIconEntry();
+
+ /**
+ * The meta object literal for the '<em><b>Icon Path</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ICON_ENTRY__ICON_PATH = eINSTANCE.getIconEntry_IconPath();
+
+ /**
+ * The meta object literal for the '<em><b>Bundle Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ICON_ENTRY__BUNDLE_ID = eINSTANCE.getIconEntry_BundleId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ActionConfigurationImpl <em>Action Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ActionConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesPackageImpl#getActionConfiguration()
+ * @generated
+ */
+ EClass ACTION_CONFIGURATION = eINSTANCE.getActionConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Label</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTION_CONFIGURATION__LABEL = eINSTANCE.getActionConfiguration_Label();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTION_CONFIGURATION__ID = eINSTANCE.getActionConfiguration_Id();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.impl.PreActionConfigurationImpl <em>Pre Action Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.PreActionConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesPackageImpl#getPreActionConfiguration()
+ * @generated
+ */
+ EClass PRE_ACTION_CONFIGURATION = eINSTANCE.getPreActionConfiguration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.extendedtypes.impl.PostActionConfigurationImpl <em>Post Action Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.PostActionConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedtypesPackageImpl#getPostActionConfiguration()
+ * @generated
+ */
+ EClass POST_ACTION_CONFIGURATION = eINSTANCE.getPostActionConfiguration();
+
+ }
+
+} //ExtendedtypesPackage
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/IconEntry.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/IconEntry.java
new file mode 100644
index 00000000000..aa38ab6409a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/IconEntry.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Icon Entry</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.IconEntry#getIconPath <em>Icon Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.IconEntry#getBundleId <em>Bundle Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getIconEntry()
+ * @model
+ * @generated
+ */
+public interface IconEntry extends EObject {
+ /**
+ * Returns the value of the '<em><b>Icon Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Icon Path</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Icon Path</em>' attribute.
+ * @see #setIconPath(String)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getIconEntry_IconPath()
+ * @model
+ * @generated
+ */
+ String getIconPath();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.IconEntry#getIconPath <em>Icon Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Icon Path</em>' attribute.
+ * @see #getIconPath()
+ * @generated
+ */
+ void setIconPath(String value);
+
+ /**
+ * Returns the value of the '<em><b>Bundle Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Bundle Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Bundle Id</em>' attribute.
+ * @see #setBundleId(String)
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getIconEntry_BundleId()
+ * @model
+ * @generated
+ */
+ String getBundleId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.extendedtypes.IconEntry#getBundleId <em>Bundle Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Bundle Id</em>' attribute.
+ * @see #getBundleId()
+ * @generated
+ */
+ void setBundleId(String value);
+
+} // IconEntry
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/PostActionConfiguration.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/PostActionConfiguration.java
new file mode 100644
index 00000000000..9512ea1c57e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/PostActionConfiguration.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Post Action Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getPostActionConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface PostActionConfiguration extends ActionConfiguration {
+} // PostActionConfiguration
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/PreActionConfiguration.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/PreActionConfiguration.java
new file mode 100644
index 00000000000..062721d0a85
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/PreActionConfiguration.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pre Action Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#getPreActionConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface PreActionConfiguration extends ActionConfiguration {
+} // PreActionConfiguration
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ActionConfigurationImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ActionConfigurationImpl.java
new file mode 100644
index 00000000000..cddb70f9b37
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ActionConfigurationImpl.java
@@ -0,0 +1,221 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Action Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ActionConfigurationImpl#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ActionConfigurationImpl#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ActionConfigurationImpl extends EObjectImpl implements ActionConfiguration {
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = LABEL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActionConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.Literals.ACTION_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ACTION_CONFIGURATION__LABEL, oldLabel, label));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ACTION_CONFIGURATION__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__LABEL:
+ return getLabel();
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__ID:
+ return getId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__LABEL:
+ setLabel((String)newValue);
+ return;
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__ID:
+ setId((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__LABEL:
+ setLabel(LABEL_EDEFAULT);
+ return;
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__ID:
+ setId(ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__LABEL:
+ return LABEL_EDEFAULT == null ? label != null : !LABEL_EDEFAULT.equals(label);
+ case ExtendedtypesPackage.ACTION_CONFIGURATION__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (label: ");
+ result.append(label);
+ result.append(", id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ActionConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedElementTypeConfigurationImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedElementTypeConfigurationImpl.java
new file mode 100644
index 00000000000..9f11faa2703
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedElementTypeConfigurationImpl.java
@@ -0,0 +1,566 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.core.queries.configuration.QueryConfiguration;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.IconEntry;
+import org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.PreActionConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extended Element Type Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getIconEntry <em>Icon Entry</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getHint <em>Hint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getKindName <em>Kind Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getSpecializedTypesID <em>Specialized Types ID</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getPreValidation <em>Pre Validation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getPreAction <em>Pre Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeConfigurationImpl#getPostAction <em>Post Action</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExtendedElementTypeConfigurationImpl extends EObjectImpl implements ExtendedElementTypeConfiguration {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getIconEntry() <em>Icon Entry</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIconEntry()
+ * @generated
+ * @ordered
+ */
+ protected IconEntry iconEntry;
+
+ /**
+ * The default value of the '{@link #getHint() <em>Hint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHint()
+ * @generated
+ * @ordered
+ */
+ protected static final String HINT_EDEFAULT = "ExtendedElements";
+
+ /**
+ * The cached value of the '{@link #getHint() <em>Hint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHint()
+ * @generated
+ * @ordered
+ */
+ protected String hint = HINT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getKindName() <em>Kind Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKindName()
+ * @generated
+ * @ordered
+ */
+ protected static final String KIND_NAME_EDEFAULT = "org.eclipse.gmf.runtime.emf.type.core.IHintedType";
+
+ /**
+ * The cached value of the '{@link #getKindName() <em>Kind Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKindName()
+ * @generated
+ * @ordered
+ */
+ protected String kindName = KIND_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSpecializedTypesID() <em>Specialized Types ID</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSpecializedTypesID()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> specializedTypesID;
+
+ /**
+ * The cached value of the '{@link #getPreValidation() <em>Pre Validation</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPreValidation()
+ * @generated
+ * @ordered
+ */
+ protected EList<QueryConfiguration> preValidation;
+
+ /**
+ * The cached value of the '{@link #getPreAction() <em>Pre Action</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPreAction()
+ * @generated
+ * @ordered
+ */
+ protected EList<PreActionConfiguration> preAction;
+
+ /**
+ * The cached value of the '{@link #getPostAction() <em>Post Action</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostAction()
+ * @generated
+ * @ordered
+ */
+ protected EList<PostActionConfiguration> postAction;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendedElementTypeConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IconEntry getIconEntry() {
+ return iconEntry;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIconEntry(IconEntry newIconEntry, NotificationChain msgs) {
+ IconEntry oldIconEntry = iconEntry;
+ iconEntry = newIconEntry;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY, oldIconEntry, newIconEntry);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIconEntry(IconEntry newIconEntry) {
+ if (newIconEntry != iconEntry) {
+ NotificationChain msgs = null;
+ if (iconEntry != null)
+ msgs = ((InternalEObject)iconEntry).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY, null, msgs);
+ if (newIconEntry != null)
+ msgs = ((InternalEObject)newIconEntry).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY, null, msgs);
+ msgs = basicSetIconEntry(newIconEntry, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY, newIconEntry, newIconEntry));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getHint() {
+ return hint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHint(String newHint) {
+ String oldHint = hint;
+ hint = newHint;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT, oldHint, hint));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getKindName() {
+ return kindName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKindName(String newKindName) {
+ String oldKindName = kindName;
+ kindName = newKindName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME, oldKindName, kindName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getSpecializedTypesID() {
+ if (specializedTypesID == null) {
+ specializedTypesID = new EDataTypeUniqueEList<String>(String.class, this, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID);
+ }
+ return specializedTypesID;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<QueryConfiguration> getPreValidation() {
+ if (preValidation == null) {
+ preValidation = new EObjectResolvingEList<QueryConfiguration>(QueryConfiguration.class, this, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION);
+ }
+ return preValidation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PreActionConfiguration> getPreAction() {
+ if (preAction == null) {
+ preAction = new EObjectContainmentEList<PreActionConfiguration>(PreActionConfiguration.class, this, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION);
+ }
+ return preAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PostActionConfiguration> getPostAction() {
+ if (postAction == null) {
+ postAction = new EObjectContainmentEList<PostActionConfiguration>(PostActionConfiguration.class, this, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION);
+ }
+ return postAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY:
+ return basicSetIconEntry(null, msgs);
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION:
+ return ((InternalEList<?>)getPreAction()).basicRemove(otherEnd, msgs);
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION:
+ return ((InternalEList<?>)getPostAction()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME:
+ return getName();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID:
+ return getId();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY:
+ return getIconEntry();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT:
+ return getHint();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
+ return getKindName();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
+ return getSpecializedTypesID();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION:
+ return getPreValidation();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION:
+ return getPreAction();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION:
+ return getPostAction();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME:
+ setName((String)newValue);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID:
+ setId((String)newValue);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY:
+ setIconEntry((IconEntry)newValue);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT:
+ setHint((String)newValue);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
+ setKindName((String)newValue);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
+ getSpecializedTypesID().clear();
+ getSpecializedTypesID().addAll((Collection<? extends String>)newValue);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION:
+ getPreValidation().clear();
+ getPreValidation().addAll((Collection<? extends QueryConfiguration>)newValue);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION:
+ getPreAction().clear();
+ getPreAction().addAll((Collection<? extends PreActionConfiguration>)newValue);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION:
+ getPostAction().clear();
+ getPostAction().addAll((Collection<? extends PostActionConfiguration>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY:
+ setIconEntry((IconEntry)null);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT:
+ setHint(HINT_EDEFAULT);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
+ setKindName(KIND_NAME_EDEFAULT);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
+ getSpecializedTypesID().clear();
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION:
+ getPreValidation().clear();
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION:
+ getPreAction().clear();
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION:
+ getPostAction().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY:
+ return iconEntry != null;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT:
+ return HINT_EDEFAULT == null ? hint != null : !HINT_EDEFAULT.equals(hint);
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME:
+ return KIND_NAME_EDEFAULT == null ? kindName != null : !KIND_NAME_EDEFAULT.equals(kindName);
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID:
+ return specializedTypesID != null && !specializedTypesID.isEmpty();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION:
+ return preValidation != null && !preValidation.isEmpty();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION:
+ return preAction != null && !preAction.isEmpty();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION:
+ return postAction != null && !postAction.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", id: ");
+ result.append(id);
+ result.append(", hint: ");
+ result.append(hint);
+ result.append(", kindName: ");
+ result.append(kindName);
+ result.append(", specializedTypesID: ");
+ result.append(specializedTypesID);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ExtendedElementTypeConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedElementTypeSetImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedElementTypeSetImpl.java
new file mode 100644
index 00000000000..8dd13037e68
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedElementTypeSetImpl.java
@@ -0,0 +1,226 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extended Element Type Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeSetImpl#getElementType <em>Element Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.ExtendedElementTypeSetImpl#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExtendedElementTypeSetImpl extends EObjectImpl implements ExtendedElementTypeSet {
+ /**
+ * The cached value of the '{@link #getElementType() <em>Element Type</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementType()
+ * @generated
+ * @ordered
+ */
+ protected EList<ExtendedElementTypeConfiguration> elementType;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendedElementTypeSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.Literals.EXTENDED_ELEMENT_TYPE_SET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ExtendedElementTypeConfiguration> getElementType() {
+ if (elementType == null) {
+ elementType = new EObjectContainmentEList<ExtendedElementTypeConfiguration>(ExtendedElementTypeConfiguration.class, this, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE);
+ }
+ return elementType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
+ return ((InternalEList<?>)getElementType()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
+ return getElementType();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ID:
+ return getId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
+ getElementType().clear();
+ getElementType().addAll((Collection<? extends ExtendedElementTypeConfiguration>)newValue);
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ID:
+ setId((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
+ getElementType().clear();
+ return;
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ID:
+ setId(ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE:
+ return elementType != null && !elementType.isEmpty();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ExtendedElementTypeSetImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedtypesFactoryImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedtypesFactoryImpl.java
new file mode 100644
index 00000000000..0ff03d5366c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedtypesFactoryImpl.java
@@ -0,0 +1,121 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.diagram.extendedtypes.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtendedtypesFactoryImpl extends EFactoryImpl implements ExtendedtypesFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ExtendedtypesFactory init() {
+ try {
+ ExtendedtypesFactory theExtendedtypesFactory = (ExtendedtypesFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/diagram/types/extendedtypes/0.7");
+ if (theExtendedtypesFactory != null) {
+ return theExtendedtypesFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ExtendedtypesFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedtypesFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET: return createExtendedElementTypeSet();
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION: return createExtendedElementTypeConfiguration();
+ case ExtendedtypesPackage.ICON_ENTRY: return createIconEntry();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedElementTypeSet createExtendedElementTypeSet() {
+ ExtendedElementTypeSetImpl extendedElementTypeSet = new ExtendedElementTypeSetImpl();
+ return extendedElementTypeSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedElementTypeConfiguration createExtendedElementTypeConfiguration() {
+ ExtendedElementTypeConfigurationImpl extendedElementTypeConfiguration = new ExtendedElementTypeConfigurationImpl();
+ return extendedElementTypeConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IconEntry createIconEntry() {
+ IconEntryImpl iconEntry = new IconEntryImpl();
+ return iconEntry;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedtypesPackage getExtendedtypesPackage() {
+ return (ExtendedtypesPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ExtendedtypesPackage getPackage() {
+ return ExtendedtypesPackage.eINSTANCE;
+ }
+
+} //ExtendedtypesFactoryImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedtypesPackageImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedtypesPackageImpl.java
new file mode 100644
index 00000000000..7a999a11456
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/ExtendedtypesPackageImpl.java
@@ -0,0 +1,453 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.IconEntry;
+import org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.PreActionConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtendedtypesPackageImpl extends EPackageImpl implements ExtendedtypesPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extendedElementTypeSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extendedElementTypeConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass iconEntryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass actionConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass preActionConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass postActionConfigurationEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ExtendedtypesPackageImpl() {
+ super(eNS_URI, ExtendedtypesFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link ExtendedtypesPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ExtendedtypesPackage init() {
+ if (isInited) return (ExtendedtypesPackage)EPackage.Registry.INSTANCE.getEPackage(ExtendedtypesPackage.eNS_URI);
+
+ // Obtain or create and register package
+ ExtendedtypesPackageImpl theExtendedtypesPackage = (ExtendedtypesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ExtendedtypesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ExtendedtypesPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ ConfigurationPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theExtendedtypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theExtendedtypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theExtendedtypesPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ExtendedtypesPackage.eNS_URI, theExtendedtypesPackage);
+ return theExtendedtypesPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtendedElementTypeSet() {
+ return extendedElementTypeSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtendedElementTypeSet_ElementType() {
+ return (EReference)extendedElementTypeSetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExtendedElementTypeSet_Id() {
+ return (EAttribute)extendedElementTypeSetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtendedElementTypeConfiguration() {
+ return extendedElementTypeConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExtendedElementTypeConfiguration_Name() {
+ return (EAttribute)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExtendedElementTypeConfiguration_Id() {
+ return (EAttribute)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtendedElementTypeConfiguration_IconEntry() {
+ return (EReference)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExtendedElementTypeConfiguration_Hint() {
+ return (EAttribute)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExtendedElementTypeConfiguration_KindName() {
+ return (EAttribute)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExtendedElementTypeConfiguration_SpecializedTypesID() {
+ return (EAttribute)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtendedElementTypeConfiguration_PreValidation() {
+ return (EReference)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtendedElementTypeConfiguration_PreAction() {
+ return (EReference)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtendedElementTypeConfiguration_PostAction() {
+ return (EReference)extendedElementTypeConfigurationEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIconEntry() {
+ return iconEntryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getIconEntry_IconPath() {
+ return (EAttribute)iconEntryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getIconEntry_BundleId() {
+ return (EAttribute)iconEntryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActionConfiguration() {
+ return actionConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActionConfiguration_Label() {
+ return (EAttribute)actionConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActionConfiguration_Id() {
+ return (EAttribute)actionConfigurationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPreActionConfiguration() {
+ return preActionConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPostActionConfiguration() {
+ return postActionConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedtypesFactory getExtendedtypesFactory() {
+ return (ExtendedtypesFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ extendedElementTypeSetEClass = createEClass(EXTENDED_ELEMENT_TYPE_SET);
+ createEReference(extendedElementTypeSetEClass, EXTENDED_ELEMENT_TYPE_SET__ELEMENT_TYPE);
+ createEAttribute(extendedElementTypeSetEClass, EXTENDED_ELEMENT_TYPE_SET__ID);
+
+ extendedElementTypeConfigurationEClass = createEClass(EXTENDED_ELEMENT_TYPE_CONFIGURATION);
+ createEAttribute(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__NAME);
+ createEAttribute(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__ID);
+ createEReference(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__ICON_ENTRY);
+ createEAttribute(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__HINT);
+ createEAttribute(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__KIND_NAME);
+ createEAttribute(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__SPECIALIZED_TYPES_ID);
+ createEReference(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_VALIDATION);
+ createEReference(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__PRE_ACTION);
+ createEReference(extendedElementTypeConfigurationEClass, EXTENDED_ELEMENT_TYPE_CONFIGURATION__POST_ACTION);
+
+ iconEntryEClass = createEClass(ICON_ENTRY);
+ createEAttribute(iconEntryEClass, ICON_ENTRY__ICON_PATH);
+ createEAttribute(iconEntryEClass, ICON_ENTRY__BUNDLE_ID);
+
+ actionConfigurationEClass = createEClass(ACTION_CONFIGURATION);
+ createEAttribute(actionConfigurationEClass, ACTION_CONFIGURATION__LABEL);
+ createEAttribute(actionConfigurationEClass, ACTION_CONFIGURATION__ID);
+
+ preActionConfigurationEClass = createEClass(PRE_ACTION_CONFIGURATION);
+
+ postActionConfigurationEClass = createEClass(POST_ACTION_CONFIGURATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ ConfigurationPackage theConfigurationPackage = (ConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(ConfigurationPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ preActionConfigurationEClass.getESuperTypes().add(this.getActionConfiguration());
+ postActionConfigurationEClass.getESuperTypes().add(this.getActionConfiguration());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(extendedElementTypeSetEClass, ExtendedElementTypeSet.class, "ExtendedElementTypeSet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getExtendedElementTypeSet_ElementType(), this.getExtendedElementTypeConfiguration(), null, "elementType", null, 1, -1, ExtendedElementTypeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getExtendedElementTypeSet_Id(), ecorePackage.getEString(), "id", null, 1, 1, ExtendedElementTypeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(extendedElementTypeConfigurationEClass, ExtendedElementTypeConfiguration.class, "ExtendedElementTypeConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getExtendedElementTypeConfiguration_Name(), ecorePackage.getEString(), "name", null, 1, 1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getExtendedElementTypeConfiguration_Id(), ecorePackage.getEString(), "id", null, 1, 1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getExtendedElementTypeConfiguration_IconEntry(), this.getIconEntry(), null, "iconEntry", null, 0, 1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getExtendedElementTypeConfiguration_Hint(), ecorePackage.getEString(), "hint", "ExtendedElements", 0, 1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getExtendedElementTypeConfiguration_KindName(), ecorePackage.getEString(), "kindName", "org.eclipse.gmf.runtime.emf.type.core.IHintedType", 0, 1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getExtendedElementTypeConfiguration_SpecializedTypesID(), ecorePackage.getEString(), "specializedTypesID", null, 1, -1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getExtendedElementTypeConfiguration_PreValidation(), theConfigurationPackage.getQueryConfiguration(), null, "preValidation", null, 0, -1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getExtendedElementTypeConfiguration_PreAction(), this.getPreActionConfiguration(), null, "preAction", null, 0, -1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getExtendedElementTypeConfiguration_PostAction(), this.getPostActionConfiguration(), null, "postAction", null, 0, -1, ExtendedElementTypeConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(iconEntryEClass, IconEntry.class, "IconEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getIconEntry_IconPath(), ecorePackage.getEString(), "iconPath", null, 0, 1, IconEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getIconEntry_BundleId(), ecorePackage.getEString(), "bundleId", null, 0, 1, IconEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(actionConfigurationEClass, ActionConfiguration.class, "ActionConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getActionConfiguration_Label(), theEcorePackage.getEString(), "label", null, 0, 1, ActionConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getActionConfiguration_Id(), theEcorePackage.getEString(), "id", null, 1, 1, ActionConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(preActionConfigurationEClass, PreActionConfiguration.class, "PreActionConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(postActionConfigurationEClass, PostActionConfiguration.class, "PostActionConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //ExtendedtypesPackageImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/IconEntryImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/IconEntryImpl.java
new file mode 100644
index 00000000000..50a58fe6494
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/IconEntryImpl.java
@@ -0,0 +1,221 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.IconEntry;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Icon Entry</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.IconEntryImpl#getIconPath <em>Icon Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.extendedtypes.impl.IconEntryImpl#getBundleId <em>Bundle Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IconEntryImpl extends EObjectImpl implements IconEntry {
+ /**
+ * The default value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String ICON_PATH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected String iconPath = ICON_PATH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBundleId() <em>Bundle Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBundleId()
+ * @generated
+ * @ordered
+ */
+ protected static final String BUNDLE_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBundleId() <em>Bundle Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBundleId()
+ * @generated
+ * @ordered
+ */
+ protected String bundleId = BUNDLE_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IconEntryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.Literals.ICON_ENTRY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIconPath() {
+ return iconPath;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIconPath(String newIconPath) {
+ String oldIconPath = iconPath;
+ iconPath = newIconPath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ICON_ENTRY__ICON_PATH, oldIconPath, iconPath));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBundleId() {
+ return bundleId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBundleId(String newBundleId) {
+ String oldBundleId = bundleId;
+ bundleId = newBundleId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID, oldBundleId, bundleId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtendedtypesPackage.ICON_ENTRY__ICON_PATH:
+ return getIconPath();
+ case ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID:
+ return getBundleId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtendedtypesPackage.ICON_ENTRY__ICON_PATH:
+ setIconPath((String)newValue);
+ return;
+ case ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID:
+ setBundleId((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtendedtypesPackage.ICON_ENTRY__ICON_PATH:
+ setIconPath(ICON_PATH_EDEFAULT);
+ return;
+ case ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID:
+ setBundleId(BUNDLE_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtendedtypesPackage.ICON_ENTRY__ICON_PATH:
+ return ICON_PATH_EDEFAULT == null ? iconPath != null : !ICON_PATH_EDEFAULT.equals(iconPath);
+ case ExtendedtypesPackage.ICON_ENTRY__BUNDLE_ID:
+ return BUNDLE_ID_EDEFAULT == null ? bundleId != null : !BUNDLE_ID_EDEFAULT.equals(bundleId);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (iconPath: ");
+ result.append(iconPath);
+ result.append(", bundleId: ");
+ result.append(bundleId);
+ result.append(')');
+ return result.toString();
+ }
+
+} //IconEntryImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/PostActionConfigurationImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/PostActionConfigurationImpl.java
new file mode 100644
index 00000000000..2f4b8df8521
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/PostActionConfigurationImpl.java
@@ -0,0 +1,43 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Post Action Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class PostActionConfigurationImpl extends ActionConfigurationImpl implements PostActionConfiguration {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PostActionConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.Literals.POST_ACTION_CONFIGURATION;
+ }
+
+} //PostActionConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/PreActionConfigurationImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/PreActionConfigurationImpl.java
new file mode 100644
index 00000000000..748778362c0
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/impl/PreActionConfigurationImpl.java
@@ -0,0 +1,43 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.papyrus.diagram.extendedtypes.PreActionConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Pre Action Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class PreActionConfigurationImpl extends ActionConfigurationImpl implements PreActionConfiguration {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PreActionConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtendedtypesPackage.Literals.PRE_ACTION_CONFIGURATION;
+ }
+
+} //PreActionConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesAdapterFactory.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesAdapterFactory.java
new file mode 100644
index 00000000000..dab14f05fb6
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesAdapterFactory.java
@@ -0,0 +1,214 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.diagram.extendedtypes.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage
+ * @generated
+ */
+public class ExtendedtypesAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ExtendedtypesPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedtypesAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ExtendedtypesPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendedtypesSwitch<Adapter> modelSwitch =
+ new ExtendedtypesSwitch<Adapter>() {
+ @Override
+ public Adapter caseExtendedElementTypeSet(ExtendedElementTypeSet object) {
+ return createExtendedElementTypeSetAdapter();
+ }
+ @Override
+ public Adapter caseExtendedElementTypeConfiguration(ExtendedElementTypeConfiguration object) {
+ return createExtendedElementTypeConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseIconEntry(IconEntry object) {
+ return createIconEntryAdapter();
+ }
+ @Override
+ public Adapter caseActionConfiguration(ActionConfiguration object) {
+ return createActionConfigurationAdapter();
+ }
+ @Override
+ public Adapter casePreActionConfiguration(PreActionConfiguration object) {
+ return createPreActionConfigurationAdapter();
+ }
+ @Override
+ public Adapter casePostActionConfiguration(PostActionConfiguration object) {
+ return createPostActionConfigurationAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet <em>Extended Element Type Set</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeSet
+ * @generated
+ */
+ public Adapter createExtendedElementTypeSetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration <em>Extended Element Type Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration
+ * @generated
+ */
+ public Adapter createExtendedElementTypeConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.IconEntry <em>Icon Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.IconEntry
+ * @generated
+ */
+ public Adapter createIconEntryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration <em>Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration
+ * @generated
+ */
+ public Adapter createActionConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.PreActionConfiguration <em>Pre Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.PreActionConfiguration
+ * @generated
+ */
+ public Adapter createPreActionConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration <em>Post Action Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration
+ * @generated
+ */
+ public Adapter createPostActionConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //ExtendedtypesAdapterFactory
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesResourceFactoryImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesResourceFactoryImpl.java
new file mode 100644
index 00000000000..61d7c7daf07
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesResourceFactoryImpl.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.util.ExtendedtypesResourceImpl
+ * @generated
+ */
+public class ExtendedtypesResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedtypesResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new ExtendedtypesResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //ExtendedtypesResourceFactoryImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesResourceImpl.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesResourceImpl.java
new file mode 100644
index 00000000000..b778e3ae37e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesResourceImpl.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.util.ExtendedtypesResourceFactoryImpl
+ * @generated
+ */
+public class ExtendedtypesResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public ExtendedtypesResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //ExtendedtypesResourceImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesSwitch.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesSwitch.java
new file mode 100644
index 00000000000..5ce793d6933
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesSwitch.java
@@ -0,0 +1,237 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.diagram.extendedtypes.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage
+ * @generated
+ */
+public class ExtendedtypesSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ExtendedtypesPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedtypesSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ExtendedtypesPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_SET: {
+ ExtendedElementTypeSet extendedElementTypeSet = (ExtendedElementTypeSet)theEObject;
+ T result = caseExtendedElementTypeSet(extendedElementTypeSet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.EXTENDED_ELEMENT_TYPE_CONFIGURATION: {
+ ExtendedElementTypeConfiguration extendedElementTypeConfiguration = (ExtendedElementTypeConfiguration)theEObject;
+ T result = caseExtendedElementTypeConfiguration(extendedElementTypeConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.ICON_ENTRY: {
+ IconEntry iconEntry = (IconEntry)theEObject;
+ T result = caseIconEntry(iconEntry);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.ACTION_CONFIGURATION: {
+ ActionConfiguration actionConfiguration = (ActionConfiguration)theEObject;
+ T result = caseActionConfiguration(actionConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.PRE_ACTION_CONFIGURATION: {
+ PreActionConfiguration preActionConfiguration = (PreActionConfiguration)theEObject;
+ T result = casePreActionConfiguration(preActionConfiguration);
+ if (result == null) result = caseActionConfiguration(preActionConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtendedtypesPackage.POST_ACTION_CONFIGURATION: {
+ PostActionConfiguration postActionConfiguration = (PostActionConfiguration)theEObject;
+ T result = casePostActionConfiguration(postActionConfiguration);
+ if (result == null) result = caseActionConfiguration(postActionConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Extended Element Type Set</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Extended Element Type Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExtendedElementTypeSet(ExtendedElementTypeSet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Extended Element Type Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Extended Element Type Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExtendedElementTypeConfiguration(ExtendedElementTypeConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Icon Entry</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Icon Entry</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIconEntry(IconEntry object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Action Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Action Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActionConfiguration(ActionConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Pre Action Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Pre Action Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePreActionConfiguration(PreActionConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Post Action Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Post Action Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePostActionConfiguration(PostActionConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //ExtendedtypesSwitch
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesXMLProcessor.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesXMLProcessor.java
new file mode 100644
index 00000000000..0975ff54225
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src-gen/org/eclipse/papyrus/diagram/extendedtypes/util/ExtendedtypesXMLProcessor.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.extendedtypes.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedtypesPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtendedtypesXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedtypesXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ ExtendedtypesPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the ExtendedtypesResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new ExtendedtypesResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new ExtendedtypesResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //ExtendedtypesXMLProcessor
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/Activator.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/Activator.java
new file mode 100644
index 00000000000..7a4b0cb3f97
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/Activator.java
@@ -0,0 +1,56 @@
+package org.eclipse.papyrus.diagram.extendedtypes;
+
+import org.eclipse.papyrus.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.diagram.extendedtypes"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /** Logging helper */
+ public static LogHelper log;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ log = new LogHelper(this);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ log = null;
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/ExtendedEditHelperAdvice.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/ExtendedEditHelperAdvice.java
new file mode 100644
index 00000000000..6801c9346a5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/ExtendedEditHelperAdvice.java
@@ -0,0 +1,106 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes;
+
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.GetEditContextRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.diagram.extendedtypes.providers.ExtendedElementTypeActionService;
+import org.eclipse.papyrus.diagram.extendedtypes.providers.ProviderNotFoundException;
+import org.eclipse.papyrus.diagram.extendedtypes.types.IExtendedHintedElementType;
+
+/**
+ * Edit helper Advice for extended element types. This allows modification of the configure request executed right after the creation of the element
+ */
+public class ExtendedEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * Constructor.
+ *
+ */
+ public ExtendedEditHelperAdvice() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean approveRequest(IEditCommandRequest request) {
+ return super.approveRequest(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getBeforeEditContextCommand(GetEditContextRequest request) {
+ return super.getBeforeEditContextCommand(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getBeforeCreateCommand(CreateElementRequest request) {
+ return super.getBeforeCreateCommand(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getAfterConfigureCommand(ConfigureRequest request) {
+ // for the list of post actions, returns a list of commands.
+ // there should be a factory that delivers commands from the model
+
+ CompositeCommand compositeCommand = new CompositeCommand("AfterConfigureCommand");
+ IElementType type = request.getTypeToConfigure();
+ if(type instanceof IExtendedHintedElementType) {
+ IExtendedHintedElementType extendedHintedElementType = (IExtendedHintedElementType)type;
+ ExtendedElementTypeConfiguration configuration = extendedHintedElementType.getConfiguration();
+ for(PostActionConfiguration postActionConfiguration : configuration.getPostAction()) {
+ ICommand command = null;
+ try {
+ command = ExtendedElementTypeActionService.getInstance().getICommand(request.getElementsToEdit(), postActionConfiguration);
+ } catch (ProviderNotFoundException e) {
+ Activator.log.error(e);
+ }
+ if(command != null) {
+ compositeCommand.add(command);
+ }
+ }
+
+ // return the composite command only if it is not empty
+ if(!compositeCommand.isEmpty()) {
+ return compositeCommand;
+ }
+ }
+
+
+ // post-action. Here, this is null.
+ return super.getAfterConfigureCommand(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getAfterCreateCommand(CreateElementRequest request) {
+ return super.getAfterCreateCommand(request);
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/ExtendedSemanticTypeDescriptor.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/ExtendedSemanticTypeDescriptor.java
new file mode 100644
index 00000000000..0f969278f60
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/ExtendedSemanticTypeDescriptor.java
@@ -0,0 +1,134 @@
+package org.eclipse.papyrus.diagram.extendedtypes;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IContainerDescriptor;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationTypeDescriptor;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
+import org.eclipse.papyrus.diagram.extendedtypes.types.ExtendedHintedTypeFactory;
+import org.osgi.framework.Bundle;
+
+
+/**
+ * new descriptor implementation for on-the-fly added descriptor
+ */
+public class ExtendedSemanticTypeDescriptor implements ISpecializationTypeDescriptor {
+
+ /** constant for specific semantic hint */
+ public static final String EXTENDED_ELEMENTS = "ExtendedElements";
+
+ /** configuration of this descriptor */
+ private final ExtendedElementTypeConfiguration configuration;
+
+ /** cache of the specialized types */
+ private List<IElementType> specializedTypes = null;
+
+ /**
+ * Constructor.
+ *
+ * @param configuration
+ * the configuration of this descriptor
+ */
+ public ExtendedSemanticTypeDescriptor(ExtendedElementTypeConfiguration configuration) {
+ this.configuration = configuration;
+ }
+
+ /**
+ * Returns the configuration of the element type
+ *
+ * @return the configuration of the element type
+ */
+ public ExtendedElementTypeConfiguration getConfiguration() {
+ return configuration;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getId() {
+ return configuration.getId();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public URL getIconURL() {
+ IconEntry entry = configuration.getIconEntry();
+ Bundle bundle = Platform.getBundle(entry.getBundleId());
+ if(bundle == null) {
+ return null;
+ }
+ URL result = bundle.getEntry(entry.getIconPath());
+ return result;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getName() {
+ return configuration.getName();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getKindName() {
+ return configuration.getKindName();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getParamValue(String paramName) {
+ if(ExtendedHintedTypeFactory.SEMANTIC_HINT_PARAM_NAME.equals(paramName)) {
+ return configuration.getHint();
+ }
+ return EXTENDED_ELEMENTS;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public IContainerDescriptor getContainerDescriptor() {
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public IElementType[] getSpecializedTypes() {
+ if(specializedTypes == null) {
+ specializedTypes = new ArrayList<IElementType>();
+ for(String specializedTypeId : configuration.getSpecializedTypesID()) {
+ IElementType type = ElementTypeRegistry.getInstance().getType(specializedTypeId);
+ if(type != null) {
+ specializedTypes.add(type);
+ } else {
+ Activator.log.error("Impossible to find the type " + specializedTypeId, null);
+ }
+ }
+ }
+ return specializedTypes.toArray(new IElementType[specializedTypes.size()]);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public IElementMatcher getMatcher() {
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public IEditHelperAdvice getEditHelperAdvice() {
+ return new ExtendedEditHelperAdvice();
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/ExtendedTypesRegistry.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/ExtendedTypesRegistry.java
new file mode 100644
index 00000000000..271f084acd4
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/ExtendedTypesRegistry.java
@@ -0,0 +1,231 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.internal.impl.HintedTypeFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.types.ExtendedHintedTypeFactory;
+import org.osgi.framework.Bundle;
+
+
+/**
+ * Registry for all extended types.
+ */
+public class ExtendedTypesRegistry {
+
+ /** private singleton instance */
+ private static ExtendedTypesRegistry registry;
+
+ /** list of retrieved extended type sets */
+ protected List<ExtendedElementTypeSet> extendedTypeSets = null;
+
+ /** unique resource set to load all extended types models */
+ protected ResourceSet extendedTypesResourceSet = null;
+
+ /**
+ * Private constructor.
+ */
+ private ExtendedTypesRegistry() {
+
+ }
+
+ /**
+ * returns the singleton instance of this registry
+ *
+ * @return the singleton instance of this registry
+ */
+ public static synchronized ExtendedTypesRegistry getInstance() {
+ if(registry == null) {
+ registry = new ExtendedTypesRegistry();
+ registry.init();
+ }
+ return registry;
+ }
+
+ /**
+ * Inits the registry.
+ */
+ protected void init() {
+ // 0. Reset the values
+ extendedTypesResourceSet = null;
+ extendedTypeSets = null;
+
+ // 1. create the resource set
+ extendedTypesResourceSet = createResourceSet();
+ // 2. create the list only when registry is acceded for the first time
+ extendedTypeSets = loadExtendedTypeSets();
+ }
+
+ /**
+ * Retrieves and loads extended type sets registered in the platform. It should also load configuration sets from the workspace.
+ */
+ protected List<ExtendedElementTypeSet> loadExtendedTypeSets() {
+ List<ExtendedElementTypeSet> extendedElementTypeSets = new ArrayList<ExtendedElementTypeSet>();
+
+ // 1. retrieve from the workspace
+ // TODO implement retrieve from workspace
+
+ // 2. retrieve from the platform.
+ List<ExtendedElementTypeSet> registeredSets = loadExtendedTypeSetsFromPlatform();
+ if(registeredSets != null && !registeredSets.isEmpty()) {
+ extendedElementTypeSets.addAll(registeredSets);
+ }
+
+ return extendedElementTypeSets;
+ }
+
+ /**
+ * Creates the resource set that contains all models for extended types
+ *
+ * @return the resource set newly created.
+ */
+ protected ResourceSet createResourceSet() {
+ ResourceSet set = new ResourceSetImpl();
+ return set;
+ }
+
+ /**
+ * Loads the extensions in the platform
+ *
+ * @return the list of extension registered in the platform
+ */
+ protected List<ExtendedElementTypeSet> loadExtendedTypeSetsFromPlatform() {
+ List<ExtendedElementTypeSet> platformElementTypeSets = new ArrayList<ExtendedElementTypeSet>();
+
+ IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(IExtendedTypeExtensionPoint.ID);
+ // for each element, parses and retrieve the model file. then loads it and returns the root element
+ for(IConfigurationElement element : elements) {
+ String modelPath = element.getAttribute(IExtendedTypeExtensionPoint.PATH);
+ String contributorID = element.getContributor().getName();
+ if(Platform.inDebugMode()) {
+ Activator.log.debug("[Reading extension point]");
+ Activator.log.debug("- Path to the model: " + modelPath);
+ Activator.log.debug("- id of the container bundle: " + contributorID);
+ }
+ ExtendedElementTypeSet set = getExtendedElementTypeSet(modelPath, contributorID);
+ if(set != null) {
+ platformElementTypeSets.add(set);
+ }
+ }
+
+ return platformElementTypeSets;
+ }
+
+ /**
+ * <p>
+ * Loads the resource containing the extended element type set model.
+ * </p>
+ * <p>
+ * It looks the model file in the fragments first, then in the plugin itself.<BR>
+ * If this is already a fragment, it should look in the fragment only
+ * </p>
+ * @param modelPath
+ * path of the model in the bundle
+ * @param bundleId
+ * id of the bundle containing the model file
+ * @return the loaded file or <code>null</code> if some problem occured during loading
+ */
+ protected ExtendedElementTypeSet getExtendedElementTypeSet(String modelPath, String bundleId) {
+ Bundle bundle = Platform.getBundle(bundleId);
+ if(Platform.isFragment(bundle)) {
+ return getExtendedElementTypeSetInBundle(modelPath, bundleId);
+ } else { // this is a plugin. Search in sub fragments, then in the plugin
+ Bundle[] fragments = Platform.getFragments(bundle);
+ // no fragment, so the file should be in the plugin itself
+ if(fragments == null) {
+ return getExtendedElementTypeSetInBundle(modelPath, bundleId);
+ } else {
+ for(Bundle fragment : fragments) {
+ ExtendedElementTypeSet extendedElementTypeSet = getExtendedElementTypeSetInBundle(modelPath, fragment.getSymbolicName());
+ if(extendedElementTypeSet != null) {
+ return extendedElementTypeSet;
+ }
+ }
+ // not found in fragments. Look in the plugin itself
+ return getExtendedElementTypeSetInBundle(modelPath, bundleId);
+ }
+ }
+
+ }
+
+ /**
+ *
+ * @param modelPath
+ * path of the model in the bundle
+ * @param bundleId
+ * id of the bundle containing the model file
+ * @return the loaded file or <code>null</code> if some problem occured during loading
+ */
+ protected ExtendedElementTypeSet getExtendedElementTypeSetInBundle(String modelPath, String bundleID) {
+ Resource resource = extendedTypesResourceSet.createResource(URI.createPlatformPluginURI(bundleID + Path.SEPARATOR + modelPath, true));
+ try {
+ resource.load(null);
+ } catch (IOException e) {
+ return null;
+ }
+ EObject content = resource.getContents().get(0);
+ if(content instanceof ExtendedElementTypeSet) {
+ return (ExtendedElementTypeSet)content;
+ }
+ Activator.log.error("Impossible to cast the object into an ExtendedElementTypeSet: " + content, null);
+ return null;
+ }
+
+ /**
+ * Gets the element type for <code>id</code>. May return <code>null</code> if this element is not registered.
+ *
+ * @param id
+ * the type ID
+ * @return the registered type with this ID, or <code>null</code> if there
+ * is none.
+ */
+ public IElementType getType(String id) {
+ // 1. checks if the element already exists
+ IElementType type = ElementTypeRegistry.getInstance().getType(id);
+
+ // 2. If it exists, returns it as usual
+ if(type != null) {
+ return type;
+ }
+
+ // 3. It does not exists. It could be retrieve in the extended type sets
+ for(ExtendedElementTypeSet set : extendedTypeSets) {
+ for(ExtendedElementTypeConfiguration elementTypeConfiguration : set.getElementType()) {
+ if(id.equals(elementTypeConfiguration.getId())) {
+ // create and add in the standard registry the required element type from its configuration
+ @SuppressWarnings("restriction")
+ ISpecializationType createSpecializationType = ExtendedHintedTypeFactory.getInstance().createSpecializationType(new ExtendedSemanticTypeDescriptor(elementTypeConfiguration));
+
+ // register it, so it should be accessible next time
+ ElementTypeRegistry.getInstance().register(createSpecializationType);
+ return createSpecializationType;
+ }
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/IExtendedTypeExtensionPoint.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/IExtendedTypeExtensionPoint.java
new file mode 100644
index 00000000000..fb0924c9026
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/IExtendedTypeExtensionPoint.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes;
+
+
+/**
+ * Constants for the extension point
+ */
+public interface IExtendedTypeExtensionPoint {
+
+ /** ID of the extension point */
+ public final static String ID = Activator.PLUGIN_ID + ".extendedTypesSetConfiguration";
+
+ /** attribute: path to the model file in the bundle */
+ public static final String PATH = "path";
+
+ /** attribute: name of the configuration */
+ public static final String NAME = "name";
+
+ /** attribute: icon of the configuration */
+ public static final String ICON = "icon";
+
+ /** attribute: description of the configuration */
+ public static final String DESCRIPTION = "description";
+
+ /** element: element for the configuration element */
+ public static final String CONFIGURATION = "configuration";
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/advices/ExtendedTypesOwnerAdvice.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/advices/ExtendedTypesOwnerAdvice.java
new file mode 100644
index 00000000000..b661e2f6752
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/advices/ExtendedTypesOwnerAdvice.java
@@ -0,0 +1,102 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes.advices;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.papyrus.core.queries.configuration.QueryConfiguration;
+import org.eclipse.papyrus.core.queries.modisco.QueryUtil;
+import org.eclipse.papyrus.diagram.extendedtypes.Activator;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.PostActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.providers.ExtendedElementTypeActionService;
+import org.eclipse.papyrus.diagram.extendedtypes.providers.ProviderNotFoundException;
+import org.eclipse.papyrus.diagram.extendedtypes.types.IExtendedHintedElementType;
+
+
+/**
+ * Advice for potential owners of Extended Element Types. This advice will help to the pre/post validation for the creation of child element which is
+ * describe by the extended type
+ */
+public class ExtendedTypesOwnerAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getBeforeCreateCommand(CreateElementRequest request) {
+ // test if the type element to be created is an extended one. If yes, test the validation queries.
+ // if they are valid, return identity command, which does nothing
+ // else, if not valid, return a not executable command
+ IElementType typeToCreate = request.getElementType();
+ if(typeToCreate instanceof IExtendedHintedElementType) {
+ ExtendedElementTypeConfiguration configuration = ((IExtendedHintedElementType)typeToCreate).getConfiguration();
+ List<QueryConfiguration> queryConfigurations = configuration.getPreValidation();
+ if(queryConfigurations == null || queryConfigurations.isEmpty()) {
+ return super.getBeforeCreateCommand(request);
+ }
+
+ // check all validation rules given by the configuration
+ for(Object objectToEdit : request.getElementsToEdit()) {
+ // there are queries to test
+ for(QueryConfiguration queryConfiguration : queryConfigurations) {
+ try {
+ boolean result = QueryUtil.evaluateBooleanQuery((EObject)objectToEdit, queryConfiguration);
+ if(!result) {
+ // return an unexecutable command, so the create command will not be executable
+ return UnexecutableCommand.INSTANCE;
+ }
+ } catch (Exception e) {
+ Activator.log.error(e);
+ }
+ }
+ }
+
+ // Check all pre and post action validation rules. They are given by the provider of the action
+ CompositeCommand compositeCommand = new CompositeCommand("PreValidationPostAction");
+ for(PostActionConfiguration postActionConfiguration : configuration.getPostAction()) {
+ ICommand command = null;
+ try {
+ command = ExtendedElementTypeActionService.getInstance().getPreValidationCommand(request.getElementsToEdit(), postActionConfiguration);
+ } catch (ProviderNotFoundException e) {
+ Activator.log.error(e);
+ }
+ if(command != null) {
+ compositeCommand.add(command);
+ }
+ }
+ // get the super command
+ ICommand superCommand = super.getBeforeCreateCommand(request);
+
+ // if not null, adds it to the result
+ if(superCommand != null) {
+ compositeCommand.compose(superCommand);
+ }
+
+ // if result not null, returns the composite command
+ if(!compositeCommand.isEmpty()) {
+ return compositeCommand;
+ }
+ return super.getBeforeCreateCommand(request);
+ }
+ return super.getBeforeCreateCommand(request);
+ }
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/ExtendedElementTypeActionService.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/ExtendedElementTypeActionService.java
new file mode 100644
index 00000000000..b1529547985
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/ExtendedElementTypeActionService.java
@@ -0,0 +1,198 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes.providers;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.service.ExecutionStrategy;
+import org.eclipse.gmf.runtime.common.core.service.IOperation;
+import org.eclipse.gmf.runtime.common.core.service.IProvider;
+import org.eclipse.gmf.runtime.common.core.service.Service;
+import org.eclipse.gmf.runtime.common.ui.services.util.ActivityFilterProviderDescriptor;
+import org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.Activator;
+
+
+/**
+ * Service to retrieve the provider giving the command for a specific {@link ActionConfiguration}
+ */
+public class ExtendedElementTypeActionService extends Service {
+
+ /** singleton instance of this service */
+ protected final static ExtendedElementTypeActionService instance = new ExtendedElementTypeActionService();
+
+ /**
+ * initialize the service
+ */
+ static {
+ instance.configureProviders(Activator.PLUGIN_ID, "extendedElementTypeActionProvider"); //$NON-NLS-1$
+ }
+
+ /**
+ * Default constructor.
+ */
+ protected ExtendedElementTypeActionService() {
+
+ }
+
+ /**
+ * Returns the singleton instance of this service
+ *
+ * @return the singleton instance of this service
+ */
+ synchronized public static ExtendedElementTypeActionService getInstance() {
+ return instance;
+ }
+
+ /**
+ * @see org.eclipse.gmf.runtime.common.core.service.Service#newProviderDescriptor(org.eclipse.core.runtime.IConfigurationElement)
+ */
+ protected Service.ProviderDescriptor newProviderDescriptor(IConfigurationElement element) {
+ return new ProviderDescriptor(element);
+ }
+
+ /**
+ * Returns all providers in the service
+ *
+ * @return the list of providers found or an empty list.
+ */
+ public List<IExtendedElementTypeActionProvider> getProviders() {
+ List<IExtendedElementTypeActionProvider> providers = new ArrayList<IExtendedElementTypeActionProvider>();
+ execute(ExecutionStrategy.REVERSE, new GetAllExtendedElementTypeActionProvidersOperation(providers));
+ return providers;
+ }
+
+ /**
+ * Returns the provider with the given identifier
+ *
+ * @param actionConfiguration
+ * the actionConfiguration for the provider to retrieve
+ * @return the provider found or <code>null</code>.
+ */
+ public IExtendedElementTypeActionProvider getProvider(ActionConfiguration actionConfiguration) {
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ List<IExtendedElementTypeActionProvider> providers = (List)execute(ExecutionStrategy.REVERSE, new GetExtendedElementTypeActionProviderOperation(actionConfiguration));
+ Iterator<IExtendedElementTypeActionProvider> it = providers.iterator();
+ while(it.hasNext()) {
+ IExtendedElementTypeActionProvider aspectActionProvider = (IExtendedElementTypeActionProvider)it.next();
+ if(aspectActionProvider != null) {
+ return aspectActionProvider;
+ }
+ }
+ return null; // backward compatibility
+ }
+
+ /**
+ * Returns the command for the given {@link ActionConfiguration}.
+ *
+ * @param elementsToEdit
+ * list of elements to edit
+ *
+ * @param configuration
+ * the configuration of the action
+ * @return the {@link ICommand} configured by the parameter or <code>null</code>.
+ * @throws ProviderNotFoundException
+ * exception thrown when the provider was not found for this configuration
+ */
+ public ICommand getICommand(List<? extends Object> elementsToEdit, ActionConfiguration configuration) throws ProviderNotFoundException {
+ IExtendedElementTypeActionProvider provider = getProvider(configuration);
+ if(provider != null) {
+ return provider.getICommand(elementsToEdit, configuration);
+ }
+ throw new ProviderNotFoundException(configuration);
+ }
+
+ /**
+ * Returns the command for the given {@link ActionConfiguration}.
+ *
+ * @param elementsToEdit
+ * list of elements to edit
+ *
+ * @param configuration
+ * the configuration of the action
+ * @return the {@link ICommand} configured by the parameter or <code>null</code>.
+ * @throws ProviderNotFoundException
+ * exception thrown when the provider was not found for this configuration
+ */
+ public ICommand getPreValidationCommand(List<? extends Object> elementsToEdit, ActionConfiguration configuration) throws ProviderNotFoundException {
+ IExtendedElementTypeActionProvider provider = getProvider(configuration);
+ if(provider != null) {
+ return provider.getBeforeCreateValidationCommand(elementsToEdit, configuration);
+ }
+ throw new ProviderNotFoundException(configuration);
+ }
+
+ /**
+ * A descriptor for aspect tool providers defined by a configuration element.
+ */
+ protected static class ProviderDescriptor extends ActivityFilterProviderDescriptor {
+
+ /** the provider configuration parsed from XML */
+ protected ExtentedElementTypeActionProviderConfiguration providerConfiguration;
+
+ /**
+ * Constructs a <code>ISemanticProvider</code> descriptor for
+ * the specified configuration element.
+ *
+ * @param element
+ * The configuration element describing the provider.
+ */
+ public ProviderDescriptor(IConfigurationElement element) {
+ super(element);
+ this.providerConfiguration = ExtentedElementTypeActionProviderConfiguration.parse(element);
+ Assert.isNotNull(providerConfiguration);
+ }
+
+ /**
+ * @see org.eclipse.gmf.runtime.common.core.service.IProvider#provides(org.eclipse.gmf.runtime.common.core.service.IOperation)
+ */
+ public boolean provides(IOperation operation) {
+ if(!super.provides(operation)) {
+ return false;
+ }
+ if(operation instanceof GetAllExtendedElementTypeActionProvidersOperation) {
+ return true;
+ }
+ if(operation instanceof GetExtendedElementTypeActionProviderOperation) {
+ String providerConfigurationClassName = providerConfiguration.getConfigurationClassName();
+ if(providerConfigurationClassName == null) {
+ Activator.log.error("Error during the parsing of the action configuration extension point", null);
+ return false;
+ }
+ String configurationClassName = ((GetExtendedElementTypeActionProviderOperation)operation).getActionConfiguration().eClass().getInstanceClassName();
+ return providerConfigurationClassName.equals(configurationClassName);
+ }
+ return false;
+ }
+
+ /**
+ * @see org.eclipse.gmf.runtime.common.core.service.Service.ProviderDescriptor#getProvider()
+ */
+ public IProvider getProvider() {
+ if(provider == null) {
+ IProvider newProvider = super.getProvider();
+ if(provider instanceof IExtendedElementTypeActionProvider) {
+ IExtendedElementTypeActionProvider defaultProvider = (IExtendedElementTypeActionProvider)newProvider;
+ defaultProvider.setConfiguration(getElement());
+ }
+ return newProvider;
+ }
+ return super.getProvider();
+ }
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/ExtentedElementTypeActionProviderConfiguration.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/ExtentedElementTypeActionProviderConfiguration.java
new file mode 100644
index 00000000000..1050cc2549e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/ExtentedElementTypeActionProviderConfiguration.java
@@ -0,0 +1,82 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes.providers;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.gmf.runtime.common.core.service.AbstractProviderConfiguration;
+
+/**
+ * Provider configuration for the aspect tool factory extension point.
+ */
+public class ExtentedElementTypeActionProviderConfiguration extends AbstractProviderConfiguration {
+
+ /** field for provider class name */
+ protected static final String CLASS = "class";
+
+ /** field for configuration class name */
+ private static final String CONFIGURATION_CLASS = "configurationClass";
+
+ /** class name of the provider */
+ protected final String className;
+
+ /** class name of the configuration */
+ private final String configurationClassName;
+
+ /**
+ * Creates and builds a new provider contribution descriptor by parsing its configuration element.
+ *
+ * @param configElement
+ * A provider XML configuration element
+ * @return A provider XML contribution descriptor
+ */
+ public static ExtentedElementTypeActionProviderConfiguration parse(IConfigurationElement configElement) {
+ Assert.isNotNull(configElement, "null provider configuration element"); //$NON-NLS-1$
+ return new ExtentedElementTypeActionProviderConfiguration(configElement);
+ }
+
+ /**
+ * Creates a new <code>ProviderContributionDescriptor</code> instance
+ * by parsing its configuration element.
+ *
+ * @param configElement
+ * The provider XML configuration element
+ */
+ protected ExtentedElementTypeActionProviderConfiguration(IConfigurationElement configElement) {
+ // retrieve only ID, to test if the factory is the right one before creating whole element
+ className = configElement.getAttribute(CLASS);
+ Assert.isNotNull(className, "impossible to get the class name for the provider");
+
+ configurationClassName = configElement.getAttribute(CONFIGURATION_CLASS);
+ Assert.isNotNull(className, "impossible to get the class name for the provider");
+ }
+
+
+ /**
+ * Returns the class name of the provider configured by this configuration
+ *
+ * @return the id of the factory
+ */
+ public String getClassName() {
+ return className;
+ }
+
+ /**
+ * Name of the configuration class
+ *
+ * @return the configuration Class Name
+ */
+ public String getConfigurationClassName() {
+ return configurationClassName;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/GetAllExtendedElementTypeActionProvidersOperation.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/GetAllExtendedElementTypeActionProvidersOperation.java
new file mode 100644
index 00000000000..0a447f30705
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/GetAllExtendedElementTypeActionProvidersOperation.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes.providers;
+
+import java.util.List;
+
+import org.eclipse.gmf.runtime.common.core.service.IOperation;
+import org.eclipse.gmf.runtime.common.core.service.IProvider;
+
+
+/**
+ * Operation that returns all providers for the {@link ExtendedElementTypeActionService}.
+ */
+public class GetAllExtendedElementTypeActionProvidersOperation implements IOperation {
+
+ /** list of providers to fill */
+ private final List<IExtendedElementTypeActionProvider> providers;
+
+ /**
+ * Creates a new GetAllExtendedElementTypeActionProvidersOperation.
+ *
+ * @param providers
+ * the list of providers to fill
+ */
+ public GetAllExtendedElementTypeActionProvidersOperation(List<IExtendedElementTypeActionProvider> providers) {
+ this.providers = providers;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object execute(IProvider provider) {
+ if(provider instanceof IExtendedElementTypeActionProvider) {
+ providers.add((IExtendedElementTypeActionProvider)provider);
+ }
+ return providers;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/GetExtendedElementTypeActionProviderOperation.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/GetExtendedElementTypeActionProviderOperation.java
new file mode 100644
index 00000000000..1698eeec0d8
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/GetExtendedElementTypeActionProviderOperation.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes.providers;
+
+import org.eclipse.gmf.runtime.common.core.service.IOperation;
+import org.eclipse.gmf.runtime.common.core.service.IProvider;
+import org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration;
+
+
+/**
+ * Operation that returns the first provider with given id
+ */
+public class GetExtendedElementTypeActionProviderOperation implements IOperation {
+
+ /** action configuration for the provider to find */
+ private final ActionConfiguration actionConfiguration;
+
+ /**
+ * Creates a new {@link GetExtendedElementTypeActionProviderOperation}.
+ *
+ * @param actionConfiguration
+ * action configuration for the provider to find
+ */
+ public GetExtendedElementTypeActionProviderOperation(ActionConfiguration actionConfiguration) {
+ this.actionConfiguration = actionConfiguration;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object execute(IProvider provider) {
+ return provider;
+ }
+
+ /**
+ * Returns the action configuration for this operation
+ *
+ * @return the action configuration for this operation
+ */
+ public ActionConfiguration getActionConfiguration() {
+ return actionConfiguration;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/IExtendedElementTypeActionProvider.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/IExtendedElementTypeActionProvider.java
new file mode 100644
index 00000000000..5d665e7001c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/IExtendedElementTypeActionProvider.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes.providers;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.service.IProvider;
+import org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration;
+
+
+/**
+ * Provider for extended element types action
+ */
+public interface IExtendedElementTypeActionProvider extends IProvider {
+
+ /**
+ * Returns the command to execute for the given configuration
+ *
+ * @param elementsToEdit
+ * list of elements to edit
+ *
+ * @param configuration
+ * the configuration for the command
+ *
+ * @return the command to execute for the given configuration
+ */
+ public ICommand getICommand(List<? extends Object> elementsToEdit, ActionConfiguration configuration);
+
+ /**
+ * Returns the command to execute for the given configuration to check if it will be executable
+ *
+ * @param elementsToEdit
+ * list of elements to edit
+ *
+ * @param configuration
+ * the configuration for the command
+ *
+ * @return the command to execute for the given configuration. should do nothing on the model (either null or identity command), only return an
+ * Unexecutable command if creation is not allowed
+ */
+ public ICommand getBeforeCreateValidationCommand(List<? extends Object> elementsToEdit, ActionConfiguration configuration);
+
+ /**
+ * Sets the configuration for this provider, given the configuration element
+ *
+ * @param element
+ * the element that configures this provider
+ */
+ public void setConfiguration(IConfigurationElement element);
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/ProviderNotFoundException.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/ProviderNotFoundException.java
new file mode 100644
index 00000000000..24e2962630f
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/providers/ProviderNotFoundException.java
@@ -0,0 +1,36 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes.providers;
+
+import org.eclipse.papyrus.diagram.extendedtypes.ActionConfiguration;
+
+
+/**
+ * Exception thrown when a provider was not found
+ */
+public class ProviderNotFoundException extends Exception {
+
+ /** serial UID */
+ private static final long serialVersionUID = 8919294410894098831L;
+
+ /**
+ * Constructor.
+ *
+ * @param configuration
+ * the configuration for which a provider was searched
+ *
+ */
+ public ProviderNotFoundException(ActionConfiguration configuration) {
+ super("Provider not found for configuration " + ((configuration != null) ? configuration.getLabel() : "null") + "[" + ((configuration != null) ? configuration.getId() : "null") + "]");
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/types/ExtendedHintedTypeFactory.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/types/ExtendedHintedTypeFactory.java
new file mode 100644
index 00000000000..b20f74b1cd5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/types/ExtendedHintedTypeFactory.java
@@ -0,0 +1,125 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes.types;
+
+import org.eclipse.gmf.runtime.emf.type.core.AbstractElementTypeFactory;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationTypeDescriptor;
+import org.eclipse.gmf.runtime.emf.type.core.SpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.internal.impl.HintedTypeFactory;
+import org.eclipse.papyrus.diagram.extendedtypes.Activator;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedSemanticTypeDescriptor;
+
+
+/**
+ * Factory for ExtendedHintedType elements
+ */
+public class ExtendedHintedTypeFactory extends AbstractElementTypeFactory {
+
+ /**
+ * The hinted type kind. This string is specified in the XML 'kind'
+ * attribute of any element type that is a hinted type.
+ */
+ public static final String HINTED_TYPE_KIND = "org.eclipse.gmf.runtime.emf.core.internal.util.IHintedType"; //$NON-NLS-1$
+
+ /**
+ * The semantic hint parameter name.
+ */
+ public static final String SEMANTIC_HINT_PARAM_NAME = "semanticHint"; //$NON-NLS-1$
+
+ /** singleton instance of this factory */
+ private static ExtendedHintedTypeFactory instance;
+
+ /**
+ * Returns the singleton instance of this factory.
+ *
+ * @return the singleton instance of this factory.
+ */
+ public synchronized static ExtendedHintedTypeFactory getInstance() {
+ if(instance == null) {
+ instance = new ExtendedHintedTypeFactory();
+ }
+ return instance;
+ }
+
+ /**
+ * Private Constructor.
+ *
+ */
+ private ExtendedHintedTypeFactory() {
+
+ }
+
+ /**
+ * The extended hinted specialization type class.
+ */
+ private static final class ExtendedHintedSpecializationType extends SpecializationType implements IExtendedHintedElementType {
+
+ /** The semantic hint */
+ private final String semanticHint;
+
+ /** element type configuration */
+ private final ExtendedElementTypeConfiguration configuration;
+
+ /**
+ * Constructs a new hinted type.
+ *
+ * @param descriptor
+ * the specialization type descriptor
+ * @param semanticHint
+ * the semantic hint
+ */
+ public ExtendedHintedSpecializationType(ISpecializationTypeDescriptor descriptor, String semanticHint, ExtendedElementTypeConfiguration configuration) {
+ super(descriptor);
+ this.semanticHint = semanticHint;
+ this.configuration = configuration;
+ }
+
+ /**
+ * Gets the semantic hint.
+ */
+ public String getSemanticHint() {
+ return semanticHint;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public ExtendedElementTypeConfiguration getConfiguration() {
+ return configuration;
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("restriction")
+ @Override
+ public ISpecializationType createSpecializationType(ISpecializationTypeDescriptor descriptor) {
+
+ String semanticHint = descriptor.getParamValue(SEMANTIC_HINT_PARAM_NAME);
+
+ if(descriptor instanceof ExtendedSemanticTypeDescriptor) {
+ ExtendedElementTypeConfiguration configuration = ((ExtendedSemanticTypeDescriptor)descriptor).getConfiguration();
+ return new ExtendedHintedSpecializationType(descriptor, semanticHint, configuration);
+ }
+
+ // used default factory. Should never happen
+ Activator.log.warn("The Extended type factory should never use HintedTypeFactory from GMF");
+ return new HintedTypeFactory().createSpecializationType(descriptor);
+ }
+
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/types/IExtendedHintedElementType.java b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/types/IExtendedHintedElementType.java
new file mode 100644
index 00000000000..893b2995492
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.extendedtypes/src/org/eclipse/papyrus/diagram/extendedtypes/types/IExtendedHintedElementType.java
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.extendedtypes.types;
+
+import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedElementTypeConfiguration;
+
+
+/**
+ * Element Type that contains a configuration for extensions (Pre/Post actions and validation)
+ */
+public interface IExtendedHintedElementType extends ISpecializationType, IHintedType {
+
+ /**
+ * Returns the Element Type configuration associated to the element type.
+ * @return the Element Type configuration associated to the element type.
+ */
+ public ExtendedElementTypeConfiguration getConfiguration();
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/.classpath b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/.classpath
new file mode 100644
index 00000000000..cedf0d0d0b5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/.project b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/.project
new file mode 100644
index 00000000000..8b9f1fe80f9
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.diagram.paletteconfiguration.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/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..37aa4ac8c58
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.diagram.paletteconfiguration.edit;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.diagram.paletteconfiguration.provider.PaletteConfigurationEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.diagram.paletteconfiguration.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.diagram.paletteconfiguration;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ org.eclipse.papyrus.core.queries.configuration;visibility:=reexport,
+ org.eclipse.papyrus.core.queries.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.uml;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/about.html b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/build.properties b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/build.properties
new file mode 100644
index 00000000000..349c54c9d8e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/build.properties
@@ -0,0 +1,15 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateConfiguration_icon_IconDescriptor.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateConfiguration_icon_IconDescriptor.gif
new file mode 100644
index 00000000000..07e259867da
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateConfiguration_icon_IconDescriptor.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateDrawerConfiguration_ownedConfigurations_StackConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateDrawerConfiguration_ownedConfigurations_StackConfiguration.gif
new file mode 100644
index 00000000000..234486172ca
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateDrawerConfiguration_ownedConfigurations_StackConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateDrawerConfiguration_ownedConfigurations_ToolConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateDrawerConfiguration_ownedConfigurations_ToolConfiguration.gif
new file mode 100644
index 00000000000..9dfa28cb9e3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateDrawerConfiguration_ownedConfigurations_ToolConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreatePaletteConfiguration_drawerConfigurations_DrawerConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreatePaletteConfiguration_drawerConfigurations_DrawerConfiguration.gif
new file mode 100644
index 00000000000..310eb18e34b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreatePaletteConfiguration_drawerConfigurations_DrawerConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateStackConfiguration_toolConfigurations_ToolConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateStackConfiguration_toolConfigurations_ToolConfiguration.gif
new file mode 100644
index 00000000000..9dfa28cb9e3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateStackConfiguration_toolConfigurations_ToolConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateToolConfiguration_elementDescriptors_ElementDescriptor.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateToolConfiguration_elementDescriptors_ElementDescriptor.gif
new file mode 100644
index 00000000000..fc576a1c112
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/CreateToolConfiguration_elementDescriptors_ElementDescriptor.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/IconDescriptor.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/IconDescriptor.gif
new file mode 100644
index 00000000000..07e259867da
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/IconDescriptor.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/StackConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/StackConfiguration.gif
new file mode 100644
index 00000000000..234486172ca
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/StackConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/ToolConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/ToolConfiguration.gif
new file mode 100644
index 00000000000..9dfa28cb9e3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/ToolConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/new_drawer.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/new_drawer.gif
new file mode 100644
index 00000000000..310eb18e34b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/ctool16/new_drawer.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/DrawerConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/DrawerConfiguration.gif
new file mode 100644
index 00000000000..51e703b1b9c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/DrawerConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/ElementDescriptor.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/ElementDescriptor.gif
new file mode 100644
index 00000000000..d3dc5a9ad81
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/ElementDescriptor.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/IconDescriptor.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/IconDescriptor.gif
new file mode 100644
index 00000000000..07e259867da
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/IconDescriptor.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/Image.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/Image.gif
new file mode 100644
index 00000000000..07e259867da
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/Image.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/PaletteConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/PaletteConfiguration.gif
new file mode 100644
index 00000000000..80c152ab6b4
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/PaletteConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/StackConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/StackConfiguration.gif
new file mode 100644
index 00000000000..234486172ca
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/StackConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/ToolConfiguration.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/ToolConfiguration.gif
new file mode 100644
index 00000000000..9dfa28cb9e3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/ToolConfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/drawer.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/drawer.gif
new file mode 100644
index 00000000000..51e703b1b9c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/drawer.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/palette_view.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/palette_view.gif
new file mode 100644
index 00000000000..80c152ab6b4
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/palette_view.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/stack.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/stack.gif
new file mode 100644
index 00000000000..234486172ca
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/stack.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/tool.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/tool.gif
new file mode 100644
index 00000000000..9dfa28cb9e3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/icons/full/obj16/tool.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/plugin.properties b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/plugin.properties
new file mode 100644
index 00000000000..5b9bc707071
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/plugin.properties
@@ -0,0 +1,49 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = Papryus PaletteConfiguration Edit Support (Incubation)
+providerName =Eclipse Modeling Project
+
+_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_PaletteConfiguration_type = Palette Configuration
+_UI_ToolConfiguration_type = Tool Configuration
+_UI_StackConfiguration_type = Stack Configuration
+_UI_ChildConfiguration_type = Child Configuration
+_UI_DrawerConfiguration_type = Drawer Configuration
+_UI_Configuration_type = Configuration
+_UI_IconDescriptor_type = Icon Descriptor
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_PaletteConfiguration_drawerConfigurations_feature = Drawer Configurations
+_UI_ToolConfiguration_preValidationQuery_feature = Pre Validation Query
+_UI_StackConfiguration_toolConfigurations_feature = Tool Configurations
+_UI_DrawerConfiguration_ownedConfigurations_feature = Owned Configurations
+_UI_Configuration_id_feature = Id
+_UI_Configuration_label_feature = Label
+_UI_Configuration_description_feature = Description
+_UI_Configuration_icon_feature = Icon
+_UI_IconDescriptor_pluginID_feature = Plugin ID
+_UI_IconDescriptor_iconPath_feature = Icon Path
+_UI_Unknown_feature = Unspecified
+
+_UI_ToolConfiguration_elementTypes_feature = Element Types
+_UI_ToolConfiguration_kind_feature = Kind
+_UI_ToolKind_CreationTool_literal = CreationTool
+_UI_ToolKind_ConnectionTool_literal = ConnectionTool
+_UI_ElementDescriptor_type = Element Descriptor
+_UI_ToolConfiguration_elementDescriptors_feature = Element Descriptors
+_UI_ElementDescriptor_elementTypeId_feature = Element Type Id
+_UI_ElementDescriptor_graphicalHints_feature = Graphical Hints
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/plugin.xml b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/plugin.xml
new file mode 100644
index 00000000000..4e436156edb
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/plugin.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <factory
+ uri="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.7"
+ class="org.eclipse.papyrus.diagram.paletteconfiguration.provider.PaletteconfigurationItemProviderAdapterFactory"
+ 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/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ChildConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ChildConfigurationItemProvider.java
new file mode 100644
index 00000000000..2f0bc4785b7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ChildConfigurationItemProvider.java
@@ -0,0 +1,103 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.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.diagram.paletteconfiguration.ChildConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.ChildConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ChildConfigurationItemProvider
+ extends ConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ChildConfigurationItemProvider(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 = ((ChildConfiguration)object).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_ChildConfiguration_type") :
+ getString("_UI_ChildConfiguration_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);
+ 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/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ConfigurationItemProvider.java
new file mode 100644
index 00000000000..142d3583e25
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ConfigurationItemProvider.java
@@ -0,0 +1,239 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.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.diagram.paletteconfiguration.Configuration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationFactory;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConfigurationItemProvider
+ 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 ConfigurationItemProvider(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);
+
+ addIdPropertyDescriptor(object);
+ addLabelPropertyDescriptor(object);
+ addDescriptionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Configuration_id_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Configuration_id_feature", "_UI_Configuration_type"),
+ PaletteconfigurationPackage.Literals.CONFIGURATION__ID,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Label feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLabelPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Configuration_label_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Configuration_label_feature", "_UI_Configuration_type"),
+ PaletteconfigurationPackage.Literals.CONFIGURATION__LABEL,
+ 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_Configuration_description_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Configuration_description_feature", "_UI_Configuration_type"),
+ PaletteconfigurationPackage.Literals.CONFIGURATION__DESCRIPTION,
+ 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(PaletteconfigurationPackage.Literals.CONFIGURATION__ICON);
+ }
+ 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 = ((Configuration)object).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_Configuration_type") :
+ getString("_UI_Configuration_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(Configuration.class)) {
+ case PaletteconfigurationPackage.CONFIGURATION__ID:
+ case PaletteconfigurationPackage.CONFIGURATION__LABEL:
+ case PaletteconfigurationPackage.CONFIGURATION__DESCRIPTION:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case PaletteconfigurationPackage.CONFIGURATION__ICON:
+ 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
+ (PaletteconfigurationPackage.Literals.CONFIGURATION__ICON,
+ PaletteconfigurationFactory.eINSTANCE.createIconDescriptor()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PaletteConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/DrawerConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/DrawerConfigurationItemProvider.java
new file mode 100644
index 00000000000..8c552ee57bc
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/DrawerConfigurationItemProvider.java
@@ -0,0 +1,165 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.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.diagram.paletteconfiguration.DrawerConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationFactory;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DrawerConfigurationItemProvider
+ extends ConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DrawerConfigurationItemProvider(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(PaletteconfigurationPackage.Literals.DRAWER_CONFIGURATION__OWNED_CONFIGURATIONS);
+ }
+ 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 DrawerConfiguration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/DrawerConfiguration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((DrawerConfiguration)object).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_DrawerConfiguration_type") :
+ getString("_UI_DrawerConfiguration_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(DrawerConfiguration.class)) {
+ case PaletteconfigurationPackage.DRAWER_CONFIGURATION__OWNED_CONFIGURATIONS:
+ 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
+ (PaletteconfigurationPackage.Literals.DRAWER_CONFIGURATION__OWNED_CONFIGURATIONS,
+ PaletteconfigurationFactory.eINSTANCE.createToolConfiguration()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (PaletteconfigurationPackage.Literals.DRAWER_CONFIGURATION__OWNED_CONFIGURATIONS,
+ PaletteconfigurationFactory.eINSTANCE.createStackConfiguration()));
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ElementDescriptorItemProvider.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ElementDescriptorItemProvider.java
new file mode 100644
index 00000000000..e03574deeff
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ElementDescriptorItemProvider.java
@@ -0,0 +1,185 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.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.diagram.paletteconfiguration.ElementDescriptor;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ElementDescriptorItemProvider
+ 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 ElementDescriptorItemProvider(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);
+
+ addElementTypeIdPropertyDescriptor(object);
+ addGraphicalHintsPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Element Type Id feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addElementTypeIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementDescriptor_elementTypeId_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ElementDescriptor_elementTypeId_feature", "_UI_ElementDescriptor_type"),
+ PaletteconfigurationPackage.Literals.ELEMENT_DESCRIPTOR__ELEMENT_TYPE_ID,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Graphical Hints feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGraphicalHintsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementDescriptor_graphicalHints_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ElementDescriptor_graphicalHints_feature", "_UI_ElementDescriptor_type"),
+ PaletteconfigurationPackage.Literals.ELEMENT_DESCRIPTOR__GRAPHICAL_HINTS,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns ElementDescriptor.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ElementDescriptor"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ElementDescriptor)object).getElementTypeId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_ElementDescriptor_type") :
+ getString("_UI_ElementDescriptor_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(ElementDescriptor.class)) {
+ case PaletteconfigurationPackage.ELEMENT_DESCRIPTOR__ELEMENT_TYPE_ID:
+ case PaletteconfigurationPackage.ELEMENT_DESCRIPTOR__GRAPHICAL_HINTS:
+ 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 PaletteConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/IconDescriptorItemProvider.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/IconDescriptorItemProvider.java
new file mode 100644
index 00000000000..18365bd5ddd
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/IconDescriptorItemProvider.java
@@ -0,0 +1,185 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.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.diagram.paletteconfiguration.IconDescriptor;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IconDescriptorItemProvider
+ 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 IconDescriptorItemProvider(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);
+
+ addPluginIDPropertyDescriptor(object);
+ addIconPathPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Plugin ID feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPluginIDPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_IconDescriptor_pluginID_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_IconDescriptor_pluginID_feature", "_UI_IconDescriptor_type"),
+ PaletteconfigurationPackage.Literals.ICON_DESCRIPTOR__PLUGIN_ID,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * 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_IconDescriptor_iconPath_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_IconDescriptor_iconPath_feature", "_UI_IconDescriptor_type"),
+ PaletteconfigurationPackage.Literals.ICON_DESCRIPTOR__ICON_PATH,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns IconDescriptor.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/IconDescriptor"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((IconDescriptor)object).getPluginID();
+ return label == null || label.length() == 0 ?
+ getString("_UI_IconDescriptor_type") :
+ getString("_UI_IconDescriptor_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(IconDescriptor.class)) {
+ case PaletteconfigurationPackage.ICON_DESCRIPTOR__PLUGIN_ID:
+ case PaletteconfigurationPackage.ICON_DESCRIPTOR__ICON_PATH:
+ 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 PaletteConfigurationEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/PaletteConfigurationEditPlugin.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/PaletteConfigurationEditPlugin.java
new file mode 100644
index 00000000000..a641ee3cbe4
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/PaletteConfigurationEditPlugin.java
@@ -0,0 +1,105 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.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.core.queries.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the PaletteConfiguration edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class PaletteConfigurationEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final PaletteConfigurationEditPlugin INSTANCE = new PaletteConfigurationEditPlugin();
+
+ /**
+ * 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 PaletteConfigurationEditPlugin() {
+ 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/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/PaletteConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/PaletteConfigurationItemProvider.java
new file mode 100644
index 00000000000..501931fc9b8
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/PaletteConfigurationItemProvider.java
@@ -0,0 +1,160 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.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.diagram.paletteconfiguration.PaletteConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationFactory;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.PaletteConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PaletteConfigurationItemProvider
+ extends ConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PaletteConfigurationItemProvider(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(PaletteconfigurationPackage.Literals.PALETTE_CONFIGURATION__DRAWER_CONFIGURATIONS);
+ }
+ 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 PaletteConfiguration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/PaletteConfiguration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((PaletteConfiguration)object).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_PaletteConfiguration_type") :
+ getString("_UI_PaletteConfiguration_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(PaletteConfiguration.class)) {
+ case PaletteconfigurationPackage.PALETTE_CONFIGURATION__DRAWER_CONFIGURATIONS:
+ 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
+ (PaletteconfigurationPackage.Literals.PALETTE_CONFIGURATION__DRAWER_CONFIGURATIONS,
+ PaletteconfigurationFactory.eINSTANCE.createDrawerConfiguration()));
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/PaletteconfigurationItemProviderAdapterFactory.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/PaletteconfigurationItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..97e5b9858f7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/PaletteconfigurationItemProviderAdapterFactory.java
@@ -0,0 +1,323 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.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.diagram.paletteconfiguration.util.PaletteconfigurationAdapterFactory;
+
+/**
+ * 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 PaletteconfigurationItemProviderAdapterFactory extends PaletteconfigurationAdapterFactory 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 PaletteconfigurationItemProviderAdapterFactory() {
+ 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.diagram.paletteconfiguration.PaletteConfiguration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PaletteConfigurationItemProvider paletteConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.PaletteConfiguration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createPaletteConfigurationAdapter() {
+ if (paletteConfigurationItemProvider == null) {
+ paletteConfigurationItemProvider = new PaletteConfigurationItemProvider(this);
+ }
+
+ return paletteConfigurationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ToolConfigurationItemProvider toolConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createToolConfigurationAdapter() {
+ if (toolConfigurationItemProvider == null) {
+ toolConfigurationItemProvider = new ToolConfigurationItemProvider(this);
+ }
+
+ return toolConfigurationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StackConfigurationItemProvider stackConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createStackConfigurationAdapter() {
+ if (stackConfigurationItemProvider == null) {
+ stackConfigurationItemProvider = new StackConfigurationItemProvider(this);
+ }
+
+ return stackConfigurationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DrawerConfigurationItemProvider drawerConfigurationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createDrawerConfigurationAdapter() {
+ if (drawerConfigurationItemProvider == null) {
+ drawerConfigurationItemProvider = new DrawerConfigurationItemProvider(this);
+ }
+
+ return drawerConfigurationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IconDescriptorItemProvider iconDescriptorItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createIconDescriptorAdapter() {
+ if (iconDescriptorItemProvider == null) {
+ iconDescriptorItemProvider = new IconDescriptorItemProvider(this);
+ }
+
+ return iconDescriptorItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ElementDescriptorItemProvider elementDescriptorItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createElementDescriptorAdapter() {
+ if (elementDescriptorItemProvider == null) {
+ elementDescriptorItemProvider = new ElementDescriptorItemProvider(this);
+ }
+
+ return elementDescriptorItemProvider;
+ }
+
+ /**
+ * 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 (paletteConfigurationItemProvider != null) paletteConfigurationItemProvider.dispose();
+ if (toolConfigurationItemProvider != null) toolConfigurationItemProvider.dispose();
+ if (stackConfigurationItemProvider != null) stackConfigurationItemProvider.dispose();
+ if (drawerConfigurationItemProvider != null) drawerConfigurationItemProvider.dispose();
+ if (iconDescriptorItemProvider != null) iconDescriptorItemProvider.dispose();
+ if (elementDescriptorItemProvider != null) elementDescriptorItemProvider.dispose();
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/StackConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/StackConfigurationItemProvider.java
new file mode 100644
index 00000000000..31653df10fd
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/StackConfigurationItemProvider.java
@@ -0,0 +1,160 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.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.diagram.paletteconfiguration.PaletteconfigurationFactory;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+import org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StackConfigurationItemProvider
+ extends ChildConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StackConfigurationItemProvider(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(PaletteconfigurationPackage.Literals.STACK_CONFIGURATION__TOOL_CONFIGURATIONS);
+ }
+ 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 StackConfiguration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/StackConfiguration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((StackConfiguration)object).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_StackConfiguration_type") :
+ getString("_UI_StackConfiguration_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(StackConfiguration.class)) {
+ case PaletteconfigurationPackage.STACK_CONFIGURATION__TOOL_CONFIGURATIONS:
+ 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
+ (PaletteconfigurationPackage.Literals.STACK_CONFIGURATION__TOOL_CONFIGURATIONS,
+ PaletteconfigurationFactory.eINSTANCE.createToolConfiguration()));
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ToolConfigurationItemProvider.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ToolConfigurationItemProvider.java
new file mode 100644
index 00000000000..076801a060e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ToolConfigurationItemProvider.java
@@ -0,0 +1,211 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.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.diagram.paletteconfiguration.PaletteconfigurationFactory;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+import org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ToolConfigurationItemProvider
+ extends ChildConfigurationItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ToolConfigurationItemProvider(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);
+
+ addPreValidationQueryPropertyDescriptor(object);
+ addKindPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Pre Validation Query feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPreValidationQueryPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ToolConfiguration_preValidationQuery_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ToolConfiguration_preValidationQuery_feature", "_UI_ToolConfiguration_type"),
+ PaletteconfigurationPackage.Literals.TOOL_CONFIGURATION__PRE_VALIDATION_QUERY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Kind feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addKindPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ToolConfiguration_kind_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ToolConfiguration_kind_feature", "_UI_ToolConfiguration_type"),
+ PaletteconfigurationPackage.Literals.TOOL_CONFIGURATION__KIND,
+ 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(PaletteconfigurationPackage.Literals.TOOL_CONFIGURATION__ELEMENT_DESCRIPTORS);
+ }
+ 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 ToolConfiguration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ToolConfiguration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ToolConfiguration)object).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_ToolConfiguration_type") :
+ getString("_UI_ToolConfiguration_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(ToolConfiguration.class)) {
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__KIND:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__ELEMENT_DESCRIPTORS:
+ 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
+ (PaletteconfigurationPackage.Literals.TOOL_CONFIGURATION__ELEMENT_DESCRIPTORS,
+ PaletteconfigurationFactory.eINSTANCE.createElementDescriptor()));
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/.classpath b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/.classpath
new file mode 100644
index 00000000000..cedf0d0d0b5
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/.project b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/.project
new file mode 100644
index 00000000000..a62f852ce42
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.diagram.paletteconfiguration.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/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..88fce044404
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.diagram.paletteconfiguration.editor;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.diagram.paletteconfiguration.presentation.PaletteConfigurationEditorPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.diagram.paletteconfiguration.presentation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources;visibility:=reexport,
+ org.eclipse.papyrus.diagram.paletteconfiguration.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.core.queries.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/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/about.html b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/build.properties b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/build.properties
new file mode 100644
index 00000000000..349c54c9d8e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/build.properties
@@ -0,0 +1,15 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/obj16/EcoreModelFile.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/obj16/EcoreModelFile.gif
new file mode 100644
index 00000000000..0b60dcc395e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/obj16/EcoreModelFile.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/obj16/PaletteconfigurationModelFile.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/obj16/PaletteconfigurationModelFile.gif
new file mode 100644
index 00000000000..80c152ab6b4
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/obj16/PaletteconfigurationModelFile.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/obj16/palette_view.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/obj16/palette_view.gif
new file mode 100644
index 00000000000..80c152ab6b4
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/obj16/palette_view.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/wizban/NewEcore.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/wizban/NewEcore.gif
new file mode 100644
index 00000000000..25980e99a59
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/wizban/NewEcore.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/wizban/NewPaletteconfiguration.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/wizban/NewPaletteconfiguration.gif
new file mode 100644
index 00000000000..25980e99a59
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/icons/full/wizban/NewPaletteconfiguration.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/plugin.properties b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/plugin.properties
new file mode 100644
index 00000000000..8573cefee33
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/plugin.properties
@@ -0,0 +1,61 @@
+#################################################################################
+# Copyright (c) 2010 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Remi Schnekenburger remi.schnekenburger@cea.fr - Initial API and implementation
+##################################################################################
+pluginName=Papyrus PaletteConfiguration Editor (Incubation)
+providerName=Eclipse Modeling Project
+
+_UI_PaletteconfigurationEditor_menu = &Paletteconfiguration 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_PaletteconfigurationModelWizard_label = Paletteconfiguration Model
+_UI_PaletteconfigurationModelWizard_description = Create a new Paletteconfiguration model
+
+_UI_PaletteconfigurationEditor_label = Paletteconfiguration Model Editor
+
+_UI_PaletteconfigurationEditorFilenameDefaultBase = My
+_UI_PaletteconfigurationEditorFilenameExtensions = paletteconfiguration
+
+_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?
+
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/plugin.xml b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/plugin.xml
new file mode 100644
index 00000000000..d3efc328dc7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/plugin.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.ui.newWizards">
+ <category
+ id="org.eclipse.emf.ecore.Wizard.category.ID"
+ name="%_UI_Wizard_category"/>
+ <wizard
+ id="org.eclipse.papyrus.diagram.paletteconfiguration.presentation.PaletteconfigurationModelWizardID"
+ name="%_UI_PaletteconfigurationModelWizard_label"
+ class="org.eclipse.papyrus.diagram.paletteconfiguration.presentation.PaletteconfigurationModelWizard"
+ category="org.eclipse.emf.ecore.Wizard.category.ID"
+ icon="icons/full/obj16/PaletteconfigurationModelFile.gif">
+ <description>%_UI_PaletteconfigurationModelWizard_description</description>
+ <selection class="org.eclipse.core.resources.IResource"/>
+ </wizard>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors">
+ <editor
+ id="org.eclipse.papyrus.diagram.paletteconfiguration.presentation.PaletteconfigurationEditorID"
+ name="%_UI_PaletteconfigurationEditor_label"
+ icon="icons/full/obj16/PaletteconfigurationModelFile.gif"
+ extensions="paletteconfiguration"
+ class="org.eclipse.papyrus.diagram.paletteconfiguration.presentation.PaletteconfigurationEditor"
+ contributorClass="org.eclipse.papyrus.diagram.paletteconfiguration.presentation.PaletteconfigurationActionBarContributor">
+ </editor>
+ </extension>
+
+</plugin>
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteConfigurationEditorPlugin.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteConfigurationEditorPlugin.java
new file mode 100644
index 00000000000..8e299f84a4b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteConfigurationEditorPlugin.java
@@ -0,0 +1,107 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.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.core.queries.configuration.provider.ConfigurationEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the PaletteConfiguration editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class PaletteConfigurationEditorPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final PaletteConfigurationEditorPlugin INSTANCE = new PaletteConfigurationEditorPlugin();
+
+ /**
+ * 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 PaletteConfigurationEditorPlugin() {
+ 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/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteconfigurationActionBarContributor.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteconfigurationActionBarContributor.java
new file mode 100644
index 00000000000..14e3451bfe7
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteconfigurationActionBarContributor.java
@@ -0,0 +1,427 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the Paletteconfiguration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PaletteconfigurationActionBarContributor
+ 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(PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+ @Override
+ public void run() {
+ try {
+ getPage().showView("org.eclipse.ui.views.PropertySheet");
+ }
+ catch (PartInitException exception) {
+ PaletteConfigurationEditorPlugin.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(PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+ @Override
+ public boolean isEnabled() {
+ return activeEditorPart instanceof IViewerProvider;
+ }
+
+ @Override
+ public void run() {
+ if (activeEditorPart instanceof IViewerProvider) {
+ Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+ if (viewer != null) {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createChildActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createSiblingActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PaletteconfigurationActionBarContributor() {
+ 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("paletteconfiguration-settings"));
+ toolBarManager.add(new Separator("paletteconfiguration-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(PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_PaletteconfigurationEditor_menu"), "org.eclipse.papyrus.diagram.paletteconfigurationMenuID");
+ 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(PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ submenuManager.insertBefore("additions", createChildMenuManager);
+
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new MenuManager(PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener
+ (new IMenuListener() {
+ public void menuAboutToShow(IMenuManager menuManager) {
+ menuManager.updateAll(true);
+ }
+ });
+
+ addGlobalActions(submenuManager);
+ }
+
+ /**
+ * When the active editor changes, this remembers the change and registers with it as a selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setActiveEditor(IEditorPart part) {
+ super.setActiveEditor(part);
+ activeEditorPart = part;
+
+ // Switch to the new selection provider.
+ //
+ if (selectionProvider != null) {
+ selectionProvider.removeSelectionChangedListener(this);
+ }
+ if (part == null) {
+ selectionProvider = null;
+ }
+ else {
+ selectionProvider = part.getSite().getSelectionProvider();
+ selectionProvider.addSelectionChangedListener(this);
+
+ // Fake a selection changed event to update the menus.
+ //
+ if (selectionProvider.getSelection() != null) {
+ selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+ }
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+ * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+ * that can be added to the selected object and updating the menus accordingly.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void selectionChanged(SelectionChangedEvent event) {
+ // Remove any menu items for old selection.
+ //
+ if (createChildMenuManager != null) {
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if (createSiblingMenuManager != null) {
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection<?> newChildDescriptors = null;
+ Collection<?> newSiblingDescriptors = null;
+
+ ISelection selection = event.getSelection();
+ if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+
+ EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+ createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+ if (createChildMenuManager != null) {
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if (createSiblingMenuManager != null) {
+ populateManager(createSiblingMenuManager, createSiblingActions, null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+ * by inserting them before the specified contribution item <code>contributionID</code>.
+ * If <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+ if (actions != null) {
+ for (IAction action : actions) {
+ if (contributionID != null) {
+ manager.insertBefore(contributionID, action);
+ }
+ else {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+ if (actions != null) {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++) {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while (contributionItem instanceof SubContributionItem) {
+ contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+ }
+
+ // Delete the ActionContributionItems with matching action.
+ //
+ if (contributionItem instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem)contributionItem).getAction();
+ if (actions.contains(action)) {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager) {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+
+ submenuManager = new MenuManager(PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+
+ submenuManager = new MenuManager(PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void addGlobalActions(IMenuManager menuManager) {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted objects.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean removeAllReferencesOnDelete() {
+ return true;
+ }
+
+} \ No newline at end of file
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteconfigurationEditor.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteconfigurationEditor.java
new file mode 100644
index 00000000000..47aa7770f43
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteconfigurationEditor.java
@@ -0,0 +1,1786 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.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.EObject;
+import org.eclipse.emf.ecore.EValidator;
+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.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.core.queries.configuration.provider.ConfigurationItemProviderAdapterFactory;
+import org.eclipse.papyrus.diagram.paletteconfiguration.provider.PaletteconfigurationItemProviderAdapterFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.dnd.DND;
+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 Paletteconfiguration model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PaletteconfigurationEditor
+ 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 PropertySheetPage 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(PaletteconfigurationEditor.this);
+
+ setCurrentViewer(contentOutlineViewer);
+ }
+ }
+ else if (p instanceof PropertySheet) {
+ if (((PropertySheet)p).getCurrentPage() == propertySheetPage) {
+ getActionBarContributor().setActiveEditor(PaletteconfigurationEditor.this);
+ handleActivate();
+ }
+ }
+ else if (p == PaletteconfigurationEditor.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);
+ }
+ };
+
+ /**
+ * 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 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(PaletteconfigurationEditor.this, false);
+ }
+ }
+ });
+ }
+
+ if (!visitor.getChangedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ changedResources.addAll(visitor.getChangedResources());
+ if (getSite().getPage().getActiveEditor() == PaletteconfigurationEditor.this) {
+ handleActivate();
+ }
+ }
+ });
+ }
+ }
+ catch (CoreException exception) {
+ PaletteConfigurationEditorPlugin.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(PaletteconfigurationEditor.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.diagram.paletteconfiguration.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) {
+ PaletteConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+ markerHelper.deleteMarkers(editingDomain.getResourceSet());
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ try {
+ markerHelper.createMarkers(diagnostic);
+ }
+ catch (CoreException exception) {
+ PaletteConfigurationEditorPlugin.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 PaletteconfigurationEditor() {
+ 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 PaletteconfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ConfigurationItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new EcoreItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new QueryItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new UMLItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+ // Create the command stack that will notify this editor as commands are executed.
+ //
+ BasicCommandStack commandStack = new BasicCommandStack();
+
+ // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+ //
+ commandStack.addCommandStackListener
+ (new CommandStackListener() {
+ public void commandStackChanged(final EventObject event) {
+ getContainer().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+
+ // Try to select the affected objects.
+ //
+ Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+ if (mostRecentCommand != null) {
+ setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+ }
+ if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) {
+ 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() };
+ 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.diagram.paletteconfiguration.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.diagram.paletteconfiguration.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(), PaletteconfigurationEditor.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(), PaletteconfigurationEditor.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(), PaletteconfigurationEditor.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(), PaletteconfigurationEditor.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(), PaletteconfigurationEditor.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(), PaletteconfigurationEditor.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() {
+ if (propertySheetPage == null) {
+ propertySheetPage =
+ new ExtendedPropertySheetPage(editingDomain) {
+ @Override
+ public void setSelectionToViewer(List<?> selection) {
+ PaletteconfigurationEditor.this.setSelectionToViewer(selection);
+ PaletteconfigurationEditor.this.setFocus();
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ };
+ propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+ }
+
+ 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);
+
+ // 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.
+ //
+ PaletteConfigurationEditorPlugin.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) {
+ try {
+ if (marker.getType().equals(EValidator.MARKER)) {
+ String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
+ if (uriAttribute != null) {
+ URI uri = URI.createURI(uriAttribute);
+ EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
+ if (eObject != null) {
+ setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
+ }
+ }
+ }
+ }
+ catch (CoreException exception) {
+ PaletteConfigurationEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ /**
+ * 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 PaletteConfigurationEditorPlugin.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 PaletteConfigurationEditorPlugin.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);
+ }
+
+ if (propertySheetPage != null) {
+ 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/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteconfigurationModelWizard.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteconfigurationModelWizard.java
new file mode 100644
index 00000000000..3b097c24f29
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/presentation/PaletteconfigurationModelWizard.java
@@ -0,0 +1,632 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.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.diagram.paletteconfiguration.PaletteconfigurationFactory;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+import org.eclipse.papyrus.diagram.paletteconfiguration.provider.PaletteConfigurationEditPlugin;
+
+
+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 PaletteconfigurationModelWizard 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(PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_PaletteconfigurationEditorFilenameExtensions").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 =
+ PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_PaletteconfigurationEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+ /**
+ * This caches an instance of the model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PaletteconfigurationPackage paletteconfigurationPackage = PaletteconfigurationPackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PaletteconfigurationFactory paletteconfigurationFactory = paletteconfigurationPackage.getPaletteconfigurationFactory();
+
+ /**
+ * This is the file creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PaletteconfigurationModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PaletteconfigurationModelWizardInitialObjectCreationPage 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(PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(PaletteConfigurationEditorPlugin.INSTANCE.getImage("full/wizban/NewPaletteconfiguration")));
+ }
+
+ /**
+ * 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 : paletteconfigurationPackage.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)paletteconfigurationPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = paletteconfigurationFactory.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) {
+ PaletteConfigurationEditorPlugin.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(), PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception exception) {
+ PaletteConfigurationEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class PaletteconfigurationModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PaletteconfigurationModelWizardNewFileCreationPage(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(PaletteConfigurationEditorPlugin.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 PaletteconfigurationModelWizardInitialObjectCreationPage 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 PaletteconfigurationModelWizardInitialObjectCreationPage(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(PaletteConfigurationEditorPlugin.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(PaletteConfigurationEditorPlugin.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 PaletteConfigurationEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+ }
+ catch(MissingResourceException mre) {
+ PaletteConfigurationEditorPlugin.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(PaletteConfigurationEditorPlugin.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 PaletteconfigurationModelWizardNewFileCreationPage("Whatever", selection);
+ newFileCreationPage.setTitle(PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_PaletteconfigurationModelWizard_label"));
+ newFileCreationPage.setDescription(PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_PaletteconfigurationModelWizard_description"));
+ newFileCreationPage.setFileName(PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_PaletteconfigurationEditorFilenameDefaultBase") + "." + 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 = PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_PaletteconfigurationEditorFilenameDefaultBase");
+ 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 PaletteconfigurationModelWizardInitialObjectCreationPage("Whatever2");
+ initialObjectCreationPage.setTitle(PaletteConfigurationEditorPlugin.INSTANCE.getString("_UI_PaletteconfigurationModelWizard_label"));
+ initialObjectCreationPage.setDescription(PaletteConfigurationEditorPlugin.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/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.classpath b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.classpath
new file mode 100644
index 00000000000..afb9bb46ef3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.project b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.project
new file mode 100644
index 00000000000..7b514f089f6
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.diagram.paletteconfiguration</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/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.settings/org.eclipse.core.resources.prefs b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..260bf03ebc3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+#Fri Oct 22 15:02:47 CEST 2010
+eclipse.preferences.version=1
+encoding//model/PaletteConfiguration.ecore=UTF-8
+encoding//model/PaletteConfiguration.ecorediag=UTF-8
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.settings/org.eclipse.jdt.core.prefs b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..32a49f2a22d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Fri Oct 22 14:46:12 CEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..2e30e498b01
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/META-INF/MANIFEST.MF
@@ -0,0 +1,32 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.diagram.paletteconfiguration;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.diagram.paletteconfiguration,
+ org.eclipse.papyrus.diagram.paletteconfiguration.descriptor,
+ org.eclipse.papyrus.diagram.paletteconfiguration.impl,
+ org.eclipse.papyrus.diagram.paletteconfiguration.provider,
+ org.eclipse.papyrus.diagram.paletteconfiguration.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.papyrus.core.queries.configuration;visibility:=reexport,
+ org.eclipse.emf.facet.infra.query;visibility:=reexport,
+ org.eclipse.uml2.uml;visibility:=reexport,
+ org.eclipse.ui,
+ org.eclipse.gmf.runtime.common.core;bundle-version="1.4.0",
+ org.eclipse.gmf.runtime.common.ui.services;bundle-version="1.3.0",
+ org.eclipse.gmf.runtime.diagram.core;bundle-version="1.4.0",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.4.0",
+ org.eclipse.papyrus.log;bundle-version="0.8.0",
+ org.eclipse.papyrus.diagram.extendedtypes;bundle-version="0.8.0",
+ org.eclipse.papyrus.core;bundle-version="0.8.0",
+ org.eclipse.papyrus.editor;bundle-version="0.8.0",
+ org.eclipse.papyrus.diagram.common;bundle-version="0.8.0"
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.papyrus.diagram.paletteconfiguration.Activator
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/about.html b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/build.properties b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/build.properties
new file mode 100644
index 00000000000..89d05c7c97c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/build.properties
@@ -0,0 +1,17 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html,\
+ icons/
+jars.compile.order = .
+source.. = src-gen/,\
+ src/
+output.. = bin/
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/drawer.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/drawer.gif
new file mode 100644
index 00000000000..51e703b1b9c
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/drawer.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/elementTypeIcon.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/elementTypeIcon.gif
new file mode 100644
index 00000000000..a82851f5e4a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/elementTypeIcon.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/stack.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/stack.gif
new file mode 100644
index 00000000000..234486172ca
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/stack.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/testIcon.png b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/testIcon.png
new file mode 100644
index 00000000000..be8651ef953
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/testIcon.png
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/tool.gif b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/tool.gif
new file mode 100644
index 00000000000..9dfa28cb9e3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/icons/tool.gif
Binary files differ
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/model/PaletteConfiguration.ecore b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/model/PaletteConfiguration.ecore
new file mode 100644
index 00000000000..ed6ae5d1088
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/model/PaletteConfiguration.ecore
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="paletteconfiguration"
+ nsURI="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.7" nsPrefix="paletteconfiguration">
+ <eClassifiers xsi:type="ecore:EClass" name="PaletteConfiguration" eSuperTypes="#//Configuration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="drawerConfigurations" lowerBound="1"
+ upperBound="-1" eType="#//DrawerConfiguration" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ToolConfiguration" eSuperTypes="#//ChildConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preValidationQuery" eType="ecore:EClass platform:/plugin/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecore#//QueryConfiguration"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="#//ToolKind"
+ defaultValueLiteral="CreationTool"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elementDescriptors" upperBound="-1"
+ eType="#//ElementDescriptor" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StackConfiguration" eSuperTypes="#//ChildConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toolConfigurations" lowerBound="1"
+ upperBound="-1" eType="#//ToolConfiguration" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ChildConfiguration" abstract="true"
+ eSuperTypes="#//Configuration"/>
+ <eClassifiers xsi:type="ecore:EClass" name="DrawerConfiguration" eSuperTypes="#//Configuration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedConfigurations" lowerBound="1"
+ upperBound="-1" eType="#//ChildConfiguration" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Configuration" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="unique identifier of the configuration, used by the tool to retrieve the configuration"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="label of the configuration, used only for display"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Description of the configuration."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="icon" eType="#//IconDescriptor"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IconDescriptor">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Descriptor for icons, constituted from the bundle ID and the path in the bundle."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="pluginID" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ID of the plugin where the icon is located. If not set, the tool will look in the bundle defining the palette."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="iconPath" lowerBound="1"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Path of the icon in the bundle. "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="ToolKind">
+ <eLiterals name="CreationTool"/>
+ <eLiterals name="ConnectionTool" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ElementDescriptor">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementTypeId" lowerBound="1"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="graphicalHints" upperBound="-1"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/model/PaletteConfiguration.ecorediag b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/model/PaletteConfiguration.ecorediag
new file mode 100644
index 00000000000..4181b6f3103
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/model/PaletteConfiguration.ecorediag
@@ -0,0 +1,330 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_quPlkN3cEd-vY7OSNoF8nA" type="EcoreTools" name="PaletteConfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_Es6HAN3dEd-vY7OSNoF8nA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Es6HA93dEd-vY7OSNoF8nA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Es6HBN3dEd-vY7OSNoF8nA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Es6HBd3dEd-vY7OSNoF8nA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Es6HBt3dEd-vY7OSNoF8nA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Es6HB93dEd-vY7OSNoF8nA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Es6HCN3dEd-vY7OSNoF8nA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Es6HCd3dEd-vY7OSNoF8nA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Es6HCt3dEd-vY7OSNoF8nA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Es6HC93dEd-vY7OSNoF8nA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Es6HAd3dEd-vY7OSNoF8nA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="PaletteConfiguration.ecore#//PaletteConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Es6HAt3dEd-vY7OSNoF8nA" x="15" y="240" width="233" height="68"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_FwHQcN3dEd-vY7OSNoF8nA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_FwHQc93dEd-vY7OSNoF8nA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_FwHQdN3dEd-vY7OSNoF8nA" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_ufg5ISAGEeCy0IHGPAm6kg" type="2001">
+ <element xmi:type="ecore:EAttribute" href="PaletteConfiguration.ecore#//ToolConfiguration/kind"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ufg5IiAGEeCy0IHGPAm6kg"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_FwHQdd3dEd-vY7OSNoF8nA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_FwHQdt3dEd-vY7OSNoF8nA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_FwHQd93dEd-vY7OSNoF8nA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_FwHQeN3dEd-vY7OSNoF8nA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_FwHQed3dEd-vY7OSNoF8nA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_FwHQet3dEd-vY7OSNoF8nA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_FwHQe93dEd-vY7OSNoF8nA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_FwHQcd3dEd-vY7OSNoF8nA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="PaletteConfiguration.ecore#//ToolConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FwHQct3dEd-vY7OSNoF8nA" x="770" y="365" width="173" height="163"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_UiCXMN3eEd-vY7OSNoF8nA" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UjrV8N3eEd-vY7OSNoF8nA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UjrV8d3eEd-vY7OSNoF8nA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_UiCXM93eEd-vY7OSNoF8nA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_UiCXNN3eEd-vY7OSNoF8nA" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_TSNWsOECEd-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="platform:/plugin/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecore#//QueryConfiguration/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TSNWseECEd-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_UiCXNd3eEd-vY7OSNoF8nA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UiCXNt3eEd-vY7OSNoF8nA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UiCXN93eEd-vY7OSNoF8nA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_UiCXON3eEd-vY7OSNoF8nA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_UiCXOd3eEd-vY7OSNoF8nA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UiCXOt3eEd-vY7OSNoF8nA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UiCXO93eEd-vY7OSNoF8nA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_UiCXMd3eEd-vY7OSNoF8nA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.papyrus.core.queries.configuration/model/Configuration.ecore#//QueryConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UiCXMt3eEd-vY7OSNoF8nA" x="1055" y="365" width="178"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_tJSakOAfEd-0CYOJPs0ewQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_tJSak-AfEd-0CYOJPs0ewQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_tJSalOAfEd-0CYOJPs0ewQ" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_tJSaleAfEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tJSaluAfEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tJSal-AfEd-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_tJSamOAfEd-0CYOJPs0ewQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_tJSameAfEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tJSamuAfEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tJSam-AfEd-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_tJSakeAfEd-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="PaletteConfiguration.ecore#//StackConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tJSakuAfEd-0CYOJPs0ewQ" x="465" y="365" width="173" height="88"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_50zD4OAfEd-0CYOJPs0ewQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_50zD4-AfEd-0CYOJPs0ewQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_50zD5OAfEd-0CYOJPs0ewQ" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_50zD5eAfEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_50zD5uAfEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_50zD5-AfEd-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_50zD6OAfEd-0CYOJPs0ewQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_50zD6eAfEd-0CYOJPs0ewQ" collapsed="true"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_50zD6uAfEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_50zD6-AfEd-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_50zD4eAfEd-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="PaletteConfiguration.ecore#//ChildConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_50zD4uAfEd-0CYOJPs0ewQ" x="650" y="235" width="198" height="68"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Vqk38OAgEd-0CYOJPs0ewQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Vqk38-AgEd-0CYOJPs0ewQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Vqk39OAgEd-0CYOJPs0ewQ" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Vqk39eAgEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vqk39uAgEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vqk39-AgEd-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Vqk3-OAgEd-0CYOJPs0ewQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Vqk3-eAgEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vqk3-uAgEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vqk3--AgEd-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Vqk38eAgEd-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="PaletteConfiguration.ecore#//DrawerConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vqk38uAgEd-0CYOJPs0ewQ" x="310" y="240" width="228" height="68"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_KBEQwOEpEd-0CYOJPs0ewQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_KBEQw-EpEd-0CYOJPs0ewQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_KBEQxOEpEd-0CYOJPs0ewQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_iti2wOEXEd-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="PaletteConfiguration.ecore#//Configuration/id"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_iti2weEXEd-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ko6-UOEXEd-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="PaletteConfiguration.ecore#//Configuration/label"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ko6-UeEXEd-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_wkqg4OHCEd-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="PaletteConfiguration.ecore#//Configuration/description"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_wkqg4eHCEd-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KBEQxeEpEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KBEQxuEpEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KBEQx-EpEd-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_KBEQyOEpEd-0CYOJPs0ewQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KBEQyeEpEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KBEQyuEpEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KBEQy-EpEd-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_KBEQweEpEd-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="PaletteConfiguration.ecore#//Configuration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KBEQwuEpEd-0CYOJPs0ewQ" x="390" y="15" width="188" height="83"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_x9n34OHCEd-0CYOJPs0ewQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_x9n34-HCEd-0CYOJPs0ewQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_x9n35OHCEd-0CYOJPs0ewQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_zItyAOHCEd-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="PaletteConfiguration.ecore#//IconDescriptor/pluginID"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_zItyAeHCEd-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_1_ZrQOHCEd-0CYOJPs0ewQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="PaletteConfiguration.ecore#//IconDescriptor/iconPath"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1_ZrQeHCEd-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_x9n35eHCEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x9n35uHCEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x9n35-HCEd-0CYOJPs0ewQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_x9n36OHCEd-0CYOJPs0ewQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_x9n36eHCEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x9n36uHCEd-0CYOJPs0ewQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x9n36-HCEd-0CYOJPs0ewQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_x9n34eHCEd-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="PaletteConfiguration.ecore#//IconDescriptor"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x9n34uHCEd-0CYOJPs0ewQ" x="710" y="25"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vcdpkCAGEeCy0IHGPAm6kg" type="1005">
+ <children xmi:type="notation:Node" xmi:id="_vcdpkyAGEeCy0IHGPAm6kg" type="4010"/>
+ <children xmi:type="notation:Node" xmi:id="_vcnakCAGEeCy0IHGPAm6kg" type="5008">
+ <children xmi:type="notation:Node" xmi:id="_xYSdECAGEeCy0IHGPAm6kg" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="PaletteConfiguration.ecore#//ToolKind/ConnectionTool"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_xYSdESAGEeCy0IHGPAm6kg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_wjPrcCAGEeCy0IHGPAm6kg" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="PaletteConfiguration.ecore#//ToolKind/CreationTool"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_wjPrcSAGEeCy0IHGPAm6kg"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_vcnakSAGEeCy0IHGPAm6kg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vcnakiAGEeCy0IHGPAm6kg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vcnakyAGEeCy0IHGPAm6kg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_vcdpkSAGEeCy0IHGPAm6kg" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EEnum" href="PaletteConfiguration.ecore#//ToolKind"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vcdpkiAGEeCy0IHGPAm6kg" x="335" y="368"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NRyAEU-1EeCh7u1nEJOyLA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_NRyAFE-1EeCh7u1nEJOyLA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_NRyAFU-1EeCh7u1nEJOyLA" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_gi_yEE-1EeCh7u1nEJOyLA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="PaletteConfiguration.ecore#//ElementDescriptor/elementTypeId"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_gi_yEU-1EeCh7u1nEJOyLA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_mH4W8E-1EeCh7u1nEJOyLA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="PaletteConfiguration.ecore#//ElementDescriptor/graphicalHints"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mH4W8U-1EeCh7u1nEJOyLA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_NRyAFk-1EeCh7u1nEJOyLA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NRyAF0-1EeCh7u1nEJOyLA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NRyAGE-1EeCh7u1nEJOyLA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NR7KAE-1EeCh7u1nEJOyLA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_NR7KAU-1EeCh7u1nEJOyLA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NR7KAk-1EeCh7u1nEJOyLA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NR7KA0-1EeCh7u1nEJOyLA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_NRyAEk-1EeCh7u1nEJOyLA" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="PaletteConfiguration.ecore#//ElementDescriptor"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NRyAE0-1EeCh7u1nEJOyLA" x="1055" y="435" width="178" height="93"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_quPlkd3cEd-vY7OSNoF8nA"/>
+ <element xmi:type="ecore:EPackage" href="PaletteConfiguration.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_HkoiEN3dEd-vY7OSNoF8nA" type="3002" source="_Vqk38OAgEd-0CYOJPs0ewQ" target="_50zD4OAfEd-0CYOJPs0ewQ">
+ <children xmi:type="notation:Node" xmi:id="_HkoiFN3dEd-vY7OSNoF8nA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_HkoiFd3dEd-vY7OSNoF8nA" x="6" y="-21"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_HkoiFt3dEd-vY7OSNoF8nA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_HkoiF93dEd-vY7OSNoF8nA" x="2" y="9"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_HkoiEd3dEd-vY7OSNoF8nA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_HkoiEt3dEd-vY7OSNoF8nA" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="PaletteConfiguration.ecore#//DrawerConfiguration/ownedConfigurations"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HkoiE93dEd-vY7OSNoF8nA" points="[0, 0, 0, 67]$[0, -67, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PIU2cOAhEd-0CYOJPs0ewQ" id="(0.9824561403508771,0.10294117647058823)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HkoiGN3dEd-vY7OSNoF8nA" id="(0.07575757575757576,0.22058823529411764)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Ui7vEN3eEd-vY7OSNoF8nA" type="3002" source="_FwHQcN3dEd-vY7OSNoF8nA" target="_UiCXMN3eEd-vY7OSNoF8nA">
+ <children xmi:type="notation:Node" xmi:id="_Ui7vFN3eEd-vY7OSNoF8nA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ui7vFd3eEd-vY7OSNoF8nA" x="-8" y="-23"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ui7vFt3eEd-vY7OSNoF8nA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ui7vF93eEd-vY7OSNoF8nA" x="3" y="7"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ui7vEd3eEd-vY7OSNoF8nA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Ui7vEt3eEd-vY7OSNoF8nA" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="PaletteConfiguration.ecore#//ToolConfiguration/preValidationQuery"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ui7vE93eEd-vY7OSNoF8nA" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VRRbwN3eEd-vY7OSNoF8nA" id="(0.9248554913294798,0.07364341085271318)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eWOMAuEpEd-0CYOJPs0ewQ" id="(0.011235955056179775,0.26153846153846155)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_vgrvwOAfEd-0CYOJPs0ewQ" type="3002" source="_tJSakOAfEd-0CYOJPs0ewQ" target="_FwHQcN3dEd-vY7OSNoF8nA">
+ <children xmi:type="notation:Node" xmi:id="_vgrvxOAfEd-0CYOJPs0ewQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vgrvxeAfEd-0CYOJPs0ewQ" x="-29" y="-18"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vgrvxuAfEd-0CYOJPs0ewQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vgrvx-AfEd-0CYOJPs0ewQ" x="1" y="12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_vgrvweAfEd-0CYOJPs0ewQ" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_vgrvwuAfEd-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="PaletteConfiguration.ecore#//StackConfiguration/toolConfigurations"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vgrvw-AfEd-0CYOJPs0ewQ" points="[0, 0, 89, 60]$[-89, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vgrvyOAfEd-0CYOJPs0ewQ" id="(0.8901734104046243,0.13953488372093023)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vgrvyeAfEd-0CYOJPs0ewQ" id="(0.023121387283236993,0.1434108527131783)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_ExtdYOAgEd-0CYOJPs0ewQ" type="3003" source="_tJSakOAfEd-0CYOJPs0ewQ" target="_50zD4OAfEd-0CYOJPs0ewQ">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ExtdYeAgEd-0CYOJPs0ewQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ExtdYuAgEd-0CYOJPs0ewQ"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ExtdY-AgEd-0CYOJPs0ewQ" points="[26, 0, -137, 64]$[26, -30, -137, 34]$[155, -30, -8, 34]$[155, -64, -8, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ex3OYOAgEd-0CYOJPs0ewQ" id="(0.49710982658959535,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hy-O8OAgEd-0CYOJPs0ewQ" id="(0.3235294117647059,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_FH6W4OAgEd-0CYOJPs0ewQ" type="3003" source="_FwHQcN3dEd-vY7OSNoF8nA" target="_50zD4OAfEd-0CYOJPs0ewQ">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_FH6W4eAgEd-0CYOJPs0ewQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FH6W4uAgEd-0CYOJPs0ewQ"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FH6W4-AgEd-0CYOJPs0ewQ" points="[-92, 0, 124, 64]$[-92, -30, 124, 34]$[-192, -30, 24, 34]$[-192, -64, 24, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FH6W5OAgEd-0CYOJPs0ewQ" id="(0.7456647398843931,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HNaq0OAgEd-0CYOJPs0ewQ" id="(0.1588235294117647,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XLcYUOAhEd-0CYOJPs0ewQ" type="3002" source="_Es6HAN3dEd-vY7OSNoF8nA" target="_Vqk38OAgEd-0CYOJPs0ewQ">
+ <children xmi:type="notation:Node" xmi:id="_XLcYVOAhEd-0CYOJPs0ewQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XLcYVeAhEd-0CYOJPs0ewQ" x="16" y="-21"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XLcYVuAhEd-0CYOJPs0ewQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XLcYV-AhEd-0CYOJPs0ewQ" x="1" y="14"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XLcYUeAhEd-0CYOJPs0ewQ" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XLcYUuAhEd-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="PaletteConfiguration.ecore#//PaletteConfiguration/drawerConfigurations"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XLcYU-AhEd-0CYOJPs0ewQ" points="[174, 21, -73, 13]$[203, 25, -44, 17]$[238, 12, -9, 4]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eWOMAOEpEd-0CYOJPs0ewQ" id="(0.9742489270386266,0.10294117647058823)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_u1gB4OEpEd-0CYOJPs0ewQ" id="(0.03070175438596491,0.14705882352941177)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_OLpa0OEpEd-0CYOJPs0ewQ" type="3003" source="_50zD4OAfEd-0CYOJPs0ewQ" target="_KBEQwOEpEd-0CYOJPs0ewQ">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_OLpa0eEpEd-0CYOJPs0ewQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_OLpa0uEpEd-0CYOJPs0ewQ"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OLpa0-EpEd-0CYOJPs0ewQ" points="[6, 0, 285, 148]$[6, -70, 285, 78]$[-265, -70, 14, 78]$[-265, -139, 14, 9]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OLpa1OEpEd-0CYOJPs0ewQ" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_T2onsOEpEd-0CYOJPs0ewQ" id="(0.425531914893617,0.8676470588235294)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_OojZQOEpEd-0CYOJPs0ewQ" type="3003" source="_Vqk38OAgEd-0CYOJPs0ewQ" target="_KBEQwOEpEd-0CYOJPs0ewQ">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_OojZQeEpEd-0CYOJPs0ewQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_OojZQuEpEd-0CYOJPs0ewQ"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OojZQ-EpEd-0CYOJPs0ewQ" points="[3, 0, -57, 144]$[3, -75, -57, 69]$[62, -75, 2, 69]$[62, -144, 2, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OojZROEpEd-0CYOJPs0ewQ" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SasOIOEpEd-0CYOJPs0ewQ" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_dAr8cOEpEd-0CYOJPs0ewQ" type="3003" source="_Es6HAN3dEd-vY7OSNoF8nA" target="_KBEQwOEpEd-0CYOJPs0ewQ">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_dAr8ceEpEd-0CYOJPs0ewQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_dAr8cuEpEd-0CYOJPs0ewQ"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dAr8c-EpEd-0CYOJPs0ewQ" points="[6, 0, -394, 146]$[6, -75, -394, 71]$[355, -75, -45, 71]$[355, -144, -45, 2]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dAr8dOEpEd-0CYOJPs0ewQ" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dAr8deEpEd-0CYOJPs0ewQ" id="(0.7553191489361702,0.9705882352941176)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EPMx0OHDEd-0CYOJPs0ewQ" type="3002" source="_KBEQwOEpEd-0CYOJPs0ewQ" target="_x9n34OHCEd-0CYOJPs0ewQ">
+ <children xmi:type="notation:Node" xmi:id="_EPMx1OHDEd-0CYOJPs0ewQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EPMx1eHDEd-0CYOJPs0ewQ" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EPMx1uHDEd-0CYOJPs0ewQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EPMx1-HDEd-0CYOJPs0ewQ" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EPMx0eHDEd-0CYOJPs0ewQ" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EPMx0uHDEd-0CYOJPs0ewQ" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="PaletteConfiguration.ecore#//Configuration/icon"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EPMx0-HDEd-0CYOJPs0ewQ" points="[21, 2, -161, 1]$[183, 33, 1, 32]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EPMx2OHDEd-0CYOJPs0ewQ" id="(0.8882978723404256,0.38235294117647056)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EPMx2eHDEd-0CYOJPs0ewQ" id="(0.03731343283582089,0.3230769230769231)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_-CzfIVCeEeCNGbEz50xHuA" type="3002" source="_FwHQcN3dEd-vY7OSNoF8nA" target="_NRyAEU-1EeCh7u1nEJOyLA">
+ <children xmi:type="notation:Node" xmi:id="_-C8pEFCeEeCNGbEz50xHuA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-C8pEVCeEeCNGbEz50xHuA" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_-C8pElCeEeCNGbEz50xHuA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-C8pE1CeEeCNGbEz50xHuA" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_-CzfIlCeEeCNGbEz50xHuA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-CzfI1CeEeCNGbEz50xHuA" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="PaletteConfiguration.ecore#//ToolConfiguration/elementDescriptors"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-CzfJFCeEeCNGbEz50xHuA" points="[86, 8, -129, 1]$[216, -10, 1, -17]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-C8pFFCeEeCNGbEz50xHuA" id="(0.0898876404494382,0.1935483870967742)"/>
+ </edges>
+</notation:Diagram>
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/model/PaletteConfiguration.genmodel b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/model/PaletteConfiguration.genmodel
new file mode 100644
index 00000000000..8c6eb91166a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/model/PaletteConfiguration.genmodel
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen"
+ editDirectory="/org.eclipse.papyrus.diagram.paletteconfiguration.edit/src-gen"
+ editorDirectory="/org.eclipse.papyrus.diagram.paletteconfiguration.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.diagram.paletteconfiguration" modelName="PaletteConfiguration"
+ modelPluginClass="" editPluginClass="org.eclipse.papyrus.diagram.paletteconfiguration.provider.PaletteConfigurationEditPlugin"
+ editorPluginClass="org.eclipse.papyrus.diagram.paletteconfiguration.presentation.PaletteConfigurationEditorPlugin"
+ testsDirectory="/org.eclipse.papyrus.diagram.paletteconfiguration.tests/src-gen"
+ testSuiteClass="org.eclipse.papyrus.diagram.paletteconfiguration.tests.PaletteConfigurationAllTests"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ usedGenPackages="platform:/plugin/org.eclipse.papyrus.core.queries.configuration/model/Configuration.genmodel#//configuration platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.genmodel#//query platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
+ <foreignModel>PaletteConfiguration.ecore</foreignModel>
+ <genPackages prefix="Paletteconfiguration" basePackage="org.eclipse.papyrus.diagram"
+ resource="XML" disposableProviderFactory="true" ecorePackage="PaletteConfiguration.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="PaletteConfiguration.ecore#//ToolKind">
+ <genEnumLiterals ecoreEnumLiteral="PaletteConfiguration.ecore#//ToolKind/CreationTool"/>
+ <genEnumLiterals ecoreEnumLiteral="PaletteConfiguration.ecore#//ToolKind/ConnectionTool"/>
+ </genEnums>
+ <genClasses ecoreClass="PaletteConfiguration.ecore#//PaletteConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference PaletteConfiguration.ecore#//PaletteConfiguration/drawerConfigurations"/>
+ </genClasses>
+ <genClasses ecoreClass="PaletteConfiguration.ecore#//ToolConfiguration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PaletteConfiguration.ecore#//ToolConfiguration/preValidationQuery"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PaletteConfiguration.ecore#//ToolConfiguration/kind"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference PaletteConfiguration.ecore#//ToolConfiguration/elementDescriptors"/>
+ </genClasses>
+ <genClasses ecoreClass="PaletteConfiguration.ecore#//StackConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference PaletteConfiguration.ecore#//StackConfiguration/toolConfigurations"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="PaletteConfiguration.ecore#//ChildConfiguration"/>
+ <genClasses ecoreClass="PaletteConfiguration.ecore#//DrawerConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference PaletteConfiguration.ecore#//DrawerConfiguration/ownedConfigurations"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="PaletteConfiguration.ecore#//Configuration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PaletteConfiguration.ecore#//Configuration/id"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PaletteConfiguration.ecore#//Configuration/label"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PaletteConfiguration.ecore#//Configuration/description"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference PaletteConfiguration.ecore#//Configuration/icon"/>
+ </genClasses>
+ <genClasses ecoreClass="PaletteConfiguration.ecore#//IconDescriptor">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PaletteConfiguration.ecore#//IconDescriptor/pluginID"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PaletteConfiguration.ecore#//IconDescriptor/iconPath"/>
+ </genClasses>
+ <genClasses ecoreClass="PaletteConfiguration.ecore#//ElementDescriptor">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PaletteConfiguration.ecore#//ElementDescriptor/elementTypeId"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PaletteConfiguration.ecore#//ElementDescriptor/graphicalHints"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/plugin.properties b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/plugin.properties
new file mode 100644
index 00000000000..3ffd4799e16
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2010 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - initial API and implementation
+###############################################################################
+pluginName=Papyrus palette metamodel plugin (Incubation)
+providerName=Eclipse Modeling Project
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/plugin.xml b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/plugin.xml
new file mode 100644
index 00000000000..b394d01ab93
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/plugin.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.7"
+ class="org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage"
+ genModel="model/PaletteConfiguration.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="paletteconfiguration"
+ class="org.eclipse.papyrus.diagram.paletteconfiguration.util.PaletteconfigurationResourceFactoryImpl"/>
+ </extension>
+
+</plugin>
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ChildConfiguration.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ChildConfiguration.java
new file mode 100644
index 00000000000..4b2b49338af
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ChildConfiguration.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Child Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getChildConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ChildConfiguration extends Configuration {
+} // ChildConfiguration
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/Configuration.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/Configuration.java
new file mode 100644
index 00000000000..29b808a2d41
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/Configuration.java
@@ -0,0 +1,132 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getIcon <em>Icon</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getConfiguration()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Configuration extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * unique identifier of the configuration, used by the tool to retrieve the configuration
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getConfiguration_Id()
+ * @model required="true"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * label of the configuration, used only for display
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Label</em>' attribute.
+ * @see #setLabel(String)
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getConfiguration_Label()
+ * @model required="true"
+ * @generated
+ */
+ String getLabel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getLabel <em>Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Label</em>' attribute.
+ * @see #getLabel()
+ * @generated
+ */
+ void setLabel(String value);
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Description of the configuration.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getConfiguration_Description()
+ * @model
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Icon</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Icon</em>' containment reference.
+ * @see #setIcon(IconDescriptor)
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getConfiguration_Icon()
+ * @model containment="true"
+ * @generated
+ */
+ IconDescriptor getIcon();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getIcon <em>Icon</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Icon</em>' containment reference.
+ * @see #getIcon()
+ * @generated
+ */
+ void setIcon(IconDescriptor value);
+
+} // Configuration
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/DrawerConfiguration.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/DrawerConfiguration.java
new file mode 100644
index 00000000000..4291d635957
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/DrawerConfiguration.java
@@ -0,0 +1,44 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Drawer Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration#getOwnedConfigurations <em>Owned Configurations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getDrawerConfiguration()
+ * @model
+ * @generated
+ */
+public interface DrawerConfiguration extends Configuration {
+ /**
+ * Returns the value of the '<em><b>Owned Configurations</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.diagram.paletteconfiguration.ChildConfiguration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Configurations</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Configurations</em>' containment reference list.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getDrawerConfiguration_OwnedConfigurations()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<ChildConfiguration> getOwnedConfigurations();
+
+} // DrawerConfiguration
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ElementDescriptor.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ElementDescriptor.java
new file mode 100644
index 00000000000..64a07fa9504
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ElementDescriptor.java
@@ -0,0 +1,73 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element Descriptor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor#getElementTypeId <em>Element Type Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor#getGraphicalHints <em>Graphical Hints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getElementDescriptor()
+ * @model
+ * @generated
+ */
+public interface ElementDescriptor extends EObject {
+ /**
+ * Returns the value of the '<em><b>Element Type Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element Type Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element Type Id</em>' attribute.
+ * @see #setElementTypeId(String)
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getElementDescriptor_ElementTypeId()
+ * @model required="true"
+ * @generated
+ */
+ String getElementTypeId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor#getElementTypeId <em>Element Type Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element Type Id</em>' attribute.
+ * @see #getElementTypeId()
+ * @generated
+ */
+ void setElementTypeId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Graphical Hints</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Graphical Hints</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Graphical Hints</em>' attribute list.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getElementDescriptor_GraphicalHints()
+ * @model
+ * @generated
+ */
+ EList<String> getGraphicalHints();
+
+} // ElementDescriptor
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/IconDescriptor.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/IconDescriptor.java
new file mode 100644
index 00000000000..3d03cb60bb3
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/IconDescriptor.java
@@ -0,0 +1,83 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Icon Descriptor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Descriptor for icons, constituted from the bundle ID and the path in the bundle.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor#getPluginID <em>Plugin ID</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor#getIconPath <em>Icon Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getIconDescriptor()
+ * @model
+ * @generated
+ */
+public interface IconDescriptor extends EObject {
+ /**
+ * Returns the value of the '<em><b>Plugin ID</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ID of the plugin where the icon is located. If not set, the tool will look in the bundle defining the palette.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Plugin ID</em>' attribute.
+ * @see #setPluginID(String)
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getIconDescriptor_PluginID()
+ * @model
+ * @generated
+ */
+ String getPluginID();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor#getPluginID <em>Plugin ID</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Plugin ID</em>' attribute.
+ * @see #getPluginID()
+ * @generated
+ */
+ void setPluginID(String value);
+
+ /**
+ * Returns the value of the '<em><b>Icon Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Path of the icon in the bundle.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Icon Path</em>' attribute.
+ * @see #setIconPath(String)
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getIconDescriptor_IconPath()
+ * @model required="true"
+ * @generated
+ */
+ String getIconPath();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor#getIconPath <em>Icon Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Icon Path</em>' attribute.
+ * @see #getIconPath()
+ * @generated
+ */
+ void setIconPath(String value);
+
+} // IconDescriptor
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/PaletteConfiguration.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/PaletteConfiguration.java
new file mode 100644
index 00000000000..330daf81c56
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/PaletteConfiguration.java
@@ -0,0 +1,44 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Palette Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.PaletteConfiguration#getDrawerConfigurations <em>Drawer Configurations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getPaletteConfiguration()
+ * @model
+ * @generated
+ */
+public interface PaletteConfiguration extends Configuration {
+ /**
+ * Returns the value of the '<em><b>Drawer Configurations</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Drawer Configurations</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Drawer Configurations</em>' containment reference list.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getPaletteConfiguration_DrawerConfigurations()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<DrawerConfiguration> getDrawerConfigurations();
+
+} // PaletteConfiguration
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/PaletteconfigurationFactory.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/PaletteconfigurationFactory.java
new file mode 100644
index 00000000000..9208e533a98
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/PaletteconfigurationFactory.java
@@ -0,0 +1,91 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage
+ * @generated
+ */
+public interface PaletteconfigurationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ PaletteconfigurationFactory eINSTANCE = org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Palette Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Palette Configuration</em>'.
+ * @generated
+ */
+ PaletteConfiguration createPaletteConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Tool Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Tool Configuration</em>'.
+ * @generated
+ */
+ ToolConfiguration createToolConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Stack Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Stack Configuration</em>'.
+ * @generated
+ */
+ StackConfiguration createStackConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Drawer Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Drawer Configuration</em>'.
+ * @generated
+ */
+ DrawerConfiguration createDrawerConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Icon Descriptor</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Icon Descriptor</em>'.
+ * @generated
+ */
+ IconDescriptor createIconDescriptor();
+
+ /**
+ * Returns a new object of class '<em>Element Descriptor</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Element Descriptor</em>'.
+ * @generated
+ */
+ ElementDescriptor createElementDescriptor();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ PaletteconfigurationPackage getPaletteconfigurationPackage();
+
+} //PaletteconfigurationFactory
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/PaletteconfigurationPackage.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/PaletteconfigurationPackage.java
new file mode 100644
index 00000000000..36679774b5a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/PaletteconfigurationPackage.java
@@ -0,0 +1,1002 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface PaletteconfigurationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "paletteconfiguration";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.7";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "paletteconfiguration";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ PaletteconfigurationPackage eINSTANCE = org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ConfigurationImpl <em>Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.ConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getConfiguration()
+ * @generated
+ */
+ int CONFIGURATION = 5;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION__LABEL = 1;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION__DESCRIPTION = 2;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION__ICON = 3;
+
+ /**
+ * The number of structural features of the '<em>Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteConfigurationImpl <em>Palette Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getPaletteConfiguration()
+ * @generated
+ */
+ int PALETTE_CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE_CONFIGURATION__ID = CONFIGURATION__ID;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE_CONFIGURATION__LABEL = CONFIGURATION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE_CONFIGURATION__DESCRIPTION = CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE_CONFIGURATION__ICON = CONFIGURATION__ICON;
+
+ /**
+ * The feature id for the '<em><b>Drawer Configurations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE_CONFIGURATION__DRAWER_CONFIGURATIONS = CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Palette Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE_CONFIGURATION_FEATURE_COUNT = CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ChildConfigurationImpl <em>Child Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.ChildConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getChildConfiguration()
+ * @generated
+ */
+ int CHILD_CONFIGURATION = 3;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHILD_CONFIGURATION__ID = CONFIGURATION__ID;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHILD_CONFIGURATION__LABEL = CONFIGURATION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHILD_CONFIGURATION__DESCRIPTION = CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHILD_CONFIGURATION__ICON = CONFIGURATION__ICON;
+
+ /**
+ * The number of structural features of the '<em>Child Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHILD_CONFIGURATION_FEATURE_COUNT = CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ToolConfigurationImpl <em>Tool Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.ToolConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getToolConfiguration()
+ * @generated
+ */
+ int TOOL_CONFIGURATION = 1;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONFIGURATION__ID = CHILD_CONFIGURATION__ID;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONFIGURATION__LABEL = CHILD_CONFIGURATION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONFIGURATION__DESCRIPTION = CHILD_CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONFIGURATION__ICON = CHILD_CONFIGURATION__ICON;
+
+ /**
+ * The feature id for the '<em><b>Pre Validation Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONFIGURATION__PRE_VALIDATION_QUERY = CHILD_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONFIGURATION__KIND = CHILD_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Element Descriptors</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONFIGURATION__ELEMENT_DESCRIPTORS = CHILD_CONFIGURATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Tool Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONFIGURATION_FEATURE_COUNT = CHILD_CONFIGURATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.StackConfigurationImpl <em>Stack Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.StackConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getStackConfiguration()
+ * @generated
+ */
+ int STACK_CONFIGURATION = 2;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STACK_CONFIGURATION__ID = CHILD_CONFIGURATION__ID;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STACK_CONFIGURATION__LABEL = CHILD_CONFIGURATION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STACK_CONFIGURATION__DESCRIPTION = CHILD_CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STACK_CONFIGURATION__ICON = CHILD_CONFIGURATION__ICON;
+
+ /**
+ * The feature id for the '<em><b>Tool Configurations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STACK_CONFIGURATION__TOOL_CONFIGURATIONS = CHILD_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Stack Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STACK_CONFIGURATION_FEATURE_COUNT = CHILD_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.DrawerConfigurationImpl <em>Drawer Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.DrawerConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getDrawerConfiguration()
+ * @generated
+ */
+ int DRAWER_CONFIGURATION = 4;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DRAWER_CONFIGURATION__ID = CONFIGURATION__ID;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DRAWER_CONFIGURATION__LABEL = CONFIGURATION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DRAWER_CONFIGURATION__DESCRIPTION = CONFIGURATION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DRAWER_CONFIGURATION__ICON = CONFIGURATION__ICON;
+
+ /**
+ * The feature id for the '<em><b>Owned Configurations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DRAWER_CONFIGURATION__OWNED_CONFIGURATIONS = CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Drawer Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DRAWER_CONFIGURATION_FEATURE_COUNT = CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.IconDescriptorImpl <em>Icon Descriptor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.IconDescriptorImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getIconDescriptor()
+ * @generated
+ */
+ int ICON_DESCRIPTOR = 6;
+
+ /**
+ * The feature id for the '<em><b>Plugin ID</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ICON_DESCRIPTOR__PLUGIN_ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ICON_DESCRIPTOR__ICON_PATH = 1;
+
+ /**
+ * The number of structural features of the '<em>Icon Descriptor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ICON_DESCRIPTOR_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ElementDescriptorImpl <em>Element Descriptor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.ElementDescriptorImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getElementDescriptor()
+ * @generated
+ */
+ int ELEMENT_DESCRIPTOR = 7;
+
+ /**
+ * The feature id for the '<em><b>Element Type Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_DESCRIPTOR__ELEMENT_TYPE_ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Graphical Hints</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_DESCRIPTOR__GRAPHICAL_HINTS = 1;
+
+ /**
+ * The number of structural features of the '<em>Element Descriptor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_DESCRIPTOR_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolKind <em>Tool Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ToolKind
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getToolKind()
+ * @generated
+ */
+ int TOOL_KIND = 8;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.PaletteConfiguration <em>Palette Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Palette Configuration</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteConfiguration
+ * @generated
+ */
+ EClass getPaletteConfiguration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.diagram.paletteconfiguration.PaletteConfiguration#getDrawerConfigurations <em>Drawer Configurations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Drawer Configurations</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteConfiguration#getDrawerConfigurations()
+ * @see #getPaletteConfiguration()
+ * @generated
+ */
+ EReference getPaletteConfiguration_DrawerConfigurations();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration <em>Tool Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Tool Configuration</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration
+ * @generated
+ */
+ EClass getToolConfiguration();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration#getPreValidationQuery <em>Pre Validation Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Pre Validation Query</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration#getPreValidationQuery()
+ * @see #getToolConfiguration()
+ * @generated
+ */
+ EReference getToolConfiguration_PreValidationQuery();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration#getKind <em>Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration#getKind()
+ * @see #getToolConfiguration()
+ * @generated
+ */
+ EAttribute getToolConfiguration_Kind();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration#getElementDescriptors <em>Element Descriptors</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Element Descriptors</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration#getElementDescriptors()
+ * @see #getToolConfiguration()
+ * @generated
+ */
+ EReference getToolConfiguration_ElementDescriptors();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration <em>Stack Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Stack Configuration</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration
+ * @generated
+ */
+ EClass getStackConfiguration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration#getToolConfigurations <em>Tool Configurations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Tool Configurations</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration#getToolConfigurations()
+ * @see #getStackConfiguration()
+ * @generated
+ */
+ EReference getStackConfiguration_ToolConfigurations();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ChildConfiguration <em>Child Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Child Configuration</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ChildConfiguration
+ * @generated
+ */
+ EClass getChildConfiguration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration <em>Drawer Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Drawer Configuration</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration
+ * @generated
+ */
+ EClass getDrawerConfiguration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration#getOwnedConfigurations <em>Owned Configurations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Owned Configurations</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration#getOwnedConfigurations()
+ * @see #getDrawerConfiguration()
+ * @generated
+ */
+ EReference getDrawerConfiguration_OwnedConfigurations();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration <em>Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Configuration</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.Configuration
+ * @generated
+ */
+ EClass getConfiguration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getId()
+ * @see #getConfiguration()
+ * @generated
+ */
+ EAttribute getConfiguration_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getLabel <em>Label</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Label</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getLabel()
+ * @see #getConfiguration()
+ * @generated
+ */
+ EAttribute getConfiguration_Label();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getDescription()
+ * @see #getConfiguration()
+ * @generated
+ */
+ EAttribute getConfiguration_Description();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getIcon <em>Icon</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Icon</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.Configuration#getIcon()
+ * @see #getConfiguration()
+ * @generated
+ */
+ EReference getConfiguration_Icon();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor <em>Icon Descriptor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Icon Descriptor</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor
+ * @generated
+ */
+ EClass getIconDescriptor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor#getPluginID <em>Plugin ID</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Plugin ID</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor#getPluginID()
+ * @see #getIconDescriptor()
+ * @generated
+ */
+ EAttribute getIconDescriptor_PluginID();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor#getIconPath <em>Icon Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Icon Path</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor#getIconPath()
+ * @see #getIconDescriptor()
+ * @generated
+ */
+ EAttribute getIconDescriptor_IconPath();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor <em>Element Descriptor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Element Descriptor</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor
+ * @generated
+ */
+ EClass getElementDescriptor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor#getElementTypeId <em>Element Type Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Element Type Id</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor#getElementTypeId()
+ * @see #getElementDescriptor()
+ * @generated
+ */
+ EAttribute getElementDescriptor_ElementTypeId();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor#getGraphicalHints <em>Graphical Hints</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Graphical Hints</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor#getGraphicalHints()
+ * @see #getElementDescriptor()
+ * @generated
+ */
+ EAttribute getElementDescriptor_GraphicalHints();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolKind <em>Tool Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Tool Kind</em>'.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ToolKind
+ * @generated
+ */
+ EEnum getToolKind();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ PaletteconfigurationFactory getPaletteconfigurationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteConfigurationImpl <em>Palette Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getPaletteConfiguration()
+ * @generated
+ */
+ EClass PALETTE_CONFIGURATION = eINSTANCE.getPaletteConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Drawer Configurations</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PALETTE_CONFIGURATION__DRAWER_CONFIGURATIONS = eINSTANCE.getPaletteConfiguration_DrawerConfigurations();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ToolConfigurationImpl <em>Tool Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.ToolConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getToolConfiguration()
+ * @generated
+ */
+ EClass TOOL_CONFIGURATION = eINSTANCE.getToolConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Pre Validation Query</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TOOL_CONFIGURATION__PRE_VALIDATION_QUERY = eINSTANCE.getToolConfiguration_PreValidationQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TOOL_CONFIGURATION__KIND = eINSTANCE.getToolConfiguration_Kind();
+
+ /**
+ * The meta object literal for the '<em><b>Element Descriptors</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TOOL_CONFIGURATION__ELEMENT_DESCRIPTORS = eINSTANCE.getToolConfiguration_ElementDescriptors();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.StackConfigurationImpl <em>Stack Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.StackConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getStackConfiguration()
+ * @generated
+ */
+ EClass STACK_CONFIGURATION = eINSTANCE.getStackConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Tool Configurations</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STACK_CONFIGURATION__TOOL_CONFIGURATIONS = eINSTANCE.getStackConfiguration_ToolConfigurations();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ChildConfigurationImpl <em>Child Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.ChildConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getChildConfiguration()
+ * @generated
+ */
+ EClass CHILD_CONFIGURATION = eINSTANCE.getChildConfiguration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.DrawerConfigurationImpl <em>Drawer Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.DrawerConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getDrawerConfiguration()
+ * @generated
+ */
+ EClass DRAWER_CONFIGURATION = eINSTANCE.getDrawerConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Configurations</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DRAWER_CONFIGURATION__OWNED_CONFIGURATIONS = eINSTANCE.getDrawerConfiguration_OwnedConfigurations();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ConfigurationImpl <em>Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.ConfigurationImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getConfiguration()
+ * @generated
+ */
+ EClass CONFIGURATION = eINSTANCE.getConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONFIGURATION__ID = eINSTANCE.getConfiguration_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Label</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONFIGURATION__LABEL = eINSTANCE.getConfiguration_Label();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONFIGURATION__DESCRIPTION = eINSTANCE.getConfiguration_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Icon</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURATION__ICON = eINSTANCE.getConfiguration_Icon();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.IconDescriptorImpl <em>Icon Descriptor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.IconDescriptorImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getIconDescriptor()
+ * @generated
+ */
+ EClass ICON_DESCRIPTOR = eINSTANCE.getIconDescriptor();
+
+ /**
+ * The meta object literal for the '<em><b>Plugin ID</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ICON_DESCRIPTOR__PLUGIN_ID = eINSTANCE.getIconDescriptor_PluginID();
+
+ /**
+ * The meta object literal for the '<em><b>Icon Path</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ICON_DESCRIPTOR__ICON_PATH = eINSTANCE.getIconDescriptor_IconPath();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ElementDescriptorImpl <em>Element Descriptor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.ElementDescriptorImpl
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getElementDescriptor()
+ * @generated
+ */
+ EClass ELEMENT_DESCRIPTOR = eINSTANCE.getElementDescriptor();
+
+ /**
+ * The meta object literal for the '<em><b>Element Type Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ELEMENT_DESCRIPTOR__ELEMENT_TYPE_ID = eINSTANCE.getElementDescriptor_ElementTypeId();
+
+ /**
+ * The meta object literal for the '<em><b>Graphical Hints</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ELEMENT_DESCRIPTOR__GRAPHICAL_HINTS = eINSTANCE.getElementDescriptor_GraphicalHints();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolKind <em>Tool Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ToolKind
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteconfigurationPackageImpl#getToolKind()
+ * @generated
+ */
+ EEnum TOOL_KIND = eINSTANCE.getToolKind();
+
+ }
+
+} //PaletteconfigurationPackage
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/StackConfiguration.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/StackConfiguration.java
new file mode 100644
index 00000000000..356c15195d1
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/StackConfiguration.java
@@ -0,0 +1,44 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stack Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration#getToolConfigurations <em>Tool Configurations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getStackConfiguration()
+ * @model
+ * @generated
+ */
+public interface StackConfiguration extends ChildConfiguration {
+ /**
+ * Returns the value of the '<em><b>Tool Configurations</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tool Configurations</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tool Configurations</em>' containment reference list.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getStackConfiguration_ToolConfigurations()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<ToolConfiguration> getToolConfigurations();
+
+} // StackConfiguration
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ToolConfiguration.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ToolConfiguration.java
new file mode 100644
index 00000000000..9d5182f9136
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ToolConfiguration.java
@@ -0,0 +1,104 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.core.queries.configuration.QueryConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tool Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration#getPreValidationQuery <em>Pre Validation Query</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration#getElementDescriptors <em>Element Descriptors</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getToolConfiguration()
+ * @model
+ * @generated
+ */
+public interface ToolConfiguration extends ChildConfiguration {
+ /**
+ * Returns the value of the '<em><b>Pre Validation Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Validation Query</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pre Validation Query</em>' reference.
+ * @see #setPreValidationQuery(QueryConfiguration)
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getToolConfiguration_PreValidationQuery()
+ * @model
+ * @generated
+ */
+ QueryConfiguration getPreValidationQuery();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration#getPreValidationQuery <em>Pre Validation Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pre Validation Query</em>' reference.
+ * @see #getPreValidationQuery()
+ * @generated
+ */
+ void setPreValidationQuery(QueryConfiguration value);
+
+ /**
+ * Returns the value of the '<em><b>Kind</b></em>' attribute.
+ * The default value is <code>"CreationTool"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Kind</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ToolKind
+ * @see #setKind(ToolKind)
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getToolConfiguration_Kind()
+ * @model default="CreationTool" required="true"
+ * @generated
+ */
+ ToolKind getKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration#getKind <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ToolKind
+ * @see #getKind()
+ * @generated
+ */
+ void setKind(ToolKind value);
+
+ /**
+ * Returns the value of the '<em><b>Element Descriptors</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element Descriptors</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element Descriptors</em>' containment reference list.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getToolConfiguration_ElementDescriptors()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ElementDescriptor> getElementDescriptors();
+
+} // ToolConfiguration
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ToolKind.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ToolKind.java
new file mode 100644
index 00000000000..52495fad52b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/ToolKind.java
@@ -0,0 +1,212 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Tool Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#getToolKind()
+ * @model
+ * @generated
+ */
+public enum ToolKind implements Enumerator {
+ /**
+ * The '<em><b>Creation Tool</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CREATION_TOOL_VALUE
+ * @generated
+ * @ordered
+ */
+ CREATION_TOOL(0, "CreationTool", "CreationTool"),
+
+ /**
+ * The '<em><b>Connection Tool</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CONNECTION_TOOL_VALUE
+ * @generated
+ * @ordered
+ */
+ CONNECTION_TOOL(1, "ConnectionTool", "ConnectionTool");
+
+ /**
+ * The '<em><b>Creation Tool</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Creation Tool</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CREATION_TOOL
+ * @model name="CreationTool"
+ * @generated
+ * @ordered
+ */
+ public static final int CREATION_TOOL_VALUE = 0;
+
+ /**
+ * The '<em><b>Connection Tool</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Connection Tool</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CONNECTION_TOOL
+ * @model name="ConnectionTool"
+ * @generated
+ * @ordered
+ */
+ public static final int CONNECTION_TOOL_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Tool Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ToolKind[] VALUES_ARRAY =
+ new ToolKind[] {
+ CREATION_TOOL,
+ CONNECTION_TOOL,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Tool Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ToolKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Tool Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ToolKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ToolKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Tool Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ToolKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ToolKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Tool Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ToolKind get(int value) {
+ switch (value) {
+ case CREATION_TOOL_VALUE: return CREATION_TOOL;
+ case CONNECTION_TOOL_VALUE: return CONNECTION_TOOL;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private ToolKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //ToolKind
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ChildConfigurationImpl.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ChildConfigurationImpl.java
new file mode 100644
index 00000000000..e17e4ac3acc
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ChildConfigurationImpl.java
@@ -0,0 +1,43 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.diagram.paletteconfiguration.ChildConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Child Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ChildConfigurationImpl extends ConfigurationImpl implements ChildConfiguration {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ChildConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PaletteconfigurationPackage.Literals.CHILD_CONFIGURATION;
+ }
+
+} //ChildConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ConfigurationImpl.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ConfigurationImpl.java
new file mode 100644
index 00000000000..c92c28fc4d0
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ConfigurationImpl.java
@@ -0,0 +1,356 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.diagram.paletteconfiguration.Configuration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ConfigurationImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ConfigurationImpl#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ConfigurationImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ConfigurationImpl#getIcon <em>Icon</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ConfigurationImpl extends EObjectImpl implements Configuration {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = LABEL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getIcon() <em>Icon</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIcon()
+ * @generated
+ * @ordered
+ */
+ protected IconDescriptor icon;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PaletteconfigurationPackage.Literals.CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PaletteconfigurationPackage.CONFIGURATION__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PaletteconfigurationPackage.CONFIGURATION__LABEL, oldLabel, label));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PaletteconfigurationPackage.CONFIGURATION__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IconDescriptor getIcon() {
+ return icon;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIcon(IconDescriptor newIcon, NotificationChain msgs) {
+ IconDescriptor oldIcon = icon;
+ icon = newIcon;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PaletteconfigurationPackage.CONFIGURATION__ICON, oldIcon, newIcon);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIcon(IconDescriptor newIcon) {
+ if (newIcon != icon) {
+ NotificationChain msgs = null;
+ if (icon != null)
+ msgs = ((InternalEObject)icon).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PaletteconfigurationPackage.CONFIGURATION__ICON, null, msgs);
+ if (newIcon != null)
+ msgs = ((InternalEObject)newIcon).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PaletteconfigurationPackage.CONFIGURATION__ICON, null, msgs);
+ msgs = basicSetIcon(newIcon, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PaletteconfigurationPackage.CONFIGURATION__ICON, newIcon, newIcon));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.CONFIGURATION__ICON:
+ return basicSetIcon(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.CONFIGURATION__ID:
+ return getId();
+ case PaletteconfigurationPackage.CONFIGURATION__LABEL:
+ return getLabel();
+ case PaletteconfigurationPackage.CONFIGURATION__DESCRIPTION:
+ return getDescription();
+ case PaletteconfigurationPackage.CONFIGURATION__ICON:
+ return getIcon();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.CONFIGURATION__ID:
+ setId((String)newValue);
+ return;
+ case PaletteconfigurationPackage.CONFIGURATION__LABEL:
+ setLabel((String)newValue);
+ return;
+ case PaletteconfigurationPackage.CONFIGURATION__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case PaletteconfigurationPackage.CONFIGURATION__ICON:
+ setIcon((IconDescriptor)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.CONFIGURATION__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case PaletteconfigurationPackage.CONFIGURATION__LABEL:
+ setLabel(LABEL_EDEFAULT);
+ return;
+ case PaletteconfigurationPackage.CONFIGURATION__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case PaletteconfigurationPackage.CONFIGURATION__ICON:
+ setIcon((IconDescriptor)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.CONFIGURATION__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case PaletteconfigurationPackage.CONFIGURATION__LABEL:
+ return LABEL_EDEFAULT == null ? label != null : !LABEL_EDEFAULT.equals(label);
+ case PaletteconfigurationPackage.CONFIGURATION__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case PaletteconfigurationPackage.CONFIGURATION__ICON:
+ return icon != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", label: ");
+ result.append(label);
+ result.append(", description: ");
+ result.append(description);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/DrawerConfigurationImpl.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/DrawerConfigurationImpl.java
new file mode 100644
index 00000000000..6ede29d58da
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/DrawerConfigurationImpl.java
@@ -0,0 +1,154 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.diagram.paletteconfiguration.ChildConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Drawer Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.DrawerConfigurationImpl#getOwnedConfigurations <em>Owned Configurations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DrawerConfigurationImpl extends ConfigurationImpl implements DrawerConfiguration {
+ /**
+ * The cached value of the '{@link #getOwnedConfigurations() <em>Owned Configurations</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedConfigurations()
+ * @generated
+ * @ordered
+ */
+ protected EList<ChildConfiguration> ownedConfigurations;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DrawerConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PaletteconfigurationPackage.Literals.DRAWER_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ChildConfiguration> getOwnedConfigurations() {
+ if (ownedConfigurations == null) {
+ ownedConfigurations = new EObjectContainmentEList<ChildConfiguration>(ChildConfiguration.class, this, PaletteconfigurationPackage.DRAWER_CONFIGURATION__OWNED_CONFIGURATIONS);
+ }
+ return ownedConfigurations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.DRAWER_CONFIGURATION__OWNED_CONFIGURATIONS:
+ return ((InternalEList<?>)getOwnedConfigurations()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.DRAWER_CONFIGURATION__OWNED_CONFIGURATIONS:
+ return getOwnedConfigurations();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.DRAWER_CONFIGURATION__OWNED_CONFIGURATIONS:
+ getOwnedConfigurations().clear();
+ getOwnedConfigurations().addAll((Collection<? extends ChildConfiguration>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.DRAWER_CONFIGURATION__OWNED_CONFIGURATIONS:
+ getOwnedConfigurations().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.DRAWER_CONFIGURATION__OWNED_CONFIGURATIONS:
+ return ownedConfigurations != null && !ownedConfigurations.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DrawerConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ElementDescriptorImpl.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ElementDescriptorImpl.java
new file mode 100644
index 00000000000..e3437f1160b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ElementDescriptorImpl.java
@@ -0,0 +1,210 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element Descriptor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ElementDescriptorImpl#getElementTypeId <em>Element Type Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ElementDescriptorImpl#getGraphicalHints <em>Graphical Hints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ElementDescriptorImpl extends EObjectImpl implements ElementDescriptor {
+ /**
+ * The default value of the '{@link #getElementTypeId() <em>Element Type Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementTypeId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ELEMENT_TYPE_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getElementTypeId() <em>Element Type Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementTypeId()
+ * @generated
+ * @ordered
+ */
+ protected String elementTypeId = ELEMENT_TYPE_ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getGraphicalHints() <em>Graphical Hints</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGraphicalHints()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> graphicalHints;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ElementDescriptorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PaletteconfigurationPackage.Literals.ELEMENT_DESCRIPTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getElementTypeId() {
+ return elementTypeId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElementTypeId(String newElementTypeId) {
+ String oldElementTypeId = elementTypeId;
+ elementTypeId = newElementTypeId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PaletteconfigurationPackage.ELEMENT_DESCRIPTOR__ELEMENT_TYPE_ID, oldElementTypeId, elementTypeId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getGraphicalHints() {
+ if (graphicalHints == null) {
+ graphicalHints = new EDataTypeUniqueEList<String>(String.class, this, PaletteconfigurationPackage.ELEMENT_DESCRIPTOR__GRAPHICAL_HINTS);
+ }
+ return graphicalHints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.ELEMENT_DESCRIPTOR__ELEMENT_TYPE_ID:
+ return getElementTypeId();
+ case PaletteconfigurationPackage.ELEMENT_DESCRIPTOR__GRAPHICAL_HINTS:
+ return getGraphicalHints();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.ELEMENT_DESCRIPTOR__ELEMENT_TYPE_ID:
+ setElementTypeId((String)newValue);
+ return;
+ case PaletteconfigurationPackage.ELEMENT_DESCRIPTOR__GRAPHICAL_HINTS:
+ getGraphicalHints().clear();
+ getGraphicalHints().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.ELEMENT_DESCRIPTOR__ELEMENT_TYPE_ID:
+ setElementTypeId(ELEMENT_TYPE_ID_EDEFAULT);
+ return;
+ case PaletteconfigurationPackage.ELEMENT_DESCRIPTOR__GRAPHICAL_HINTS:
+ getGraphicalHints().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.ELEMENT_DESCRIPTOR__ELEMENT_TYPE_ID:
+ return ELEMENT_TYPE_ID_EDEFAULT == null ? elementTypeId != null : !ELEMENT_TYPE_ID_EDEFAULT.equals(elementTypeId);
+ case PaletteconfigurationPackage.ELEMENT_DESCRIPTOR__GRAPHICAL_HINTS:
+ return graphicalHints != null && !graphicalHints.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (elementTypeId: ");
+ result.append(elementTypeId);
+ result.append(", graphicalHints: ");
+ result.append(graphicalHints);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ElementDescriptorImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/IconDescriptorImpl.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/IconDescriptorImpl.java
new file mode 100644
index 00000000000..07d4f305fdc
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/IconDescriptorImpl.java
@@ -0,0 +1,221 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Icon Descriptor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.IconDescriptorImpl#getPluginID <em>Plugin ID</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.IconDescriptorImpl#getIconPath <em>Icon Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IconDescriptorImpl extends EObjectImpl implements IconDescriptor {
+ /**
+ * The default value of the '{@link #getPluginID() <em>Plugin ID</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPluginID()
+ * @generated
+ * @ordered
+ */
+ protected static final String PLUGIN_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPluginID() <em>Plugin ID</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPluginID()
+ * @generated
+ * @ordered
+ */
+ protected String pluginID = PLUGIN_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String ICON_PATH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected String iconPath = ICON_PATH_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IconDescriptorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PaletteconfigurationPackage.Literals.ICON_DESCRIPTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPluginID() {
+ return pluginID;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPluginID(String newPluginID) {
+ String oldPluginID = pluginID;
+ pluginID = newPluginID;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PaletteconfigurationPackage.ICON_DESCRIPTOR__PLUGIN_ID, oldPluginID, pluginID));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIconPath() {
+ return iconPath;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIconPath(String newIconPath) {
+ String oldIconPath = iconPath;
+ iconPath = newIconPath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PaletteconfigurationPackage.ICON_DESCRIPTOR__ICON_PATH, oldIconPath, iconPath));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.ICON_DESCRIPTOR__PLUGIN_ID:
+ return getPluginID();
+ case PaletteconfigurationPackage.ICON_DESCRIPTOR__ICON_PATH:
+ return getIconPath();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.ICON_DESCRIPTOR__PLUGIN_ID:
+ setPluginID((String)newValue);
+ return;
+ case PaletteconfigurationPackage.ICON_DESCRIPTOR__ICON_PATH:
+ setIconPath((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.ICON_DESCRIPTOR__PLUGIN_ID:
+ setPluginID(PLUGIN_ID_EDEFAULT);
+ return;
+ case PaletteconfigurationPackage.ICON_DESCRIPTOR__ICON_PATH:
+ setIconPath(ICON_PATH_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.ICON_DESCRIPTOR__PLUGIN_ID:
+ return PLUGIN_ID_EDEFAULT == null ? pluginID != null : !PLUGIN_ID_EDEFAULT.equals(pluginID);
+ case PaletteconfigurationPackage.ICON_DESCRIPTOR__ICON_PATH:
+ return ICON_PATH_EDEFAULT == null ? iconPath != null : !ICON_PATH_EDEFAULT.equals(iconPath);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (pluginID: ");
+ result.append(pluginID);
+ result.append(", iconPath: ");
+ result.append(iconPath);
+ result.append(')');
+ return result.toString();
+ }
+
+} //IconDescriptorImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/PaletteConfigurationImpl.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/PaletteConfigurationImpl.java
new file mode 100644
index 00000000000..00616d6f1ad
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/PaletteConfigurationImpl.java
@@ -0,0 +1,154 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Palette Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.PaletteConfigurationImpl#getDrawerConfigurations <em>Drawer Configurations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PaletteConfigurationImpl extends ConfigurationImpl implements PaletteConfiguration {
+ /**
+ * The cached value of the '{@link #getDrawerConfigurations() <em>Drawer Configurations</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDrawerConfigurations()
+ * @generated
+ * @ordered
+ */
+ protected EList<DrawerConfiguration> drawerConfigurations;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PaletteConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PaletteconfigurationPackage.Literals.PALETTE_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DrawerConfiguration> getDrawerConfigurations() {
+ if (drawerConfigurations == null) {
+ drawerConfigurations = new EObjectContainmentEList<DrawerConfiguration>(DrawerConfiguration.class, this, PaletteconfigurationPackage.PALETTE_CONFIGURATION__DRAWER_CONFIGURATIONS);
+ }
+ return drawerConfigurations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.PALETTE_CONFIGURATION__DRAWER_CONFIGURATIONS:
+ return ((InternalEList<?>)getDrawerConfigurations()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.PALETTE_CONFIGURATION__DRAWER_CONFIGURATIONS:
+ return getDrawerConfigurations();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.PALETTE_CONFIGURATION__DRAWER_CONFIGURATIONS:
+ getDrawerConfigurations().clear();
+ getDrawerConfigurations().addAll((Collection<? extends DrawerConfiguration>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.PALETTE_CONFIGURATION__DRAWER_CONFIGURATIONS:
+ getDrawerConfigurations().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.PALETTE_CONFIGURATION__DRAWER_CONFIGURATIONS:
+ return drawerConfigurations != null && !drawerConfigurations.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PaletteConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/PaletteconfigurationFactoryImpl.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/PaletteconfigurationFactoryImpl.java
new file mode 100644
index 00000000000..2bd0677bd09
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/PaletteconfigurationFactoryImpl.java
@@ -0,0 +1,205 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.diagram.paletteconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PaletteconfigurationFactoryImpl extends EFactoryImpl implements PaletteconfigurationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PaletteconfigurationFactory init() {
+ try {
+ PaletteconfigurationFactory thePaletteconfigurationFactory = (PaletteconfigurationFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.7");
+ if (thePaletteconfigurationFactory != null) {
+ return thePaletteconfigurationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new PaletteconfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PaletteconfigurationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case PaletteconfigurationPackage.PALETTE_CONFIGURATION: return createPaletteConfiguration();
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION: return createToolConfiguration();
+ case PaletteconfigurationPackage.STACK_CONFIGURATION: return createStackConfiguration();
+ case PaletteconfigurationPackage.DRAWER_CONFIGURATION: return createDrawerConfiguration();
+ case PaletteconfigurationPackage.ICON_DESCRIPTOR: return createIconDescriptor();
+ case PaletteconfigurationPackage.ELEMENT_DESCRIPTOR: return createElementDescriptor();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case PaletteconfigurationPackage.TOOL_KIND:
+ return createToolKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case PaletteconfigurationPackage.TOOL_KIND:
+ return convertToolKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PaletteConfiguration createPaletteConfiguration() {
+ PaletteConfigurationImpl paletteConfiguration = new PaletteConfigurationImpl();
+ return paletteConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ToolConfiguration createToolConfiguration() {
+ ToolConfigurationImpl toolConfiguration = new ToolConfigurationImpl();
+ return toolConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StackConfiguration createStackConfiguration() {
+ StackConfigurationImpl stackConfiguration = new StackConfigurationImpl();
+ return stackConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DrawerConfiguration createDrawerConfiguration() {
+ DrawerConfigurationImpl drawerConfiguration = new DrawerConfigurationImpl();
+ return drawerConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IconDescriptor createIconDescriptor() {
+ IconDescriptorImpl iconDescriptor = new IconDescriptorImpl();
+ return iconDescriptor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementDescriptor createElementDescriptor() {
+ ElementDescriptorImpl elementDescriptor = new ElementDescriptorImpl();
+ return elementDescriptor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ToolKind createToolKindFromString(EDataType eDataType, String initialValue) {
+ ToolKind result = ToolKind.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertToolKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PaletteconfigurationPackage getPaletteconfigurationPackage() {
+ return (PaletteconfigurationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static PaletteconfigurationPackage getPackage() {
+ return PaletteconfigurationPackage.eINSTANCE;
+ }
+
+} //PaletteconfigurationFactoryImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/PaletteconfigurationPackageImpl.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/PaletteconfigurationPackageImpl.java
new file mode 100644
index 00000000000..3c399827112
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/PaletteconfigurationPackageImpl.java
@@ -0,0 +1,513 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.core.queries.configuration.ConfigurationPackage;
+
+import org.eclipse.papyrus.diagram.paletteconfiguration.ChildConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.Configuration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor;
+import org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationFactory;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+import org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.ToolKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PaletteconfigurationPackageImpl extends EPackageImpl implements PaletteconfigurationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass paletteConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass toolConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stackConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass childConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass drawerConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass configurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass iconDescriptorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass elementDescriptorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum toolKindEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private PaletteconfigurationPackageImpl() {
+ super(eNS_URI, PaletteconfigurationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link PaletteconfigurationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static PaletteconfigurationPackage init() {
+ if (isInited) return (PaletteconfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(PaletteconfigurationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ PaletteconfigurationPackageImpl thePaletteconfigurationPackage = (PaletteconfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PaletteconfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PaletteconfigurationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ ConfigurationPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ thePaletteconfigurationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ thePaletteconfigurationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ thePaletteconfigurationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(PaletteconfigurationPackage.eNS_URI, thePaletteconfigurationPackage);
+ return thePaletteconfigurationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPaletteConfiguration() {
+ return paletteConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPaletteConfiguration_DrawerConfigurations() {
+ return (EReference)paletteConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getToolConfiguration() {
+ return toolConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getToolConfiguration_PreValidationQuery() {
+ return (EReference)toolConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getToolConfiguration_Kind() {
+ return (EAttribute)toolConfigurationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getToolConfiguration_ElementDescriptors() {
+ return (EReference)toolConfigurationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStackConfiguration() {
+ return stackConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStackConfiguration_ToolConfigurations() {
+ return (EReference)stackConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getChildConfiguration() {
+ return childConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDrawerConfiguration() {
+ return drawerConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDrawerConfiguration_OwnedConfigurations() {
+ return (EReference)drawerConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConfiguration() {
+ return configurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getConfiguration_Id() {
+ return (EAttribute)configurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getConfiguration_Label() {
+ return (EAttribute)configurationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getConfiguration_Description() {
+ return (EAttribute)configurationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfiguration_Icon() {
+ return (EReference)configurationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIconDescriptor() {
+ return iconDescriptorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getIconDescriptor_PluginID() {
+ return (EAttribute)iconDescriptorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getIconDescriptor_IconPath() {
+ return (EAttribute)iconDescriptorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getElementDescriptor() {
+ return elementDescriptorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getElementDescriptor_ElementTypeId() {
+ return (EAttribute)elementDescriptorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getElementDescriptor_GraphicalHints() {
+ return (EAttribute)elementDescriptorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getToolKind() {
+ return toolKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PaletteconfigurationFactory getPaletteconfigurationFactory() {
+ return (PaletteconfigurationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ paletteConfigurationEClass = createEClass(PALETTE_CONFIGURATION);
+ createEReference(paletteConfigurationEClass, PALETTE_CONFIGURATION__DRAWER_CONFIGURATIONS);
+
+ toolConfigurationEClass = createEClass(TOOL_CONFIGURATION);
+ createEReference(toolConfigurationEClass, TOOL_CONFIGURATION__PRE_VALIDATION_QUERY);
+ createEAttribute(toolConfigurationEClass, TOOL_CONFIGURATION__KIND);
+ createEReference(toolConfigurationEClass, TOOL_CONFIGURATION__ELEMENT_DESCRIPTORS);
+
+ stackConfigurationEClass = createEClass(STACK_CONFIGURATION);
+ createEReference(stackConfigurationEClass, STACK_CONFIGURATION__TOOL_CONFIGURATIONS);
+
+ childConfigurationEClass = createEClass(CHILD_CONFIGURATION);
+
+ drawerConfigurationEClass = createEClass(DRAWER_CONFIGURATION);
+ createEReference(drawerConfigurationEClass, DRAWER_CONFIGURATION__OWNED_CONFIGURATIONS);
+
+ configurationEClass = createEClass(CONFIGURATION);
+ createEAttribute(configurationEClass, CONFIGURATION__ID);
+ createEAttribute(configurationEClass, CONFIGURATION__LABEL);
+ createEAttribute(configurationEClass, CONFIGURATION__DESCRIPTION);
+ createEReference(configurationEClass, CONFIGURATION__ICON);
+
+ iconDescriptorEClass = createEClass(ICON_DESCRIPTOR);
+ createEAttribute(iconDescriptorEClass, ICON_DESCRIPTOR__PLUGIN_ID);
+ createEAttribute(iconDescriptorEClass, ICON_DESCRIPTOR__ICON_PATH);
+
+ elementDescriptorEClass = createEClass(ELEMENT_DESCRIPTOR);
+ createEAttribute(elementDescriptorEClass, ELEMENT_DESCRIPTOR__ELEMENT_TYPE_ID);
+ createEAttribute(elementDescriptorEClass, ELEMENT_DESCRIPTOR__GRAPHICAL_HINTS);
+
+ // Create enums
+ toolKindEEnum = createEEnum(TOOL_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ ConfigurationPackage theConfigurationPackage = (ConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(ConfigurationPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ paletteConfigurationEClass.getESuperTypes().add(this.getConfiguration());
+ toolConfigurationEClass.getESuperTypes().add(this.getChildConfiguration());
+ stackConfigurationEClass.getESuperTypes().add(this.getChildConfiguration());
+ childConfigurationEClass.getESuperTypes().add(this.getConfiguration());
+ drawerConfigurationEClass.getESuperTypes().add(this.getConfiguration());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(paletteConfigurationEClass, PaletteConfiguration.class, "PaletteConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPaletteConfiguration_DrawerConfigurations(), this.getDrawerConfiguration(), null, "drawerConfigurations", null, 1, -1, PaletteConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(toolConfigurationEClass, ToolConfiguration.class, "ToolConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getToolConfiguration_PreValidationQuery(), theConfigurationPackage.getQueryConfiguration(), null, "preValidationQuery", null, 0, 1, ToolConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getToolConfiguration_Kind(), this.getToolKind(), "kind", "CreationTool", 1, 1, ToolConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getToolConfiguration_ElementDescriptors(), this.getElementDescriptor(), null, "elementDescriptors", null, 0, -1, ToolConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(stackConfigurationEClass, StackConfiguration.class, "StackConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStackConfiguration_ToolConfigurations(), this.getToolConfiguration(), null, "toolConfigurations", null, 1, -1, StackConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(childConfigurationEClass, ChildConfiguration.class, "ChildConfiguration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(drawerConfigurationEClass, DrawerConfiguration.class, "DrawerConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDrawerConfiguration_OwnedConfigurations(), this.getChildConfiguration(), null, "ownedConfigurations", null, 1, -1, DrawerConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(configurationEClass, Configuration.class, "Configuration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getConfiguration_Id(), theEcorePackage.getEString(), "id", null, 1, 1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getConfiguration_Label(), theEcorePackage.getEString(), "label", null, 1, 1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getConfiguration_Description(), theEcorePackage.getEString(), "description", null, 0, 1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getConfiguration_Icon(), this.getIconDescriptor(), null, "icon", null, 0, 1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(iconDescriptorEClass, IconDescriptor.class, "IconDescriptor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getIconDescriptor_PluginID(), theEcorePackage.getEString(), "pluginID", null, 0, 1, IconDescriptor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getIconDescriptor_IconPath(), theEcorePackage.getEString(), "iconPath", null, 1, 1, IconDescriptor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(elementDescriptorEClass, ElementDescriptor.class, "ElementDescriptor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getElementDescriptor_ElementTypeId(), theEcorePackage.getEString(), "elementTypeId", null, 1, 1, ElementDescriptor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getElementDescriptor_GraphicalHints(), theEcorePackage.getEString(), "graphicalHints", null, 0, -1, ElementDescriptor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(toolKindEEnum, ToolKind.class, "ToolKind");
+ addEEnumLiteral(toolKindEEnum, ToolKind.CREATION_TOOL);
+ addEEnumLiteral(toolKindEEnum, ToolKind.CONNECTION_TOOL);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //PaletteconfigurationPackageImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/StackConfigurationImpl.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/StackConfigurationImpl.java
new file mode 100644
index 00000000000..1abba6ea040
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/StackConfigurationImpl.java
@@ -0,0 +1,154 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+import org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stack Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.StackConfigurationImpl#getToolConfigurations <em>Tool Configurations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StackConfigurationImpl extends ChildConfigurationImpl implements StackConfiguration {
+ /**
+ * The cached value of the '{@link #getToolConfigurations() <em>Tool Configurations</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getToolConfigurations()
+ * @generated
+ * @ordered
+ */
+ protected EList<ToolConfiguration> toolConfigurations;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StackConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PaletteconfigurationPackage.Literals.STACK_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ToolConfiguration> getToolConfigurations() {
+ if (toolConfigurations == null) {
+ toolConfigurations = new EObjectContainmentEList<ToolConfiguration>(ToolConfiguration.class, this, PaletteconfigurationPackage.STACK_CONFIGURATION__TOOL_CONFIGURATIONS);
+ }
+ return toolConfigurations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.STACK_CONFIGURATION__TOOL_CONFIGURATIONS:
+ return ((InternalEList<?>)getToolConfigurations()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.STACK_CONFIGURATION__TOOL_CONFIGURATIONS:
+ return getToolConfigurations();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.STACK_CONFIGURATION__TOOL_CONFIGURATIONS:
+ getToolConfigurations().clear();
+ getToolConfigurations().addAll((Collection<? extends ToolConfiguration>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.STACK_CONFIGURATION__TOOL_CONFIGURATIONS:
+ getToolConfigurations().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.STACK_CONFIGURATION__TOOL_CONFIGURATIONS:
+ return toolConfigurations != null && !toolConfigurations.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //StackConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ToolConfigurationImpl.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ToolConfigurationImpl.java
new file mode 100644
index 00000000000..3de7061d1a0
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/impl/ToolConfigurationImpl.java
@@ -0,0 +1,288 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.core.queries.configuration.QueryConfiguration;
+
+import org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+import org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.ToolKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tool Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ToolConfigurationImpl#getPreValidationQuery <em>Pre Validation Query</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ToolConfigurationImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.diagram.paletteconfiguration.impl.ToolConfigurationImpl#getElementDescriptors <em>Element Descriptors</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ToolConfigurationImpl extends ChildConfigurationImpl implements ToolConfiguration {
+ /**
+ * The cached value of the '{@link #getPreValidationQuery() <em>Pre Validation Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPreValidationQuery()
+ * @generated
+ * @ordered
+ */
+ protected QueryConfiguration preValidationQuery;
+
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final ToolKind KIND_EDEFAULT = ToolKind.CREATION_TOOL;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected ToolKind kind = KIND_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getElementDescriptors() <em>Element Descriptors</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementDescriptors()
+ * @generated
+ * @ordered
+ */
+ protected EList<ElementDescriptor> elementDescriptors;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ToolConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PaletteconfigurationPackage.Literals.TOOL_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryConfiguration getPreValidationQuery() {
+ if (preValidationQuery != null && preValidationQuery.eIsProxy()) {
+ InternalEObject oldPreValidationQuery = (InternalEObject)preValidationQuery;
+ preValidationQuery = (QueryConfiguration)eResolveProxy(oldPreValidationQuery);
+ if (preValidationQuery != oldPreValidationQuery) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, PaletteconfigurationPackage.TOOL_CONFIGURATION__PRE_VALIDATION_QUERY, oldPreValidationQuery, preValidationQuery));
+ }
+ }
+ return preValidationQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryConfiguration basicGetPreValidationQuery() {
+ return preValidationQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPreValidationQuery(QueryConfiguration newPreValidationQuery) {
+ QueryConfiguration oldPreValidationQuery = preValidationQuery;
+ preValidationQuery = newPreValidationQuery;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PaletteconfigurationPackage.TOOL_CONFIGURATION__PRE_VALIDATION_QUERY, oldPreValidationQuery, preValidationQuery));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ToolKind getKind() {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKind(ToolKind newKind) {
+ ToolKind oldKind = kind;
+ kind = newKind == null ? KIND_EDEFAULT : newKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PaletteconfigurationPackage.TOOL_CONFIGURATION__KIND, oldKind, kind));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ElementDescriptor> getElementDescriptors() {
+ if (elementDescriptors == null) {
+ elementDescriptors = new EObjectContainmentEList<ElementDescriptor>(ElementDescriptor.class, this, PaletteconfigurationPackage.TOOL_CONFIGURATION__ELEMENT_DESCRIPTORS);
+ }
+ return elementDescriptors;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__ELEMENT_DESCRIPTORS:
+ return ((InternalEList<?>)getElementDescriptors()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__PRE_VALIDATION_QUERY:
+ if (resolve) return getPreValidationQuery();
+ return basicGetPreValidationQuery();
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__KIND:
+ return getKind();
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__ELEMENT_DESCRIPTORS:
+ return getElementDescriptors();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__PRE_VALIDATION_QUERY:
+ setPreValidationQuery((QueryConfiguration)newValue);
+ return;
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__KIND:
+ setKind((ToolKind)newValue);
+ return;
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__ELEMENT_DESCRIPTORS:
+ getElementDescriptors().clear();
+ getElementDescriptors().addAll((Collection<? extends ElementDescriptor>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__PRE_VALIDATION_QUERY:
+ setPreValidationQuery((QueryConfiguration)null);
+ return;
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__KIND:
+ setKind(KIND_EDEFAULT);
+ return;
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__ELEMENT_DESCRIPTORS:
+ getElementDescriptors().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__PRE_VALIDATION_QUERY:
+ return preValidationQuery != null;
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__KIND:
+ return kind != KIND_EDEFAULT;
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION__ELEMENT_DESCRIPTORS:
+ return elementDescriptors != null && !elementDescriptors.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (kind: ");
+ result.append(kind);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ToolConfigurationImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationAdapterFactory.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationAdapterFactory.java
new file mode 100644
index 00000000000..f29d0a06370
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationAdapterFactory.java
@@ -0,0 +1,250 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.diagram.paletteconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage
+ * @generated
+ */
+public class PaletteconfigurationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static PaletteconfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PaletteconfigurationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = PaletteconfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PaletteconfigurationSwitch<Adapter> modelSwitch =
+ new PaletteconfigurationSwitch<Adapter>() {
+ @Override
+ public Adapter casePaletteConfiguration(PaletteConfiguration object) {
+ return createPaletteConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseToolConfiguration(ToolConfiguration object) {
+ return createToolConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseStackConfiguration(StackConfiguration object) {
+ return createStackConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseChildConfiguration(ChildConfiguration object) {
+ return createChildConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseDrawerConfiguration(DrawerConfiguration object) {
+ return createDrawerConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseConfiguration(Configuration object) {
+ return createConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseIconDescriptor(IconDescriptor object) {
+ return createIconDescriptorAdapter();
+ }
+ @Override
+ public Adapter caseElementDescriptor(ElementDescriptor object) {
+ return createElementDescriptorAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.PaletteConfiguration <em>Palette Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteConfiguration
+ * @generated
+ */
+ public Adapter createPaletteConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration <em>Tool Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration
+ * @generated
+ */
+ public Adapter createToolConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration <em>Stack Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration
+ * @generated
+ */
+ public Adapter createStackConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ChildConfiguration <em>Child Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ChildConfiguration
+ * @generated
+ */
+ public Adapter createChildConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration <em>Drawer Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration
+ * @generated
+ */
+ public Adapter createDrawerConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.Configuration <em>Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.Configuration
+ * @generated
+ */
+ public Adapter createConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor <em>Icon Descriptor</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor
+ * @generated
+ */
+ public Adapter createIconDescriptorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor <em>Element Descriptor</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor
+ * @generated
+ */
+ public Adapter createElementDescriptorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //PaletteconfigurationAdapterFactory
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationResourceFactoryImpl.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationResourceFactoryImpl.java
new file mode 100644
index 00000000000..0588b21efbd
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationResourceFactoryImpl.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.util.PaletteconfigurationResourceImpl
+ * @generated
+ */
+public class PaletteconfigurationResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PaletteconfigurationResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new PaletteconfigurationResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //PaletteconfigurationResourceFactoryImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationResourceImpl.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationResourceImpl.java
new file mode 100644
index 00000000000..6d1158b3f16
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationResourceImpl.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.util.PaletteconfigurationResourceFactoryImpl
+ * @generated
+ */
+public class PaletteconfigurationResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public PaletteconfigurationResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //PaletteconfigurationResourceImpl
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationSwitch.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationSwitch.java
new file mode 100644
index 00000000000..5b4bcd1ad9f
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationSwitch.java
@@ -0,0 +1,268 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.diagram.paletteconfiguration.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage
+ * @generated
+ */
+public class PaletteconfigurationSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static PaletteconfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PaletteconfigurationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = PaletteconfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case PaletteconfigurationPackage.PALETTE_CONFIGURATION: {
+ PaletteConfiguration paletteConfiguration = (PaletteConfiguration)theEObject;
+ T result = casePaletteConfiguration(paletteConfiguration);
+ if (result == null) result = caseConfiguration(paletteConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PaletteconfigurationPackage.TOOL_CONFIGURATION: {
+ ToolConfiguration toolConfiguration = (ToolConfiguration)theEObject;
+ T result = caseToolConfiguration(toolConfiguration);
+ if (result == null) result = caseChildConfiguration(toolConfiguration);
+ if (result == null) result = caseConfiguration(toolConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PaletteconfigurationPackage.STACK_CONFIGURATION: {
+ StackConfiguration stackConfiguration = (StackConfiguration)theEObject;
+ T result = caseStackConfiguration(stackConfiguration);
+ if (result == null) result = caseChildConfiguration(stackConfiguration);
+ if (result == null) result = caseConfiguration(stackConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PaletteconfigurationPackage.CHILD_CONFIGURATION: {
+ ChildConfiguration childConfiguration = (ChildConfiguration)theEObject;
+ T result = caseChildConfiguration(childConfiguration);
+ if (result == null) result = caseConfiguration(childConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PaletteconfigurationPackage.DRAWER_CONFIGURATION: {
+ DrawerConfiguration drawerConfiguration = (DrawerConfiguration)theEObject;
+ T result = caseDrawerConfiguration(drawerConfiguration);
+ if (result == null) result = caseConfiguration(drawerConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PaletteconfigurationPackage.CONFIGURATION: {
+ Configuration configuration = (Configuration)theEObject;
+ T result = caseConfiguration(configuration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PaletteconfigurationPackage.ICON_DESCRIPTOR: {
+ IconDescriptor iconDescriptor = (IconDescriptor)theEObject;
+ T result = caseIconDescriptor(iconDescriptor);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PaletteconfigurationPackage.ELEMENT_DESCRIPTOR: {
+ ElementDescriptor elementDescriptor = (ElementDescriptor)theEObject;
+ T result = caseElementDescriptor(elementDescriptor);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Palette Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Palette Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePaletteConfiguration(PaletteConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Tool Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Tool Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseToolConfiguration(ToolConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Stack Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Stack Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStackConfiguration(StackConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Child Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Child Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseChildConfiguration(ChildConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Drawer Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Drawer Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDrawerConfiguration(DrawerConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfiguration(Configuration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Icon Descriptor</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Icon Descriptor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIconDescriptor(IconDescriptor object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element Descriptor</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Element Descriptor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementDescriptor(ElementDescriptor object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //PaletteconfigurationSwitch
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationXMLProcessor.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationXMLProcessor.java
new file mode 100644
index 00000000000..8c9795178c1
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src-gen/org/eclipse/papyrus/diagram/paletteconfiguration/util/PaletteconfigurationXMLProcessor.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.diagram.paletteconfiguration.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PaletteconfigurationXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PaletteconfigurationXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ PaletteconfigurationPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the PaletteconfigurationResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new PaletteconfigurationResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new PaletteconfigurationResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //PaletteconfigurationXMLProcessor
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/Activator.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/Activator.java
new file mode 100644
index 00000000000..67dd6e267e1
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/Activator.java
@@ -0,0 +1,151 @@
+package org.eclipse.papyrus.diagram.paletteconfiguration;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.papyrus.log.LogHelper;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.diagram.paletteconfiguration"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /** Logging helper */
+ public static LogHelper log;
+
+ /** Default image. */
+ public static final String DEFAULT_IMAGE = "icons/papyrus/PapyrusLogo16x16.gif";
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+
+ // register the login helper
+ log = new LogHelper(plugin);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ log = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ public static Image getImage(String key) {
+ ImageRegistry registry = getDefault().getImageRegistry();
+ Image image = registry.get(key);
+
+ if(image == null) { // Image not yet in registry
+ ImageDescriptor desc = AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, key);
+ registry.put(key, desc);
+ image = registry.get(key);
+ }
+
+ if((image == null) && !DEFAULT_IMAGE.equals(key)) {
+ image = getImage(DEFAULT_IMAGE);
+ }
+
+ return image;
+ }
+
+ /**
+ * This method returns an <code>org.eclipse.swt.graphics.Image</code> identified by its pluginId and iconPath.<BR>
+ *
+ * By default, it returns a default image. This image is the image placed in
+ * the directory <em>resources/icons/default.gif</em>
+ *
+ * @param pluginId
+ * id of plugin
+ * @param iconpPath
+ * the path of the icon image relative to the plugin
+ * @return the Image
+ */
+ public static Image getPluginIconImage(String pluginId, String iconPath) {
+ String key = pluginId + iconPath;
+ ImageRegistry registry = getDefault().getImageRegistry();
+ Image image = registry.get(key);
+
+ if(image == null) {
+
+ ImageDescriptor desc = AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, iconPath);
+
+ registry.put(key, desc);
+ image = registry.get(key);
+
+ }
+ if((image == null) && !iconPath.equals(DEFAULT_IMAGE)) {
+ image = getImage(DEFAULT_IMAGE);
+ }
+
+ return image;
+ }
+
+ /**
+ * Returns an image descriptor for the image file at the given plug-in
+ * relative path.
+ *
+ * @param path
+ * the path for the image file
+ * @return the image descriptor
+ */
+ public static ImageDescriptor getImageDescriptor(String path) {
+ return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path);
+ }
+
+ /**
+ * This method returns an <code>org.eclipse.swt.graphics.Image</code> identified by its pluginId and image Descriptor.<BR>
+ *
+ * By default, it returns a default image. This image is the image placed in
+ * the directory <em>resources/icons/default.gif</em>
+ *
+ * @param pluginId
+ * id of plugin
+ * @param descriptor
+ * the image descriptor of the image
+ * @return the Image
+ */
+ public static Image getPluginIconImage(String pluginId, ImageDescriptor descriptor) {
+ String key = pluginId + descriptor;
+ ImageRegistry registry = getDefault().getImageRegistry();
+ Image image = registry.get(key);
+
+ if(image == null) {
+
+ registry.put(key, descriptor);
+ image = registry.get(key);
+
+ }
+ return image;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/descriptor/ExtendedEditHelperAdvice.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/descriptor/ExtendedEditHelperAdvice.java
new file mode 100644
index 00000000000..10b1d18150b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/descriptor/ExtendedEditHelperAdvice.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.paletteconfiguration.descriptor;
+
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+
+/**
+ * Edit helper Advice for extended element types.
+ */
+public class ExtendedEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean approveRequest(IEditCommandRequest request) {
+ // launch queries here
+ return super.approveRequest(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getBeforeCreateCommand(CreateElementRequest request) {
+ // pre-action. Here, this is null.
+ return super.getBeforeCreateCommand(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getAfterCreateCommand(CreateElementRequest request) {
+ // post-action. Here, this is null.
+ return super.getAfterCreateCommand(request);
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/descriptor/ExtendedSemanticTypeDescriptor.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/descriptor/ExtendedSemanticTypeDescriptor.java
new file mode 100644
index 00000000000..f866fc00d8a
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/descriptor/ExtendedSemanticTypeDescriptor.java
@@ -0,0 +1,100 @@
+package org.eclipse.papyrus.diagram.paletteconfiguration.descriptor;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.gmf.runtime.emf.type.core.IContainerDescriptor;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationTypeDescriptor;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
+import org.eclipse.papyrus.diagram.paletteconfiguration.Activator;
+import org.osgi.framework.Bundle;
+
+
+/**
+ * new descriptor implementation for on-the-fly added descriptor
+ */
+public class ExtendedSemanticTypeDescriptor implements ISpecializationTypeDescriptor {
+
+ /** id of the type */
+ public static final String TYPE_ID = "org.eclipse.papyrus.uml.testSpecializationType";
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getId() {
+ return TYPE_ID;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public URL getIconURL() {
+ Bundle bundle = Activator.getDefault().getBundle();
+ URL result = bundle.getEntry("/icons/elementTypeIcon.gif");
+
+ if(result == null) {
+ try {
+ result = new URL("/icons/elementTypeIcon.gif");
+ } catch (MalformedURLException e) {
+ result = null;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getName() {
+ return "MyTestType";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getKindName() {
+ return "org.eclipse.gmf.runtime.emf.type.core.IHintedType";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getParamValue(String paramName) {
+ return "ExtendedElements";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public IContainerDescriptor getContainerDescriptor() {
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public IElementType[] getSpecializedTypes() {
+ // retrieve element types from the registry
+
+
+ // return Arrays.asList(UMLElementTypes.CLASS).toArray(new IElementType[]{});
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public IElementMatcher getMatcher() {
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public IEditHelperAdvice getEditHelperAdvice() {
+ return new ExtendedEditHelperAdvice();
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedConnectionToolEntry.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedConnectionToolEntry.java
new file mode 100644
index 00000000000..8d05c9d8c0e
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedConnectionToolEntry.java
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.paletteconfiguration.provider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.diagram.ui.internal.services.palette.PaletteToolEntry;
+import org.eclipse.gmf.runtime.diagram.ui.services.palette.PaletteFactory;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedTypesRegistry;
+import org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor;
+
+
+/**
+ * Extended connection Tool Entry
+ */
+public class ExtendedConnectionToolEntry extends PaletteToolEntry implements IElementTypesBasedTool {
+
+ /** list of element types created by this tool */
+ final private List<IElementType> elementTypes = new ArrayList<IElementType>();
+
+ /** List of Element Descriptors for this tool */
+ private final List<ElementDescriptor> elementDescriptors;
+
+ /**
+ * Constructor.
+ *
+ * @param label the label of the tool
+ * @param factory the factory used by the entry to create the tool
+ * @param id unique identifier of the tool
+ * @param elementDescriptors list of element descriptors created by the tool
+ */
+ public ExtendedConnectionToolEntry(String id, String label, PaletteFactory factory, List<ElementDescriptor> elementDescriptors) {
+ super(id, label, factory);
+ this.elementDescriptors = elementDescriptors;
+
+ for(ElementDescriptor elementDescriptor : elementDescriptors) {
+ elementTypes.add(ExtendedTypesRegistry.getInstance().getType(elementDescriptor.getElementTypeId()));
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public List<IElementType> getElementTypes() {
+ return elementTypes;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public List<ElementDescriptor> getElementDescriptors() {
+ return elementDescriptors;
+ }
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedCreationToolEntry.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedCreationToolEntry.java
new file mode 100644
index 00000000000..bae78482363
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedCreationToolEntry.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.paletteconfiguration.provider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.gef.palette.CombinedTemplateCreationEntry;
+import org.eclipse.gmf.runtime.diagram.ui.internal.services.palette.PaletteToolEntry;
+import org.eclipse.gmf.runtime.diagram.ui.services.palette.PaletteFactory;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.diagram.extendedtypes.ExtendedTypesRegistry;
+import org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor;
+
+
+/**
+ * Extended version of the {@link CombinedTemplateCreationEntry}.
+ */
+public class ExtendedCreationToolEntry extends PaletteToolEntry implements IElementTypesBasedTool {
+
+ /** list of element types created by this tool */
+ final private List<IElementType> elementTypes = new ArrayList<IElementType>();
+
+ /** List of Element Descriptors for this tool */
+ private final List<ElementDescriptor> elementDescriptors;
+
+ /**
+ * Creates a new CreationToolEx.
+ *
+ * @param label the label of the tool
+ * @param factory the factory that creates the tool from this entry
+ * @param id the unique identifier of the tool
+ * @param elementDescriptors list of element descriptors created by the tool
+ */
+ public ExtendedCreationToolEntry(String id, String label, PaletteFactory factory, List<ElementDescriptor> elementDescriptors) {
+ super(id, label, factory);
+ this.elementDescriptors = elementDescriptors;
+
+ for(ElementDescriptor elementDescriptor : elementDescriptors) {
+ elementTypes.add(ExtendedTypesRegistry.getInstance().getType(elementDescriptor.getElementTypeId()));
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public List<IElementType> getElementTypes() {
+ return elementTypes;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public List<ElementDescriptor> getElementDescriptors() {
+ return elementDescriptors;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedPaletteDrawer.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedPaletteDrawer.java
new file mode 100644
index 00000000000..52d1f24c29b
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedPaletteDrawer.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.paletteconfiguration.provider;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.papyrus.diagram.paletteconfiguration.Activator;
+
+
+/**
+ * Specific implementation of the Palette Drawer for Papyrus. The one from GMF is not used, as it is internal.
+ */
+public class ExtendedPaletteDrawer extends org.eclipse.gef.palette.PaletteDrawer {
+
+ /**
+ * Creates a new PaletteDrawerEx, with the default icon
+ *
+ * @param label
+ * the label of the drawer
+ * @param id
+ * the unique identifier of this drawer.
+ */
+ public ExtendedPaletteDrawer(String label, String id) {
+ this(label, Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "/icons/drawer.gif"), id);
+ }
+
+ /**
+ * Creates a new PaletteDrawerEx.
+ *
+ * @param label
+ * the label of the drawer
+ * @param icon
+ * the icon of the drawer
+ * @param id
+ * the unique identifier of this drawer.
+ */
+ public ExtendedPaletteDrawer(String label, ImageDescriptor icon, String id) {
+ super(label, icon);
+ setId(id);
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedPluginPaletteProvider.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedPluginPaletteProvider.java
new file mode 100644
index 00000000000..8ca95050b6d
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/ExtendedPluginPaletteProvider.java
@@ -0,0 +1,521 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.paletteconfiguration.provider;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collections;
+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.util.URI;
+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.util.EcoreUtil;
+import org.eclipse.gef.Tool;
+import org.eclipse.gef.palette.CombinedTemplateCreationEntry;
+import org.eclipse.gef.palette.PaletteContainer;
+import org.eclipse.gef.palette.PaletteDrawer;
+import org.eclipse.gef.palette.PaletteEntry;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
+import org.eclipse.gmf.runtime.common.core.service.IOperation;
+import org.eclipse.gmf.runtime.diagram.ui.internal.services.palette.PaletteToolEntry;
+import org.eclipse.gmf.runtime.diagram.ui.services.palette.IPaletteProvider;
+import org.eclipse.gmf.runtime.diagram.ui.services.palette.PaletteFactory;
+import org.eclipse.gmf.runtime.gef.ui.internal.palette.PaletteStack;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.papyrus.diagram.common.service.AspectUnspecifiedTypeConnectionTool;
+import org.eclipse.papyrus.diagram.common.service.AspectUnspecifiedTypeCreationTool;
+import org.eclipse.papyrus.diagram.paletteconfiguration.Activator;
+import org.eclipse.papyrus.diagram.paletteconfiguration.ChildConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.Configuration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.DrawerConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.IconDescriptor;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.PaletteconfigurationPackage;
+import org.eclipse.papyrus.diagram.paletteconfiguration.StackConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.ToolConfiguration;
+import org.eclipse.papyrus.diagram.paletteconfiguration.util.PaletteconfigurationSwitch;
+import org.eclipse.ui.IEditorPart;
+import org.osgi.framework.Bundle;
+
+
+/**
+ * Palette provider with enhanced elements types
+ */
+public class ExtendedPluginPaletteProvider extends AbstractProvider implements IPaletteProvider {
+
+ /** name of the type */
+ public static final String TYPE_NAME = "testSpecializationTypeName";
+
+ /** palette factory */
+ protected ExtendedPaletteFactory paletteFactory = new ExtendedPaletteFactory();
+
+ /** path to the palette configuration model in the bundle */
+ protected static final String PATH = "path";
+
+ /** id of the plugin declaring the extension */
+ protected String contributorID;
+
+ /** contributions to the palette */
+ protected List<PaletteConfiguration> contributions;
+
+ /** map for toolID => extended element type */
+ protected Map<String, IElementTypesBasedTool> mapToolId2Entries = new HashMap<String, IElementTypesBasedTool>();
+
+ /** default icon for tools */
+ protected static final ImageDescriptor DEFAULT_TOOL_IMAGE_DESCRIPTOR = Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "/icons/tool.gif");
+
+ /** default icon for stacks */
+ protected static final ImageDescriptor DEFAULT_STACK_IMAGE_DESCRIPTOR = Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "/icons/stack.gif");
+
+ /** default icon for drawers */
+ protected static ImageDescriptor DEFAULT_DRAWER_IMAGE_DESCRIPTOR = Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "/icons/drawer.gif");
+
+ /**
+ * Constructor.
+ */
+ public ExtendedPluginPaletteProvider() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean provides(IOperation operation) {
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void contributeToPalette(IEditorPart editor, Object content, PaletteRoot root, Map predefinedEntries) {
+ // for each element in the contribution list, create drawers/tools/stacks/etc.
+ if(contributions == null || contributions.size() == 0) {
+ return;
+ }
+
+ // work for each configuration
+ for(PaletteConfiguration configuration : contributions) {
+ List<DrawerConfiguration> drawerConfigurations = configuration.getDrawerConfigurations();
+ if(drawerConfigurations != null && drawerConfigurations.size() > 0) {
+ for(DrawerConfiguration drawerConfiguration : drawerConfigurations) {
+ generateDrawer(root, drawerConfiguration, predefinedEntries);
+ }
+ }
+ }
+ }
+
+ /**
+ * Generates the drawer and its content from its configuration
+ *
+ * @param root
+ * the root container of the palette
+ * @param drawerConfiguration
+ * the configuration that manages the drawer
+ * @param predefinedEntries
+ * predefined existing entries
+ */
+ @SuppressWarnings("restriction")
+ protected PaletteDrawer generateDrawer(PaletteRoot root, DrawerConfiguration drawerConfiguration, Map predefinedEntries) {
+ String id = drawerConfiguration.getId();
+ // retrieve drawer or create one if necessary
+ PaletteDrawer drawer = retrieveExistingEntry(predefinedEntries, id, PaletteDrawer.class);
+ if(drawer == null) {
+ String label = drawerConfiguration.getLabel();
+ drawer = new ExtendedPaletteDrawer(label, id);
+ // complete entry: description and icon
+ completeEntry(drawerConfiguration, drawer);
+ predefinedEntries.put(id, drawer);
+ root.add(drawer);
+ }
+
+ generateContent(drawer, drawerConfiguration, predefinedEntries);
+
+ return drawer;
+ }
+
+ /**
+ * Completes the entry with information like description, icon, etc.
+ *
+ * @param configuration
+ * the configuration of the entry
+ * @param entry
+ * the entry to customize
+ */
+ protected void completeEntry(Configuration configuration, PaletteEntry entry) {
+ // description
+ entry.setDescription(configuration.getDescription());
+
+ // icon. If it is not set, the tool should use the icon of the type created by the tool
+ ImageDescriptor imageDescriptor = null;
+ IconDescriptor iconDescriptor = configuration.getIcon();
+ if(iconDescriptor != null) {
+ String bundleID = iconDescriptor.getPluginID();
+ if(bundleID == null) {
+ // by default, try to load images in the plugin that declares the configuration
+ bundleID = contributorID;
+ }
+ String iconPath = iconDescriptor.getIconPath();
+ imageDescriptor = Activator.imageDescriptorFromPlugin(bundleID, iconPath);
+ }
+
+ if(imageDescriptor == null && configuration instanceof ToolConfiguration) {
+ ToolConfiguration toolConfiguration = ((ToolConfiguration)configuration);
+ // FIXME retrieve icon from the element type
+ }
+
+ // retrieve the default icon for drawers, stacks or tools.
+ if(imageDescriptor == null) {
+ imageDescriptor = new PaletteconfigurationSwitch<ImageDescriptor>() {
+
+ /**
+ * {@inheritDoc}
+ */
+ public ImageDescriptor caseDrawerConfiguration(DrawerConfiguration object) {
+ return ExtendedPluginPaletteProvider.DEFAULT_DRAWER_IMAGE_DESCRIPTOR;
+ };
+
+ /**
+ * {@inheritDoc}
+ */
+ public ImageDescriptor caseToolConfiguration(ToolConfiguration object) {
+ return ExtendedPluginPaletteProvider.DEFAULT_TOOL_IMAGE_DESCRIPTOR;
+ };
+
+ /**
+ * {@inheritDoc}
+ */
+ public ImageDescriptor caseStackConfiguration(StackConfiguration object) {
+ return ExtendedPluginPaletteProvider.DEFAULT_STACK_IMAGE_DESCRIPTOR;
+ };
+
+ /**
+ * {@inheritDoc}
+ */
+ public ImageDescriptor defaultCase(org.eclipse.emf.ecore.EObject object) {
+ return null;
+ };
+ }.doSwitch(configuration);
+ }
+
+ if(imageDescriptor != null) {
+ entry.setLargeIcon(imageDescriptor);
+ entry.setSmallIcon(imageDescriptor);
+ }
+ }
+
+ /**
+ * Generates the content for a palette drawer
+ *
+ * @param drawer
+ * the drawer to complete
+ * @param drawerConfiguration
+ * the configuration of the drawer
+ * @param predefinedEntries
+ * predefined existing entries
+ */
+ protected void generateContent(PaletteDrawer drawer, DrawerConfiguration drawerConfiguration, Map predefinedEntries) {
+ for(ChildConfiguration configuration : drawerConfiguration.getOwnedConfigurations()) {
+ if(configuration.eClass().equals(PaletteconfigurationPackage.eINSTANCE.getStackConfiguration())) {
+ generateStack(drawer, (StackConfiguration)configuration, predefinedEntries);
+ } else if(configuration.eClass().equals(PaletteconfigurationPackage.eINSTANCE.getToolConfiguration())) {
+ generateTool(drawer, (ToolConfiguration)configuration, predefinedEntries);
+ }
+ }
+ }
+
+ /**
+ * Generates the tool from its configuration and container
+ *
+ * @param container
+ * the container in which the tool should be added
+ * @param configuration
+ * the configuration of the tool entry
+ * @param predefinedEntries
+ * predefined existing entries
+ */
+ protected CombinedTemplateCreationEntry generateTool(PaletteContainer container, ToolConfiguration configuration, Map predefinedEntries) {
+ switch(configuration.getKind()) {
+ case CONNECTION_TOOL:
+ return generateConnectionTool(container, configuration, predefinedEntries);
+ case CREATION_TOOL:
+ return generateCreationTool(container, configuration, predefinedEntries);
+ }
+ return null;
+ }
+
+ /**
+ * Generates the connection tool from its configuration and container
+ *
+ * @param container
+ * the container in which the tool should be added
+ * @param configuration
+ * the configuration of the tool entry
+ * @param predefinedEntries
+ * predefined existing entries
+ */
+ protected CombinedTemplateCreationEntry generateConnectionTool(PaletteContainer container, ToolConfiguration configuration, Map predefinedEntries) {
+ String toolID = configuration.getId();
+ CombinedTemplateCreationEntry toolEntry = retrieveExistingEntry(predefinedEntries, toolID, CombinedTemplateCreationEntry.class);
+
+ if(toolEntry == null) {
+ // create a new one from the configuration
+ String label = configuration.getLabel();
+ // create icon descriptor
+ toolEntry = new ExtendedConnectionToolEntry(toolID, label, paletteFactory, configuration.getElementDescriptors());
+ completeEntry(configuration, toolEntry);
+ container.add(toolEntry);
+ // register the tool in the tool predefined entries
+ predefinedEntries.put(toolID, toolEntry);
+ mapToolId2Entries.put(toolID, (ExtendedConnectionToolEntry)toolEntry);
+ }
+
+ return toolEntry;
+ }
+
+ /**
+ * Generates the creation tool from its configuration and container
+ *
+ * @param container
+ * the container in which the tool should be added
+ * @param configuration
+ * the configuration of the tool entry
+ * @param predefinedEntries
+ * predefined existing entries
+ */
+ protected CombinedTemplateCreationEntry generateCreationTool(PaletteContainer container, ToolConfiguration configuration, Map predefinedEntries) {
+ String toolID = configuration.getId();
+ CombinedTemplateCreationEntry toolEntry = retrieveExistingEntry(predefinedEntries, toolID, CombinedTemplateCreationEntry.class);
+
+ if(toolEntry == null) {
+ // create a new one from the configuration
+ String label = configuration.getLabel();
+ // create icon descriptor
+ toolEntry = new ExtendedCreationToolEntry(toolID, label, paletteFactory, configuration.getElementDescriptors());
+ completeEntry(configuration, toolEntry);
+ container.add(toolEntry);
+ // register the tool in the tool predefined entries
+ predefinedEntries.put(toolID, toolEntry);
+ mapToolId2Entries.put(toolID, (ExtendedCreationToolEntry)toolEntry);
+ }
+
+ return toolEntry;
+ }
+
+
+ /**
+ * Try to retrieve a tool entry in the list of predefined entries
+ *
+ * @param toolID
+ * id of the tool to look for
+ * @param predefinedEntries
+ * predefined existing entries
+ * @return the tool found or <code>null</code>
+ */
+ protected PaletteToolEntry retrieveTool(String toolID, Map predefinedEntries) {
+ Object value = predefinedEntries.get(toolID);
+ if(value instanceof PaletteToolEntry) {
+ return ((PaletteToolEntry)value);
+ }
+ return null;
+ }
+
+ /**
+ * Generates the stack and its content from its configuration and container
+ *
+ * @param container
+ * the container in which the stack should be added
+ * @param configuration
+ * the configuration of the stack
+ * @param predefinedEntries
+ * predefined existing entries
+ */
+ @SuppressWarnings("restriction")
+ protected PaletteStack generateStack(PaletteContainer container, StackConfiguration configuration, Map predefinedEntries) {
+ String stackID = configuration.getId();
+ PaletteStack stack = retrieveExistingEntry(predefinedEntries, stackID, PaletteStack.class);
+
+ if(stack == null) {
+ // create a new one from the configuration
+ String label = configuration.getLabel();
+ String description = configuration.getDescription();
+ // create icon descriptor
+ stack = new PaletteStack(stackID, label, description, DEFAULT_STACK_IMAGE_DESCRIPTOR);
+ completeEntry(configuration, stack); // seems to be not useful, as the constructor has all informations
+ predefinedEntries.put(stackID, stack);
+ container.add(stack);
+ }
+
+ // generate the nodes of the stack
+ for(ToolConfiguration toolConfiguration : configuration.getToolConfigurations()) {
+ generateTool(stack, toolConfiguration, predefinedEntries);
+ }
+
+ return stack;
+ }
+
+ /**
+ * Retrieve an existing drawer from the current root node
+ *
+ * @param predefinedEntries
+ * the currently existing palette entries
+ * @param id
+ * the id of the drawer to retrieve
+ * @param entryClass
+ * the type of element to retrieve
+ * @return the drawer found or <code>null</code> if no drawer was retrieved
+ */
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ protected <T extends PaletteEntry> T retrieveExistingEntry(Map predefinedEntries, String id, Class<T> elementClass) {
+ Object value = predefinedEntries.get(id);
+ if(value == null) {
+ return null;
+ }
+ if(elementClass.isAssignableFrom(value.getClass())) {
+ return (T)value;
+ }
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setContributions(IConfigurationElement configElement) {
+ // retrieve the model file
+ contributorID = configElement.getNamespaceIdentifier();
+ String path = configElement.getAttribute(PATH);
+ if(path == null) {
+ Activator.log.error("Impossible to find the path for contribution " + configElement.getValue(), null);
+ contributions = Collections.emptyList();
+ return;
+ }
+
+ Bundle bundle = Platform.getBundle(contributorID);
+ if(bundle == null) {
+ Activator.log.error("Impossible to find the bundle with ID: " + contributorID, null);
+ contributions = Collections.emptyList();
+ return;
+ }
+
+ try {
+ contributions = loadConfigurationModel(bundle, path);
+ } catch (FileNotFoundException e) {
+ Activator.log.error(e);
+ contributions = Collections.emptyList();
+ } catch (IOException e) {
+ Activator.log.error(e);
+ contributions = Collections.emptyList();
+ }
+ }
+
+ /**
+ * Loads and returns the model, given the bundle and path of the model file.
+ *
+ * @param bundle
+ * the id of the bundle
+ * @param path
+ * the path to the file in the bundle
+ */
+ protected List<PaletteConfiguration> loadConfigurationModel(Bundle bundle, String path) throws FileNotFoundException, IOException {
+ // stores the bundle in which the resource is located.
+ // warning: in case of fragments, the contributor id can the the plugin, but the file can be localized in the fragment
+ // In this case, the real bundle used to load the file is the fragment bundle...
+ String bundleId = null;
+
+ // creates a resource set that will load the configuration
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ // try to load the resource in the fragments of the bundle, then the bundle itself.
+ URL entry = null;
+ // try in fragments...
+ Bundle[] fragments = Platform.getFragments(bundle);
+ if(fragments != null) {
+ for(Bundle fragment : fragments) {
+ entry = fragment.getEntry(path);
+ if(entry != null) {
+ bundleId = fragment.getSymbolicName();
+ continue;
+ }
+ }
+ }
+ // look now in the bundle itself.
+ if(entry == null) {
+ entry = bundle.getEntry(path);
+ // no entry was found in the chidlren fragments, look in the bundle itself
+ if(entry == null) {
+ throw new FileNotFoundException("Loading palette configuration... Impossible to find a resource for path; " + path + " for bundle: " + bundle);
+ } else {
+ bundleId = bundle.getSymbolicName();
+ }
+ }
+
+
+
+ Resource resource = resourceSet.createResource(URI.createPlatformPluginURI("/" + bundleId + "/" + path, true));
+ if(resource == null) {
+ throw new FileNotFoundException("Loading palette configuration... Impossible to find a resource for path; " + path + " for bundle: " + bundle);
+ }
+ resource.load(Collections.emptyMap());
+ if(resource.getContents().size() > 0) {
+
+ return new ArrayList<PaletteConfiguration>(EcoreUtil.<PaletteConfiguration> getObjectsByType(resource.getContents(), PaletteconfigurationPackage.eINSTANCE.getPaletteConfiguration()));
+ }
+ return Collections.emptyList();
+ }
+
+ /**
+ * Returns the id of the bundle that declares this provider, can be null if not yet initialized
+ *
+ * @return the id of the bundle, or <code>null</code>
+ */
+ protected String getContributorID() {
+ return contributorID;
+ }
+
+ /**
+ * Returns the list of contribution for this provider
+ *
+ * @return the list of contribution for this provider
+ */
+ public List<PaletteConfiguration> getContributions() {
+ return contributions;
+ }
+
+ /**
+ * factory used to create new tools for the extended palette provider. It will find or create a new element type for each tool which has extended
+ * features.
+ */
+ public class ExtendedPaletteFactory extends PaletteFactory.Adapter {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Tool createTool(String toolId) {
+ IElementTypesBasedTool toolEntry = mapToolId2Entries.get(toolId);
+ if(toolEntry instanceof ExtendedCreationToolEntry) {
+ return new AspectUnspecifiedTypeCreationTool(((ExtendedCreationToolEntry)toolEntry).getElementTypes());
+ } else if(toolEntry instanceof ExtendedConnectionToolEntry) {
+ return new AspectUnspecifiedTypeConnectionTool(((ExtendedCreationToolEntry)toolEntry).getElementTypes());
+ }
+ Activator.log.warn("Impossible to create a tool for the given tool id: " + toolId + ". Tool Entry found was :" + toolEntry);
+ return null;
+ }
+ }
+}
diff --git a/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/IElementTypesBasedTool.java b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/IElementTypesBasedTool.java
new file mode 100644
index 00000000000..e3188312148
--- /dev/null
+++ b/incoming/org.eclipse.papyrus.diagram.paletteconfiguration/src/org/eclipse/papyrus/diagram/paletteconfiguration/provider/IElementTypesBasedTool.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.diagram.paletteconfiguration.provider;
+
+import java.util.List;
+
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.diagram.paletteconfiguration.ElementDescriptor;
+
+/**
+ * Tool based on element types
+ */
+public interface IElementTypesBasedTool {
+
+ /**
+ * Returns the list of element types created by this tool
+ * @return the list of element types created by this tool
+ */
+ public List<IElementType> getElementTypes();
+
+ /**
+ * Returns the list of Element descriptors created by this tool
+ * @return the list of Element descriptors created by this tool
+ */
+ public List<ElementDescriptor> getElementDescriptors();
+}

Back to the top