Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian W. Damus2016-01-15 18:27:40 +0000
committerChristian W. Damus2016-01-22 15:57:12 +0000
commit929e9738301b35cef5cc1ab00f47047671940bd5 (patch)
tree3557a10c2577b834d83909689755a39b86162517
parent652333238a0a1651c1b69a4563b72961250c5398 (diff)
downloadorg.eclipse.papyrus-929e9738301b35cef5cc1ab00f47047671940bd5.tar.gz
org.eclipse.papyrus-929e9738301b35cef5cc1ab00f47047671940bd5.tar.xz
org.eclipse.papyrus-929e9738301b35cef5cc1ab00f47047671940bd5.zip
Bug 485220: [Architecture] Provide a more modular architecture
https://bugs.eclipse.org/bugs/show_bug.cgi?id=485220 Move UI-dependent APIs from the org.eclipse.papyrus.infra.constraints bundle to a new org.eclipse.papyrus.infra.constraints.ui bundle. Replace usage of ISelection and IStructuredSelection in Constraint and ConstraintEngine API methods with Object and Collection<?>, respectively. Move the ElementTypesPreferences class from the infra.elementtypesconfigurations bundle to a new infra.elementtypesconfigurations.ui bundle. For compatibility, it still persists its data via an `IMemento` in the preferences of the core `infra.elementtypesconfigurations` bundle. It implements a new provider extension interface that allows the core bundle's element-type registry to call out to it to get user-defined element types from the workspace. Move the RuntimeValuesEditionAdviceEditHelperAdvice class and some of its attendants from the infra.elementtypesconfigurations.emf bundle to the new infra.elementtypesconfigurations.ui bundle because it needs to open the EditionDialog to let the user edit objects. Likewise the similar APIs in the infra.extendedtypes bundle, including also the entire providers package for action-providers, with the ExtendedElementTypeActionService class, the IExtendedElementTypeActionProvider interface, and the corresponding extension point namespace. Move the ElementTypeValidator class from the infra.services.edit bundle to a new infra.services.edit.ui bundle. Other fixes for simple inessential UI dependencies and also conflicts in bundle classpaths (such as in the Sequence Diagram particularly) that cause deadlocks in class loading in a complete Papyrus environment, such as the AllTests suite. Factor the UI dependencies out of the infra.onefile bundle into a new infra.onefile.ui bundle. Tests all still pass (inasmuch as they do in the nightly master builds). Change-Id: I43510c84f54c3e0e52cd7d2aa3ca6aca95b894a7
-rw-r--r--extraplugins/cdo/org.eclipse.papyrus.cdo.ui/META-INF/MANIFEST.MF3
-rw-r--r--extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/providers/ModelImportNodeLabelProvider.java7
-rw-r--r--extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/providers/PapyrusElementLabelProvider.java37
-rw-r--r--extraplugins/papyrus4ecore/org.eclipse.papyrus.uml.diagram.ecore/META-INF/MANIFEST.MF3
-rw-r--r--extraplugins/papyrus4ecore/org.eclipse.papyrus.uml.diagram.ecore/src/org/eclipse/papyrus/uml/diagram/ecore/util/ConvertToEcoreUtil.java2
-rw-r--r--features/papyrus-main-features/org.eclipse.papyrus.infra.ui.feature/feature.xml10
-rw-r--r--features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.feature/feature.xml6
-rw-r--r--features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.services.feature/feature.xml4
-rw-r--r--plugins/customization/org.eclipse.papyrus.customization.properties/META-INF/MANIFEST.MF3
-rw-r--r--plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/modelelement/CustomizationModelElement.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.log/src/org/eclipse/papyrus/infra/core/log/LogHelper.java38
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/src/org/eclipse/papyrus/infra/gmfdiag/properties/constraint/AppearanceConstraint.java8
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsTreeTableConstraint.java17
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.classpath7
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.project29
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints.ui/META-INF/MANIFEST.MF19
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints.ui/about.html28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints.ui/build.properties21
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints.ui/custom/constraints.uiCustom (renamed from plugins/infra/org.eclipse.papyrus.infra.constraints/custom/constraints.uiCustom)110
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints.ui/plugin.properties14
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints.ui/pom.xml14
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints.ui/src/org/eclipse/papyrus/infra/constraints/internal/ui/Activator.java66
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints.ui/src/org/eclipse/papyrus/infra/constraints/ui/providers/ConstraintTypeContentProvider.java (renamed from plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/providers/ConstraintTypeContentProvider.java)10
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints/.classpath16
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints/META-INF/MANIFEST.MF7
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints/build.properties1
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints/plugin.xml26
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/Activator.java18
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/AbstractConstraint.java34
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/CompoundConstraint.java9
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/Constraint.java15
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/runtime/ConstraintEngine.java12
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/runtime/DefaultConstraintEngine.java103
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/plugin.xml7
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/src/org/eclipse/papyrus/infra/elementtypesconfigurations/emf/Activator.java17
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/.classpath16
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/META-INF/MANIFEST.MF1
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/src/org/eclipse/papyrus/infra/elementtypesconfigurations/invarianttypes/Activator.java9
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.classpath7
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.project28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/META-INF/MANIFEST.MF22
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/about.html28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/build.properties13
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/icons/configuration.gif (renamed from plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/icons/configuration.gif)bin341 -> 341 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/icons/error.gif (renamed from plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/icons/error.gif)bin353 -> 353 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/plugin.properties15
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/plugin.xml102
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/pom.xml14
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/LogUtil.java33
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/UserElementTypeDefinitionsProvider.java40
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/advice/RuntimeValuesEditionAdviceEditHelperAdvice.java (renamed from plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/src/org/eclipse/papyrus/infra/elementtypesconfigurations/emf/runtimevalueseditionadviceconfiguration/RuntimeValuesEditionAdviceEditHelperAdvice.java)4
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/advice/RuntimeValuesEditionAdviceEditHelperAdviceFactory.java (renamed from plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/src/org/eclipse/papyrus/infra/elementtypesconfigurations/emf/runtimevalueseditionadviceconfiguration/RuntimeValuesEditionAdviceEditHelperAdviceFactory.java)3
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/handlers/DeployElementTypeSetConfigurationHandler.java (renamed from plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/handler/DeployElementTypeSetConfigurationHandler.java)256
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/handlers/UndeployElementTypeSetConfigurationHandler.java (renamed from plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/handler/UndeployElementTypeSetConfigurationHandler.java)254
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/preferences/ElementTypesPreferences.java (renamed from plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/preferences/ElementTypesPreferences.java)602
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/.classpath16
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/build.properties3
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/plugin.xml86
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/schema/userDefinitions.exsd100
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/Activator.java17
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/extensionpoints/IUserElementTypeDefinitionsExtensionPoint.java27
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/registries/spi/IUserElementTypeDefinitionsProvider.java40
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/registries/ElementTypeSetConfigurationRegistry.java12
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/registries/UserElementTypeDefinitionsRegistry.java108
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/plugin.xml10
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/Activator.java9
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.classpath7
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.project28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/META-INF/MANIFEST.MF24
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/about.html28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/build.properties13
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/icons/configuration.gif (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/icons/configuration.gif)bin341 -> 341 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/icons/error.gif (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/icons/error.gif)bin353 -> 353 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/plugin.properties15
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/plugin.xml92
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/pom.xml14
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/schema/extendedElementTypeActionProvider.exsd (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/extendedElementTypeActionProvider.exsd)396
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/LogUtil.java33
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/UserExtendedTypesProvider.java40
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/advice/RuntimeValuesEditionActionConfigurationModelCreation.java (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/runtimevalueseditionactionconfiguration/RuntimeValuesEditionActionConfigurationModelCreation.java)4
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/advice/RuntimeValuesEditionActionCreationElementValidator.java (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/runtimevalueseditionactionconfiguration/RuntimeValuesEditionActionCreationElementValidator.java)3
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/advice/RuntimeValuesEditionActionEditHelperAdvice.java (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/runtimevalueseditionactionconfiguration/RuntimeValuesEditionActionEditHelperAdvice.java)282
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/handlers/DeployExtendedTypeSetConfigurationHandler.java (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/handler/DeployExtendedTypeSetConfigurationHandler.java)4
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/handlers/UndeployExtendedTypeSetConfigurationHandler.java (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/handler/UndeployExtendedTypeSetConfigurationHandler.java)4
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/preferences/ExtendedTypesPreferences.java (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/preferences/ExtendedTypesPreferences.java)29
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/ExtendedElementTypeActionService.java (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ExtendedElementTypeActionService.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/ExtentedElementTypeActionProviderConfiguration.java (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ExtentedElementTypeActionProviderConfiguration.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/GetAllExtendedElementTypeActionProvidersOperation.java (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/GetAllExtendedElementTypeActionProvidersOperation.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/GetExtendedElementTypeActionProviderOperation.java (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/GetExtendedElementTypeActionProviderOperation.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/IExtendedElementTypeActionProvider.java (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/IExtendedElementTypeActionProvider.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/ProviderNotFoundException.java (renamed from plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ProviderNotFoundException.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.classpath4
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/META-INF/MANIFEST.MF10
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/build.properties3
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/plugin.xml71
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/userExtendedTypes.exsd100
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/Activator.java19
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/AspectConfigurationFactoryRegistry.java124
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ConfigurableElementMatcherFactoryRegistry.java124
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSetRegistry.java131
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/UserExtendedTypesRegistry.java107
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/internal/spi/IUserExtendedTypesProvider.java39
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/RuleConfigurationFactoryRegistry.java120
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/util/InternalUtils.java157
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.classpath7
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.project28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/META-INF/MANIFEST.MF34
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/about.html28
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/build.properties7
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/icons/papyrus.png (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/icons/papyrus.png)bin602 -> 602 bytes
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/plugin.properties15
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/plugin.xml305
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/pom.xml14
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/Activator.java61
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/CopyFilesAndFoldersOperation.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/action/CopyFilesAndFoldersOperation.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/PapyrusCopyFilesAndFoldersOperation.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/action/PapyrusCopyFilesAndFoldersOperation.java)4
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/PapyrusModelPasteAction.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/action/PapyrusModelPasteAction.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/PasteAction.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/action/PasteAction.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/filters/OnlyDiFilter.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/matcher/OnlyDiFilter.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/ModelAdapterFactory.java42
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/PapyrusCommonDropAdapterAssistant.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/PapyrusCommonDropAdapterAssistant.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/PapyrusLinkHelper.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/PapyrusLinkHelper.java)12
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/PapyrusModelContributorResourceAdapter.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/PapyrusModelContributorResourceAdapter.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/SubResourceAdapterFactory.java41
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/CopyToClipboardAction.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/CopyToClipboardAction.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/OneFileDecorator.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/OneFileDecorator.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/PapyrusEditActionProvider.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusEditActionProvider.java)4
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/PapyrusModelActionProvider.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusModelActionProvider.java)6
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/SubresourceFileActionProvider.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/SubresourceFileActionProvider.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/testers/PapyrusClipboardTester.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/testers/PapyrusClipboardTester.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/ui/providers/PapyrusContentProvider.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusContentProvider.java)6
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/ui/providers/PapyrusLabelProvider.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusLabelProvider.java)27
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/ui/providers/PapyrusViewerSorter.java (renamed from plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusViewerSorter.java)2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/ui/utils/OneFileUIUtils.java210
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile/META-INF/MANIFEST.MF13
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile/build.properties2
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile/plugin.properties11
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile/plugin.xml293
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/Activator.java8
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/IPapyrusElement.java8
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/ModelAdapterFactory.java32
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/SubResourceAdapterFactory.java24
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/impl/PapyrusFile.java6
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/impl/SubResourceFile.java13
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/utils/OneFileUtils.java187
-rwxr-xr-xplugins/infra/org.eclipse.papyrus.infra.sync/META-INF/MANIFEST.MF3
-rwxr-xr-xplugins/infra/org.eclipse.papyrus.infra.sync/src/org/eclipse/papyrus/infra/sync/Activator.java8
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.classpath7
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.project28
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/META-INF/MANIFEST.MF19
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/about.html28
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/build.properties10
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/messages.properties3
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/plugin.properties15
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/pom.xml14
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/src/org/eclipse/papyrus/infra/services/edit/internal/ui/Activator.java61
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/src/org/eclipse/papyrus/infra/services/edit/internal/ui/messages/Messages.java34
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/src/org/eclipse/papyrus/infra/services/edit/ui/dialogs/ElementTypeValidator.java (renamed from plugins/infra/services/org.eclipse.papyrus.infra.services.edit/src/org/eclipse/papyrus/infra/services/edit/utils/ElementTypeValidator.java)4
-rw-r--r--plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/src/org/eclipse/papyrus/infra/viewpoints/policy/ModelRuleConstraintEngine.java18
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.common/META-INF/MANIFEST.MF3
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.common/src-common-sysml/org/eclipse/papyrus/sysml/diagram/common/dialogs/ServiceEditContentProvider.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/META-INF/MANIFEST.MF30
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools/META-INF/MANIFEST.MF3
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/providers/ServiceEditContentProvider.java2
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/runtime/ViewConstraintEngineImpl.java6
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/xwt/XWTSection.java13
-rw-r--r--releng/main-tests/pom.xml3
-rwxr-xr-xreleng/main/pom.xml5
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.tests/.classpath4
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.tests/META-INF/MANIFEST.MF9
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.tests/plugin.xml6
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.tests/src/org/eclipse/papyrus/infra/elementtypesconfigurations/tests/AbstractElementTypeTests.java11
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.tests/src/org/eclipse/papyrus/infra/elementtypesconfigurations/tests/ElementTypesRegistryTests.java55
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/.classpath7
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/.project28
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/.settings/org.eclipse.jdt.core.prefs296
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/META-INF/MANIFEST.MF18
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/about.html28
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/build.properties21
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/model/ElementTypesMenu.xmi (renamed from tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.tests/model/ElementTypesMenu.xmi)0
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/model/ElementTypesTestsProfile.ctx (renamed from tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.tests/model/ElementTypesTestsProfile.ctx)76
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/model/MyPalette.palette22
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/model/WorkspaceTest.elementtypesconfigurations (renamed from tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.tests/model/WorkspaceTest.elementtypesconfigurations)84
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/model/ui/SingleStereotypeWithFeaturesToSet.xwt (renamed from tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.tests/model/ui/SingleStereotypeWithFeaturesToSet.xwt)100
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/org.eclipse.papyrus.infra.elementtypes.tests.ui.launch42
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/plugin.properties13
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/plugin.xml11
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/pom.xml15
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/src/org/eclipse/papyrus/infra/elementtypesconfigurations/ui/tests/AllTests.java29
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests/src/org/eclipse/papyrus/infra/elementtypesconfigurations/ui/tests/ElementTypesRegistryTests.java110
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.tests/META-INF/MANIFEST.MF9
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/AbstractElementTypeTests.java11
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.tests/src/org/eclipse/papyrus/infra/extendedtypes/tests/ExtendedTypesRegistryTests.java58
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/.classpath7
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/.project28
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/META-INF/MANIFEST.MF18
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/about.html28
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/build.properties8
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/model/ExtendedTypesTestsProfile.ctx38
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/model/MyPalette.palette1
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/model/TestMenu.xmi33
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/model/WorkspaceTest.extendedtypes13
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/model/ui/SingleStereotypeWithFeaturesToSet.xwt2
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/org.eclipse.papyrus.infra.extendedtypes.ui.tests.launch42
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/plugin.properties12
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/plugin.xml10
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/pom.xml15
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/src/org/eclipse/papyrus/infra/extendedtypes/ui/tests/AllTests.java29
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.ui.tests/src/org/eclipse/papyrus/infra/extendedtypes/ui/tests/ExtendedTypesRegistryTests.java117
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.tests/META-INF/MANIFEST.MF6
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllTests.java5
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.tests/META-INF/MANIFEST.MF6
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.tests/src/org/eclipse/papyrus/infra/services/edit/tests/AbstractTestElementEditService.java35
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.tests/src/org/eclipse/papyrus/infra/services/edit/tests/suites/AllTests.java27
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui.tests/.classpath7
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui.tests/.project28
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui.tests/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui.tests/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui.tests/META-INF/MANIFEST.MF16
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui.tests/about.html28
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui.tests/build.properties7
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui.tests/org.eclipse.papyrus.infra.services.edit.ui.tests.launch43
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui.tests/plugin.properties16
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui.tests/pom.xml15
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui.tests/src/org/eclipse/papyrus/infra/services/edit/ui/dialogs/tests/TestElementTypeValidator.java (renamed from tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.tests/src/org/eclipse/papyrus/infra/services/edit/tests/utils/TestElementTypeValidator.java)64
-rw-r--r--tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui.tests/src/org/eclipse/papyrus/infra/services/edit/ui/tests/AllTests.java32
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/META-INF/MANIFEST.MF9
247 files changed, 7996 insertions, 2853 deletions
diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/META-INF/MANIFEST.MF b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/META-INF/MANIFEST.MF
index de765e3afb5..8344552be2b 100644
--- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/META-INF/MANIFEST.MF
+++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/META-INF/MANIFEST.MF
@@ -53,7 +53,8 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.papyrus.emf.facet.custom.metamodel;bundle-version="1.2.0",
org.eclipse.papyrus.infra.ui;bundle-version="1.2.0",
org.eclipse.papyrus.infra.core.sashwindows.di;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.core.sasheditor;bundle-version="1.2.0"
+ org.eclipse.papyrus.infra.core.sasheditor;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.onefile.ui;bundle-version="1.2.0"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.2.0.qualifier
diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/providers/ModelImportNodeLabelProvider.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/providers/ModelImportNodeLabelProvider.java
index a8ad07a9e24..a4c375cd895 100644
--- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/providers/ModelImportNodeLabelProvider.java
+++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/providers/ModelImportNodeLabelProvider.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
+ * Copyright (c) 2013, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,8 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
*****************************************************************************/
package org.eclipse.papyrus.cdo.internal.ui.providers;
@@ -22,6 +24,7 @@ import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.papyrus.cdo.core.importer.IModelTransferNode;
import org.eclipse.papyrus.cdo.internal.core.CDOUtils;
import org.eclipse.papyrus.cdo.internal.ui.util.CompositeLabelProvider;
+import org.eclipse.papyrus.infra.onefile.ui.providers.PapyrusLabelProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.model.WorkbenchLabelProvider;
@@ -30,7 +33,7 @@ import org.eclipse.ui.model.WorkbenchLabelProvider;
*/
public class ModelImportNodeLabelProvider implements ILabelProvider {
- private final ILabelProvider delegate = new CompositeLabelProvider(new PapyrusElementLabelProvider(), new WorkbenchLabelProvider());
+ private final ILabelProvider delegate = new CompositeLabelProvider(new PapyrusLabelProvider(), new WorkbenchLabelProvider());
public ModelImportNodeLabelProvider() {
super();
diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/providers/PapyrusElementLabelProvider.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/providers/PapyrusElementLabelProvider.java
deleted file mode 100644
index 548ecc72505..00000000000
--- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/providers/PapyrusElementLabelProvider.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.cdo.internal.ui.providers;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.papyrus.infra.onefile.model.IPapyrusElement;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * This is the PapyrusElementLabelProvider type. Enjoy.
- */
-public class PapyrusElementLabelProvider
- extends LabelProvider {
-
- @Override
- public Image getImage(Object element) {
- return (element instanceof IPapyrusElement)
- ? ((IPapyrusElement) element).getImage()
- : null;
- }
-
- @Override
- public String getText(Object element) {
- return (element instanceof IPapyrusElement)
- ? ((IPapyrusElement) element).getText()
- : null;
- }
-} \ No newline at end of file
diff --git a/extraplugins/papyrus4ecore/org.eclipse.papyrus.uml.diagram.ecore/META-INF/MANIFEST.MF b/extraplugins/papyrus4ecore/org.eclipse.papyrus.uml.diagram.ecore/META-INF/MANIFEST.MF
index ea1fe55af6c..de25edf6f38 100644
--- a/extraplugins/papyrus4ecore/org.eclipse.papyrus.uml.diagram.ecore/META-INF/MANIFEST.MF
+++ b/extraplugins/papyrus4ecore/org.eclipse.papyrus.uml.diagram.ecore/META-INF/MANIFEST.MF
@@ -10,7 +10,8 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.infra.onefile;bundle-version="1.2.0",
com.google.guava;bundle-version="11.0.0",
org.eclipse.uml2.examples.uml.ui;bundle-version="5.0.0",
- org.eclipse.papyrus.infra.emf;bundle-version="1.2.0"
+ org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.onefile.ui;bundle-version="1.2.0"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 0.7.0.qualifier
diff --git a/extraplugins/papyrus4ecore/org.eclipse.papyrus.uml.diagram.ecore/src/org/eclipse/papyrus/uml/diagram/ecore/util/ConvertToEcoreUtil.java b/extraplugins/papyrus4ecore/org.eclipse.papyrus.uml.diagram.ecore/src/org/eclipse/papyrus/uml/diagram/ecore/util/ConvertToEcoreUtil.java
index 29f34577523..842f79d28b0 100644
--- a/extraplugins/papyrus4ecore/org.eclipse.papyrus.uml.diagram.ecore/src/org/eclipse/papyrus/uml/diagram/ecore/util/ConvertToEcoreUtil.java
+++ b/extraplugins/papyrus4ecore/org.eclipse.papyrus.uml.diagram.ecore/src/org/eclipse/papyrus/uml/diagram/ecore/util/ConvertToEcoreUtil.java
@@ -28,7 +28,7 @@ import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.papyrus.infra.core.resource.ModelSet;
import org.eclipse.papyrus.infra.core.utils.DiResourceSet;
-import org.eclipse.papyrus.infra.onefile.providers.PapyrusLabelProvider;
+import org.eclipse.papyrus.infra.onefile.ui.providers.PapyrusLabelProvider;
import org.eclipse.uml2.common.util.UML2Util;
import org.eclipse.uml2.examples.uml.ui.UMLExamplesUIPlugin;
import org.eclipse.uml2.uml.Package;
diff --git a/features/papyrus-main-features/org.eclipse.papyrus.infra.ui.feature/feature.xml b/features/papyrus-main-features/org.eclipse.papyrus.infra.ui.feature/feature.xml
index 064500d24e2..b5981585f5c 100644
--- a/features/papyrus-main-features/org.eclipse.papyrus.infra.ui.feature/feature.xml
+++ b/features/papyrus-main-features/org.eclipse.papyrus.infra.ui.feature/feature.xml
@@ -15,8 +15,18 @@ http://www.eclipse.org/legal/epl-v10.html
<plugin download-size="0" id="org.eclipse.papyrus.infra.ui" install-size="0" unpack="false" version="0.0.0"/>
+ <plugin download-size="0" id="org.eclipse.papyrus.infra.onefile.ui" install-size="0" unpack="false" version="0.0.0"/>
+
<plugin download-size="0" id="org.eclipse.papyrus.infra.ui.emf" install-size="0" unpack="false" version="0.0.0"/>
<plugin download-size="0" id="org.eclipse.papyrus.infra.ui.resources" install-size="0" unpack="false" version="0.0.0"/>
+ <plugin download-size="0" id="org.eclipse.papyrus.infra.constraints.ui" install-size="0" unpack="false" version="0.0.0"/>
+
+ <plugin download-size="0" id="org.eclipse.papyrus.infra.elementtypesconfigurations.ui" install-size="0" unpack="false" version="0.0.0"/>
+
+ <plugin download-size="0" id="org.eclipse.papyrus.infra.extendedtypes.ui" install-size="0" unpack="false" version="0.0.0"/>
+
+ <plugin download-size="0" id="org.eclipse.papyrus.infra.services.edit.ui" install-size="0" unpack="false" version="0.0.0"/>
+
</feature>
diff --git a/features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.feature/feature.xml b/features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.feature/feature.xml
index 6d2093e4b39..caf65622753 100644
--- a/features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.feature/feature.xml
+++ b/features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.feature/feature.xml
@@ -16,6 +16,12 @@ http://www.eclipse.org/legal/epl-v10.html
<plugin download-size="0" id="org.eclipse.papyrus.infra.extendedtypes.tests" install-size="0" unpack="false" version="0.0.0"/>
+ <plugin download-size="0" id="org.eclipse.papyrus.infra.extendedtypes.ui.tests" install-size="0" unpack="false" version="0.0.0"/>
+
+ <plugin download-size="0" id="org.eclipse.papyrus.infra.elementtypesconfigurations.tests" install-size="0" unpack="false" version="0.0.0"/>
+
+ <plugin download-size="0" id="org.eclipse.papyrus.infra.elementtypesconfigurations.ui.tests" install-size="0" unpack="false" version="0.0.0"/>
+
<plugin download-size="0" fragment="true" id="org.eclipse.papyrus.infra.gmfdiag.commands.tests" install-size="0" unpack="false" version="0.0.0"/>
<plugin download-size="0" fragment="true" id="org.eclipse.papyrus.infra.gmfdiag.common.tests" install-size="0" unpack="false" version="0.0.0"/>
diff --git a/features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.services.feature/feature.xml b/features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.services.feature/feature.xml
index 32496a34fa0..ddcf3241f30 100644
--- a/features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.services.feature/feature.xml
+++ b/features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.services.feature/feature.xml
@@ -17,7 +17,9 @@ http://www.eclipse.org/legal/epl-v10.html
<plugin download-size="0" fragment="true" id="org.eclipse.papyrus.infra.services.resourceloading.tests" install-size="0" unpack="false" version="0.0.0"/>
- <plugin download-size="0" fragment="true" id="org.eclipse.papyrus.infra.services.edit.tests" install-size="0" unpack="false" version="0.0.0"/>
+ <plugin download-size="0" id="org.eclipse.papyrus.infra.services.edit.tests" install-size="0" unpack="false" version="0.0.0"/>
+
+ <plugin download-size="0" id="org.eclipse.papyrus.infra.services.edit.ui.tests" install-size="0" unpack="false" version="0.0.0"/>
<plugin download-size="0" id="org.eclipse.papyrus.infra.services.controlmode.tests" install-size="0" unpack="false" version="0.0.0"/>
diff --git a/plugins/customization/org.eclipse.papyrus.customization.properties/META-INF/MANIFEST.MF b/plugins/customization/org.eclipse.papyrus.customization.properties/META-INF/MANIFEST.MF
index 64c06e09cf0..3fe33eb6a77 100644
--- a/plugins/customization/org.eclipse.papyrus.customization.properties/META-INF/MANIFEST.MF
+++ b/plugins/customization/org.eclipse.papyrus.customization.properties/META-INF/MANIFEST.MF
@@ -22,7 +22,8 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.papyrus.emf.facet.custom.ui;bundle-version="1.2.0",
org.eclipse.papyrus.emf.facet.custom.core;bundle-version="1.2.0",
org.eclipse.papyrus.emf.facet.query.java.core;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.ui.emf;bundle-version="1.2.0"
+ org.eclipse.papyrus.infra.ui.emf;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.constraints.ui;bundle-version="1.2.0"
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .,
diff --git a/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/modelelement/CustomizationModelElement.java b/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/modelelement/CustomizationModelElement.java
index 75fc5283a86..a2123be2da8 100644
--- a/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/modelelement/CustomizationModelElement.java
+++ b/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/modelelement/CustomizationModelElement.java
@@ -31,7 +31,7 @@ import org.eclipse.papyrus.customization.properties.providers.PropertyContentPro
import org.eclipse.papyrus.customization.properties.providers.PropertyEditorTypeContentProvider;
import org.eclipse.papyrus.customization.properties.providers.TabContentProvider;
import org.eclipse.papyrus.infra.constraints.ConstraintsPackage;
-import org.eclipse.papyrus.infra.constraints.providers.ConstraintTypeContentProvider;
+import org.eclipse.papyrus.infra.constraints.ui.providers.ConstraintTypeContentProvider;
import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
import org.eclipse.papyrus.infra.ui.emf.providers.EMFGraphicalContentProvider;
import org.eclipse.papyrus.infra.ui.emf.providers.strategy.ContainmentBrowseStrategy;
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.log/src/org/eclipse/papyrus/infra/core/log/LogHelper.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.log/src/org/eclipse/papyrus/infra/core/log/LogHelper.java
index 8d80f22d2a2..9537346595c 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.log/src/org/eclipse/papyrus/infra/core/log/LogHelper.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.log/src/org/eclipse/papyrus/infra/core/log/LogHelper.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2015 Atos Origin, CEA, Christian W. Damus, and others.
+ * Copyright (c) 2009, 2016 Atos Origin, CEA, Christian W. Damus, and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -8,7 +8,7 @@
* Contributors:
* Atos Origin - initial API and implementation
* Christian W. Damus (CEA) - bug 422257
- * Christian W. Damus - bug 465416
+ * Christian W. Damus - bugs 465416, 485220
*
*******************************************************************************/
package org.eclipse.papyrus.infra.core.log;
@@ -22,6 +22,7 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
+import org.osgi.framework.Bundle;
/**
* A Log Helper.
@@ -35,7 +36,7 @@ public class LogHelper {
private String pluginId;
/** The plugin related to that helper. */
- private Plugin activator;
+ private Bundle bundle;
private boolean tracing;
private Map<String, Boolean> traceOptions;
@@ -59,14 +60,35 @@ public class LogHelper {
}
/**
+ * Constructor.
+ *
+ * @param bundle
+ * The bundle.
+ */
+ public LogHelper(Bundle bundle) {
+ setBundle(bundle);
+ }
+
+ /**
* Set the associated plugin.
* This plugin log will be used as log.
*
* @param activator
*/
public void setPlugin(Plugin activator) {
- this.pluginId = activator.getBundle().getSymbolicName();
- this.activator = activator;
+ setBundle(activator.getBundle());
+ }
+
+ /**
+ * Set the associated {@code bundle}.
+ * This {@code bundle}'s log will be used as log.
+ *
+ * @param bundle
+ * the bundle
+ */
+ public void setBundle(Bundle bundle) {
+ this.pluginId = bundle.getSymbolicName();
+ this.bundle = bundle;
this.tracing = Boolean.valueOf(Platform.getDebugOption(String.format("%s/debug", pluginId))); //$NON-NLS-1$
if (tracing) {
@@ -102,7 +124,7 @@ public class LogHelper {
* @return True if the platform is in debug mode.
*/
public boolean isDebugEnabled() {
- if (activator != null) {
+ if (bundle != null) {
return Platform.inDebugMode();
}
@@ -172,10 +194,10 @@ public class LogHelper {
*/
public void log(IStatus status) {
- if (activator == null) {
+ if (bundle == null) {
// TODO Do log with java ?
} else {
- activator.getLog().log(status);
+ Platform.getLog(bundle).log(status);
}
}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/src/org/eclipse/papyrus/infra/gmfdiag/properties/constraint/AppearanceConstraint.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/src/org/eclipse/papyrus/infra/gmfdiag/properties/constraint/AppearanceConstraint.java
index 49064906064..342554d9970 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/src/org/eclipse/papyrus/infra/gmfdiag/properties/constraint/AppearanceConstraint.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/src/org/eclipse/papyrus/infra/gmfdiag/properties/constraint/AppearanceConstraint.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2012 CEA LIST.
+ * Copyright (c) 2012, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,13 +8,15 @@
*
* Contributors:
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
*****************************************************************************/
package org.eclipse.papyrus.infra.gmfdiag.properties.constraint;
+import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
-import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.papyrus.infra.constraints.ConstraintDescriptor;
import org.eclipse.papyrus.infra.constraints.DisplayUnit;
import org.eclipse.papyrus.infra.constraints.constraints.Constraint;
@@ -57,7 +59,7 @@ public class AppearanceConstraint implements Constraint {
return false;
}
- public boolean match(IStructuredSelection selection) {
+ public boolean match(Collection<?> selection) {
for (Constraint constraint : constraints) {
if (constraint.match(selection)) {
return true;
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsTreeTableConstraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsTreeTableConstraint.java
index b2fd7bebbdc..c94a8b7aec2 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsTreeTableConstraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsTreeTableConstraint.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2015 CEA LIST and others.
+ * Copyright (c) 2015, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,15 +8,16 @@
*
* Contributors:
* Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ * Christian W. Damus - bug 485220
*
*****************************************************************************/
package org.eclipse.papyrus.infra.nattable.properties.constraints;
+import java.util.Collection;
import java.util.Iterator;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.papyrus.infra.constraints.constraints.AbstractConstraint;
import org.eclipse.papyrus.infra.constraints.constraints.Constraint;
import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
@@ -35,23 +36,23 @@ public class IsTreeTableConstraint extends AbstractConstraint {
* each object of the selection.
*/
@Override
- public boolean match(final IStructuredSelection selection) {
+ public boolean match(final Collection<?> selection) {
boolean result = false;
-
+
if (!selection.isEmpty()) {
final int elementMultiplicity = display.getElementMultiplicity();
-
+
final int selectionSize = selection.size();
if (elementMultiplicity == 1) {
if (selectionSize == 1) {
- if (match(selection.getFirstElement())) {
+ if (match(selection.iterator().next())) {
result = true;
}
}
// Manage the multiple elements only if the selection is multiple too
} else if ((elementMultiplicity == selectionSize) || (elementMultiplicity < 0 && selection.size() > 1)) {
result = true;
-
+
final Iterator<?> selectionIterator = selection.iterator();
while (selectionIterator.hasNext() && result) {
final Object selectedItem = selectionIterator.next();
@@ -64,7 +65,7 @@ public class IsTreeTableConstraint extends AbstractConstraint {
return result;
}
-
+
/**
* {@inheritDoc}
*
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.classpath b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.classpath
new file mode 100644
index 00000000000..eca7bdba8f0
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.project b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.project
new file mode 100644
index 00000000000..504fa7b2052
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.constraints.ui</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.papyrus.emf.facet.common.ProjectNature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..b3aa6d60f94
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..9406211cf94
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.infra.constraints.internal.ui,
+ org.eclipse.papyrus.infra.constraints.ui.providers
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.ui;bundle-version="3.100.0",
+ org.eclipse.papyrus.infra.constraints;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.widgets;bundle-version="1.2.0"
+Bundle-Vendor: %providerName
+Bundle-Version: 1.2.0.qualifier
+Eclipse-BuddyPolicy: dependent
+Bundle-Activator: org.eclipse.papyrus.infra.constraints.internal.ui.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.infra.constraints.ui;singleton:=true
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/about.html b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/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/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/build.properties b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/build.properties
new file mode 100644
index 00000000000..41aa4bbad6a
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/build.properties
@@ -0,0 +1,21 @@
+#
+# Copyright (c) 2016 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+#
+
+bin.includes = .,\
+ META-INF/,\
+ plugin.properties,\
+ about.html,\
+ custom/
+output.. = bin/
+jars.compile.order = .
+source.. = src/
+src.includes = about.html
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints/custom/constraints.uiCustom b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/custom/constraints.uiCustom
index ae265ff7f68..60ae64f34ea 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.constraints/custom/constraints.uiCustom
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/custom/constraints.uiCustom
@@ -1,55 +1,55 @@
-<?xml version="1.0" encoding="ASCII"?>
-<uicustom:MetamodelView xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uicustom="http://www.eclipse.org/EmfFacet/infra/browser/custom/0.8" metamodelURI="http://www.eclipse.org/papyrus/constraints/0.9">
- <types metaclassName="constraints.CompositeConstraint">
- <references referenceName="constraints">
- <customizedFeatures>
- <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
- </customizedFeatures>
- </references>
- </types>
- <types metaclassName="constraints.SimpleConstraint">
- <references referenceName="constraintType">
- <customizedFeatures>
- <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
- </customizedFeatures>
- </references>
- <references referenceName="properties">
- <customizedFeatures>
- <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
- </customizedFeatures>
- </references>
- </types>
- <types metaclassName="constraints.ConstraintDescriptor">
- <references referenceName="display">
- <customizedFeatures>
- <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
- </customizedFeatures>
- </references>
- <references referenceName="overriddenConstraints">
- <customizedFeatures>
- <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
- </customizedFeatures>
- </references>
- </types>
- <types metaclassName="constraints.DisplayUnit">
- <references referenceName="constraints">
- <customizedFeatures customizedFeature="collapseLink">
- <defaultValue xsi:type="uicustom:StaticFeatureValue" value="true"/>
- </customizedFeatures>
- </references>
- </types>
- <types metaclassName="constraints.environment.ConstraintEnvironment">
- <references referenceName="constraintTypes">
- <customizedFeatures customizedFeature="collapseLink">
- <defaultValue xsi:type="uicustom:StaticFeatureValue" value="true"/>
- </customizedFeatures>
- </references>
- </types>
- <types metaclassName="constraints.ReferenceProperty">
- <references referenceName="value">
- <customizedFeatures>
- <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
- </customizedFeatures>
- </references>
- </types>
-</uicustom:MetamodelView>
+<?xml version="1.0" encoding="ASCII"?>
+<uicustom:MetamodelView xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uicustom="http://www.eclipse.org/EmfFacet/infra/browser/custom/0.8" metamodelURI="http://www.eclipse.org/papyrus/constraints/0.9">
+ <types metaclassName="constraints.CompositeConstraint">
+ <references referenceName="constraints">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="constraints.SimpleConstraint">
+ <references referenceName="constraintType">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="properties">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="constraints.ConstraintDescriptor">
+ <references referenceName="display">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="overriddenConstraints">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="constraints.DisplayUnit">
+ <references referenceName="constraints">
+ <customizedFeatures customizedFeature="collapseLink">
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="true"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="constraints.environment.ConstraintEnvironment">
+ <references referenceName="constraintTypes">
+ <customizedFeatures customizedFeature="collapseLink">
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="true"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="constraints.ReferenceProperty">
+ <references referenceName="value">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+</uicustom:MetamodelView>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/plugin.properties b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/plugin.properties
new file mode 100644
index 00000000000..182bbe58da4
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/plugin.properties
@@ -0,0 +1,14 @@
+#
+# Copyright (c) 2016 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+#
+
+pluginName = Papyrus Constraints UI
+providerName = Eclipse Modeling Project
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/pom.xml b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/pom.xml
new file mode 100644
index 00000000000..aa7860b2cf4
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.releng</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ <relativePath>../../../releng/main</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.constraints.ui</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/src/org/eclipse/papyrus/infra/constraints/internal/ui/Activator.java b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/src/org/eclipse/papyrus/infra/constraints/internal/ui/Activator.java
new file mode 100644
index 00000000000..f9a4610bfff
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/src/org/eclipse/papyrus/infra/constraints/internal/ui/Activator.java
@@ -0,0 +1,66 @@
+/*****************************************************************************
+ * Copyright (c) 2011, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.constraints.internal.ui;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ /**
+ * The plug-in ID
+ */
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.constraints.ui"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The plug-in's logger
+ */
+ public static LogHelper log;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ log = new LogHelper(this);
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/providers/ConstraintTypeContentProvider.java b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/src/org/eclipse/papyrus/infra/constraints/ui/providers/ConstraintTypeContentProvider.java
index f22ef7bc049..eed0c02784d 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/providers/ConstraintTypeContentProvider.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints.ui/src/org/eclipse/papyrus/infra/constraints/ui/providers/ConstraintTypeContentProvider.java
@@ -1,6 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
- *
+ * Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -9,14 +8,15 @@
*
* Contributors:
* Patrick Tessier (CEA LIST) - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
/*****************************************************************************/
-package org.eclipse.papyrus.infra.constraints.providers;
+package org.eclipse.papyrus.infra.constraints.ui.providers;
import org.eclipse.papyrus.infra.constraints.runtime.ConstraintsManager;
import org.eclipse.papyrus.infra.widgets.providers.AbstractFilteredContentProvider;
import org.eclipse.papyrus.infra.widgets.providers.IStaticContentProvider;
-//TODO : Move that to customization.constraints
/**
* A ContentProvider which returns Constraint types
*
@@ -25,10 +25,12 @@ import org.eclipse.papyrus.infra.widgets.providers.IStaticContentProvider;
*/
public class ConstraintTypeContentProvider extends AbstractFilteredContentProvider implements IStaticContentProvider {
+ @Override
public Object[] getElements() {
return ConstraintsManager.instance.getConstraintTypes().toArray();
}
+ @Override
public Object[] getElements(Object inputElement) {
return getElements();
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints/.classpath b/plugins/infra/org.eclipse.papyrus.infra.constraints/.classpath
index 9c0318f0fd2..50aae142c50 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.constraints/.classpath
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints/.classpath
@@ -1,8 +1,8 @@
-<?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="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/org.eclipse.papyrus.infra.constraints/.settings/org.eclipse.jdt.core.prefs
index 4759947300a..62a08f4494d 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.constraints/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
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.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.constraints/META-INF/MANIFEST.MF
index f6f6ae2ec63..10cc975a604 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.constraints/META-INF/MANIFEST.MF
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints/META-INF/MANIFEST.MF
@@ -5,21 +5,18 @@ Export-Package: org.eclipse.papyrus.infra.constraints,
org.eclipse.papyrus.infra.constraints.environment.impl,
org.eclipse.papyrus.infra.constraints.environment.util,
org.eclipse.papyrus.infra.constraints.impl,
- org.eclipse.papyrus.infra.constraints.providers,
org.eclipse.papyrus.infra.constraints.runtime,
org.eclipse.papyrus.infra.constraints.util
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
Bundle-Name: %pluginName
Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore,
- org.eclipse.ui;bundle-version="3.7.0",
org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.tools;bundle-version="1.2.0";visibility:=reexport,
- org.eclipse.papyrus.infra.widgets;bundle-version="1.2.0"
+ org.eclipse.papyrus.infra.tools;bundle-version="1.2.0";visibility:=reexport
Bundle-Vendor: %providerName
Bundle-Version: 1.2.0.qualifier
Eclipse-BuddyPolicy: dependent
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints/build.properties b/plugins/infra/org.eclipse.papyrus.infra.constraints/build.properties
index 05220eee77a..c61d781dc34 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.constraints/build.properties
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints/build.properties
@@ -4,7 +4,6 @@ bin.includes = .,\
plugin.properties,\
about.html,\
Model/,\
- custom/,\
schema/
output.. = bin/
jars.compile.order = .
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints/plugin.xml b/plugins/infra/org.eclipse.papyrus.infra.constraints/plugin.xml
index 09aea95ab04..39460de172b 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.constraints/plugin.xml
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints/plugin.xml
@@ -1,11 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?eclipse version="3.0"?>
+<!--
+ Copyright (c) 2010, 2016 CEA LIST, Christian W. Damus, and others.
-<!--
- <copyright>
- </copyright>
-
- $Id$
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ Christian W. Damus - bug 485220
-->
<plugin>
<extension-point id="ConstraintEnvironment" name="ConstraintEnvironment" schema="schema/ConstraintEnvironment.exsd"/>
@@ -18,16 +23,7 @@
uri="http://www.eclipse.org/papyrus/constraints/environment/0.9">
</package>
</extension>
-
- <!-- TODO: EMF-FACET update uicustom
- <extension
- point="org.eclipse.papyrus.emf.facet.infra.browser.custom.core.registration">
- <browserCustomization
- file="custom/constraints.uiCustom"
- loadByDefault="true">
- </browserCustomization>
- </extension>
- -->
+
<extension
point="org.eclipse.papyrus.infra.constraints.ConstraintEnvironment">
<environment
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/Activator.java b/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/Activator.java
index 255252891d3..99012a4c38e 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/Activator.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/Activator.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,17 +8,19 @@
*
* Contributors:
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
*****************************************************************************/
package org.eclipse.papyrus.infra.constraints;
+import org.eclipse.core.runtime.Plugin;
import org.eclipse.papyrus.infra.core.log.LogHelper;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
-public class Activator extends AbstractUIPlugin {
+public class Activator extends Plugin {
/**
* The plug-in ID
@@ -39,11 +41,6 @@ public class Activator extends AbstractUIPlugin {
public Activator() {
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
@@ -51,11 +48,6 @@ public class Activator extends AbstractUIPlugin {
log = new LogHelper(this);
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
@Override
public void stop(BundleContext context) throws Exception {
plugin = null;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/AbstractConstraint.java b/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/AbstractConstraint.java
index 72ce3e2bd40..4578330de51 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/AbstractConstraint.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/AbstractConstraint.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
+ * Copyright (c) 2010, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,12 +8,15 @@
*
* Contributors:
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
*****************************************************************************/
package org.eclipse.papyrus.infra.constraints.constraints;
+import java.util.Collection;
import java.util.Iterator;
+import java.util.List;
-import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.papyrus.infra.constraints.Activator;
import org.eclipse.papyrus.infra.constraints.ConfigProperty;
import org.eclipse.papyrus.infra.constraints.ConstraintDescriptor;
@@ -41,6 +44,7 @@ public abstract class AbstractConstraint implements Constraint {
*/
protected DisplayUnit display;
+ @Override
public final void setConstraintDescriptor(ConstraintDescriptor descriptor) {
this.descriptor = descriptor;
display = getDisplay(descriptor);
@@ -58,6 +62,7 @@ public abstract class AbstractConstraint implements Constraint {
return descriptor.getDisplay();
}
+ @Override
public DisplayUnit getDisplayUnit() {
return display;
}
@@ -66,6 +71,7 @@ public abstract class AbstractConstraint implements Constraint {
* A constraint for a Single element (Exactly one) overrides
* the same constraint for a multiple element (One or more)
*/
+ @Override
public boolean overrides(Constraint constraint) {
if (equivalent(constraint)) {
if (getDisplayUnit().getElementMultiplicity() == 1) {
@@ -86,10 +92,11 @@ public abstract class AbstractConstraint implements Constraint {
*
* @param constraint
* @return
- * True if this object is equivalent to the given constraint
+ * True if this object is equivalent to the given constraint
*/
protected abstract boolean equivalent(Constraint constraint);
+ @Override
public ConstraintDescriptor getDescriptor() {
return descriptor;
}
@@ -100,7 +107,7 @@ public abstract class AbstractConstraint implements Constraint {
* @param propertyName
* The name of the property to retrieve
* @return
- * The ConfigProperty corresponding to the given propertyName
+ * The ConfigProperty corresponding to the given propertyName
*/
protected ConfigProperty getProperty(String propertyName) {
if (descriptor == null || !(descriptor instanceof SimpleConstraint)) {
@@ -123,7 +130,7 @@ public abstract class AbstractConstraint implements Constraint {
*
* @param propertyName
* @return
- * True if the property exists in the constraint descriptor
+ * True if the property exists in the constraint descriptor
*/
protected boolean hasProperty(String propertyName) {
if (descriptor == null || !(descriptor instanceof SimpleConstraint)) {
@@ -146,7 +153,7 @@ public abstract class AbstractConstraint implements Constraint {
* The name of the property for which we want to retrieve the value
* The name must correspond to a valid ValueProperty
* @return
- * The value associated to the given property
+ * The value associated to the given property
*
* @see #getReferenceValue(String)
*/
@@ -169,7 +176,7 @@ public abstract class AbstractConstraint implements Constraint {
* The name of the property for which we want to retrieve the value
* The name must correspond to a valid ReferenceProperty
* @return
- * The value associated to the given property
+ * The value associated to the given property
*
* @see #getValue(String)
*/
@@ -205,7 +212,8 @@ public abstract class AbstractConstraint implements Constraint {
* The default implementation matches a selection iff the constraint matches
* each object of the selection.
*/
- public boolean match(IStructuredSelection selection) {
+ @Override
+ public boolean match(Collection<?> selection) {
if (selection.isEmpty()) {
return false;
}
@@ -218,7 +226,7 @@ public abstract class AbstractConstraint implements Constraint {
int selectionSize = selection.size();
if (elementMultiplicity == 1) {
if (selectionSize == 1) {
- if (match(selection.getFirstElement())) {
+ if (match(first(selection))) {
return true;
}
}
@@ -237,6 +245,12 @@ public abstract class AbstractConstraint implements Constraint {
return false;
}
+ protected Object first(Collection<?> collection) {
+ return (collection instanceof List<?>)
+ ? ((List<?>) collection).get(0)
+ : collection.iterator().next();
+ }
+
/**
* Tests if this constraint matches the given object
* This methods only needs to be implemented when you don't
@@ -245,7 +259,7 @@ public abstract class AbstractConstraint implements Constraint {
* @param selection
* The object to be tested against this constraint
* @return
- * True if this constraint matches the given object
+ * True if this constraint matches the given object
*
* @see {@link #match(IStructuredSelection)}
*/
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/CompoundConstraint.java b/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/CompoundConstraint.java
index d0b93b370cb..7ffe3b2024a 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/CompoundConstraint.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/CompoundConstraint.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
+ * Copyright (c) 2010, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,14 +8,15 @@
*
* Contributors:
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
*****************************************************************************/
package org.eclipse.papyrus.infra.constraints.constraints;
+import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
/**
* A Composite constraint. It matches a given selection if and only if
* all its sub constraints match this selection.
@@ -42,7 +43,7 @@ public class CompoundConstraint extends AbstractConstraint {
* all its inner constraints match it
*/
@Override
- public boolean match(IStructuredSelection selection) {
+ public boolean match(Collection<?> selection) {
for (Constraint constraint : constraints) {
if (!constraint.match(selection)) {
return false;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/Constraint.java b/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/Constraint.java
index 15663ec33c8..b33919d3065 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/Constraint.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/constraints/Constraint.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
+ * Copyright (c) 2010, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,10 +8,13 @@
*
* Contributors:
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
*****************************************************************************/
package org.eclipse.papyrus.infra.constraints.constraints;
-import org.eclipse.jface.viewers.IStructuredSelection;
+import java.util.Collection;
+
import org.eclipse.papyrus.infra.constraints.ConstraintDescriptor;
import org.eclipse.papyrus.infra.constraints.DisplayUnit;
@@ -40,16 +43,16 @@ public interface Constraint {
* @param selection
* The selection to be tested against this constraint
* @return
- * True if this constraint matches the given selection
+ * True if this constraint matches the given selection
*/
- public boolean match(IStructuredSelection selection);
+ public boolean match(Collection<?> selection);
/**
* Returns the view associated to this constraint, or null if the constraint is associated to another
* kind of display unit (e.g. a section)
*
* @return
- * The view associated to this constraint
+ * The view associated to this constraint
*/
public DisplayUnit getDisplayUnit();
@@ -62,7 +65,7 @@ public interface Constraint {
* @param constraint
* The tested constraint
* @return
- * True if this constraint overrides the given constraint
+ * True if this constraint overrides the given constraint
*/
public boolean overrides(Constraint constraint);
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/runtime/ConstraintEngine.java b/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/runtime/ConstraintEngine.java
index 8e4f92ed7b2..2db2ad3dc2e 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/runtime/ConstraintEngine.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/runtime/ConstraintEngine.java
@@ -13,9 +13,9 @@
*****************************************************************************/
package org.eclipse.papyrus.infra.constraints.runtime;
+import java.util.Collection;
import java.util.Set;
-import org.eclipse.jface.viewers.ISelection;
import org.eclipse.papyrus.infra.constraints.ConstraintDescriptor;
import org.eclipse.papyrus.infra.constraints.DisplayUnit;
@@ -33,10 +33,14 @@ public interface ConstraintEngine<E extends DisplayUnit> {
/**
* Returns the DisplayUnits matching the given selection
*
- * @param forSelection
- * @return
+ * @param a
+ * plastic "selection" of objects, which may be a {@link Collection} of
+ * some kind, something convertible to a collection (like a JFace {@code IStructuredSelection}),
+ * or just a single object
+ *
+ * @return the display units applicable to the selection
*/
- public Set<E> getDisplayUnits(ISelection forSelection);
+ public Set<E> getDisplayUnits(Object selection);
/**
* Adds a constraint descriptor to this engine
diff --git a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/runtime/DefaultConstraintEngine.java b/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/runtime/DefaultConstraintEngine.java
index 3f77c430100..2b6704379d8 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/runtime/DefaultConstraintEngine.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/runtime/DefaultConstraintEngine.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2010, 2014 CEA LIST and others.
+ * Copyright (c) 2010, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -9,17 +9,25 @@
* Contributors:
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
* Christian W. Damus (CEA) - bug 417409
+ * Christian W. Damus - bug 485220
*
*****************************************************************************/
package org.eclipse.papyrus.infra.constraints.runtime;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashSet;
+import java.util.Map;
import java.util.Set;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+import java.util.stream.StreamSupport;
import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.papyrus.infra.constraints.Activator;
import org.eclipse.papyrus.infra.constraints.ConstraintDescriptor;
import org.eclipse.papyrus.infra.constraints.DisplayUnit;
@@ -34,6 +42,11 @@ import org.eclipse.papyrus.infra.constraints.constraints.Constraint;
*/
public abstract class DefaultConstraintEngine<E extends DisplayUnit> implements ConstraintEngine<E> {
+ // Pattern for names of methods that convert an object to a collection
+ private static final Pattern CONVERTER_PATTERN = Pattern.compile("(?:to|as)(?:Collection|List|Set)"); //$NON-NLS-1$
+
+ private static final Method NO_CONVERTER = Object.class.getMethods()[0];
+
private final ListenerList listeners = new ListenerList(ListenerList.IDENTITY);
/**
@@ -41,8 +54,20 @@ public abstract class DefaultConstraintEngine<E extends DisplayUnit> implements
*/
protected final Set<Constraint> constraints = new LinkedHashSet<Constraint>();
+ private final Class<? extends E> displayUnitType;
+
+ private final Map<Class<?>, Method> collectionConverters = new HashMap<>();
+
+ protected DefaultConstraintEngine(Class<? extends E> displayUnitType) {
+ super();
+
+ this.displayUnitType = displayUnitType;
+ }
+
+ @Override
public abstract void refresh();
+ @Override
public synchronized void addConstraint(ConstraintDescriptor descriptor) {
Constraint constraint = ConstraintFactory.getInstance().createFromModel(descriptor);
if (constraint != null) {
@@ -50,22 +75,16 @@ public abstract class DefaultConstraintEngine<E extends DisplayUnit> implements
}
}
- public synchronized Set<E> getDisplayUnits(final ISelection forSelection) {
- Set<E> result = new HashSet<E>();
+ @Override
+ public synchronized Set<E> getDisplayUnits(final Object selection) {
+ Collection<?> collection = asCollection(selection);
- IStructuredSelection selection;
- if (forSelection instanceof IStructuredSelection) {
- selection = (IStructuredSelection) forSelection;
- } else {
- return result;
- }
-
- Set<Constraint> matchedConstraints = match(selection);
+ Set<Constraint> matchedConstraints = match(collection);
return getDisplayUnits(matchedConstraints);
}
- private Set<Constraint> match(final IStructuredSelection selection) {
+ private Set<Constraint> match(final Collection<?> selection) {
Set<Constraint> matchedConstraints = new LinkedHashSet<Constraint>();
if (selection.isEmpty()) {
@@ -86,7 +105,7 @@ public abstract class DefaultConstraintEngine<E extends DisplayUnit> implements
// String logValue;
//
- // logValue = "Filtered Constraints : "; //$NON-NLS-1$
+ // logValue = "Filtered Constraints : "; //$NON-NLS-1$
// for(Constraint constraint : matchedConstraints) {
// logValue += constraint.getDescriptor().getName() + ", ";
// }
@@ -94,7 +113,7 @@ public abstract class DefaultConstraintEngine<E extends DisplayUnit> implements
resolveConstraintConflicts(matchedConstraints);
- // logValue = "Filtered Constraints : "; //$NON-NLS-1$
+ // logValue = "Filtered Constraints : "; //$NON-NLS-1$
// for(Constraint constraint : matchedConstraints) {
// logValue += constraint.getDescriptor().getName() + ", ";
// }
@@ -128,15 +147,17 @@ public abstract class DefaultConstraintEngine<E extends DisplayUnit> implements
private Set<E> getDisplayUnits(final Set<Constraint> matchedConstraints) {
Set<E> displayUnits = new LinkedHashSet<E>();
for (Constraint c : matchedConstraints) {
- displayUnits.add((E) c.getDescriptor().getDisplay());
+ displayUnits.add(displayUnitType.cast(c.getDescriptor().getDisplay()));
}
return displayUnits;
}
+ @Override
public void addConstraintEngineListener(ConstraintEngineListener listener) {
listeners.add(listener);
}
+ @Override
public void removeConstraintEngineListener(ConstraintEngineListener listener) {
listeners.remove(listener);
}
@@ -154,4 +175,52 @@ public abstract class DefaultConstraintEngine<E extends DisplayUnit> implements
}
}
}
+
+ private Collection<?> asCollection(Object object) {
+ Collection<?> result;
+
+ if (object == null) {
+ result = Collections.EMPTY_LIST;
+ } else if (object instanceof Collection<?>) {
+ result = (Collection<?>) object;
+ } else if (object instanceof Iterable<?>) {
+ result = StreamSupport.stream(((Iterable<?>) object).spliterator(), false).collect(Collectors.toList());
+ } else {
+ Method converter = getToCollectionMethod(object);
+ if (converter != null) {
+ try {
+ result = (Collection<?>) converter.invoke(object);
+ } catch (Exception e) {
+ // Converter not valid. Fine. Don't try it again
+ rejectConverter(object);
+ result = Collections.EMPTY_LIST;
+ }
+ } else {
+ result = Collections.singletonList(object);
+ }
+ }
+
+ return result;
+ }
+
+ private Method getToCollectionMethod(Object object) {
+ Class<?> key = object.getClass();
+ Method result = collectionConverters.computeIfAbsent(key, owner -> {
+ for (Method next : owner.getMethods()) {
+ if (((next.getModifiers() & Modifier.STATIC) == 0)
+ && Collection.class.isAssignableFrom(next.getReturnType())
+ && (next.getParameterCount() == 0)
+ && CONVERTER_PATTERN.matcher(next.getName()).matches()) {
+ return next;
+ }
+ }
+ return NO_CONVERTER;
+ });
+
+ return (result == NO_CONVERTER) ? null : result;
+ }
+
+ private void rejectConverter(Object object) {
+ collectionConverters.put(object.getClass(), NO_CONVERTER);
+ }
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/META-INF/MANIFEST.MF
index 4d7354ecc45..0da7a410b67 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/META-INF/MANIFEST.MF
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/META-INF/MANIFEST.MF
@@ -4,11 +4,9 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
org.eclipse.papyrus.views.properties.model.edit;bundle-version="1.2.0";visibility:=reexport,
org.eclipse.uml2.uml.edit;visibility:=reexport,
org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.ui;bundle-version="3.7.0",
org.eclipse.papyrus.infra.services.edit;bundle-version="1.2.0",
org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0",
org.eclipse.core.databinding;bundle-version="1.4.1",
- org.eclipse.papyrus.views.properties;bundle-version="1.2.0",
org.eclipse.papyrus.infra.core;bundle-version="1.2.0"
Export-Package: org.eclipse.papyrus.infra.elementtypesconfigurations.emf,
org.eclipse.papyrus.infra.elementtypesconfigurations.emf.converter,
@@ -32,6 +30,6 @@ Bundle-Version: 1.2.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.infra.elementtypesconfigurations.emf.invariantcontainerruleconfiguration.provider.InvariantContainerRuleConfigurationEditPlugin$Implementation
+Bundle-Activator: org.eclipse.papyrus.infra.elementtypesconfigurations.emf.setvaluesadviceconfiguration.provider.RuntimeValuesEditionAdviceConfigurationEditPlugin$Implementation
Bundle-SymbolicName: org.eclipse.papyrus.infra.elementtypesconfigurations.emf;singleton:=true
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/plugin.xml b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/plugin.xml
index 408385ca2c1..f60f37d339a 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/plugin.xml
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/plugin.xml
@@ -110,13 +110,6 @@
uri="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.0"
class="org.eclipse.papyrus.infra.elementtypesconfigurations.emf.runtimevalueseditionadviceconfiguration.provider.RuntimevalueseditionadviceconfigurationItemProviderAdapterFactory$ElementtypesconfigurationsChildCreationExtender"/>
</extension>
- <extension
- point="org.eclipse.papyrus.infra.elementtypesconfigurations.adviceConfigurationType">
- <adviceConfigurationType
- configurationClass="org.eclipse.papyrus.infra.elementtypesconfigurations.emf.runtimevalueseditionadviceconfiguration.RuntimeValuesEditionAdviceConfiguration"
- factoryClass="org.eclipse.papyrus.infra.elementtypesconfigurations.emf.runtimevalueseditionadviceconfiguration.RuntimeValuesEditionAdviceEditHelperAdviceFactory">
- </adviceConfigurationType>
- </extension>
<extension
point="org.eclipse.papyrus.infra.elementtypesconfigurations.adviceConfigurationType">
<adviceConfigurationType
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/src/org/eclipse/papyrus/infra/elementtypesconfigurations/emf/Activator.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/src/org/eclipse/papyrus/infra/elementtypesconfigurations/emf/Activator.java
index ed52ff5f526..e86be8d48d6 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/src/org/eclipse/papyrus/infra/elementtypesconfigurations/emf/Activator.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/src/org/eclipse/papyrus/infra/elementtypesconfigurations/emf/Activator.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
+ * Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,18 +8,19 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 485220
*
*****************************************************************************/
package org.eclipse.papyrus.infra.elementtypesconfigurations.emf;
+import org.eclipse.core.runtime.Plugin;
import org.eclipse.papyrus.infra.core.log.LogHelper;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
-public class Activator extends AbstractUIPlugin {
+public class Activator extends Plugin {
// The plug-in ID
public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.elementtypesconfigurations.emf"; //$NON-NLS-1$
@@ -36,11 +37,6 @@ public class Activator extends AbstractUIPlugin {
public Activator() {
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
@@ -48,11 +44,6 @@ public class Activator extends AbstractUIPlugin {
log = new LogHelper(this);
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
@Override
public void stop(BundleContext context) throws Exception {
log = null;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/.classpath b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/.classpath
index 74056ab23ec..6cc5414644b 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/.classpath
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/.classpath
@@ -1,8 +1,8 @@
-<?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/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/.settings/org.eclipse.jdt.core.prefs
index 410244d65a6..9ca8e68231b 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.7
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/META-INF/MANIFEST.MF
index 38fe019eceb..a3a1a27be20 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/META-INF/MANIFEST.MF
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/META-INF/MANIFEST.MF
@@ -5,7 +5,6 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
org.eclipse.papyrus.infra.elementtypesconfigurations;bundle-version="1.2.0";visibility:=reexport,
org.eclipse.emf.edit;visibility:=reexport,
org.eclipse.emf.ecore.edit;visibility:=reexport,
- org.eclipse.ui;bundle-version="3.7.0",
org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0",
org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/src/org/eclipse/papyrus/infra/elementtypesconfigurations/invarianttypes/Activator.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/src/org/eclipse/papyrus/infra/elementtypesconfigurations/invarianttypes/Activator.java
index 713b3cc6efa..c699672337c 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/src/org/eclipse/papyrus/infra/elementtypesconfigurations/invarianttypes/Activator.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes/src/org/eclipse/papyrus/infra/elementtypesconfigurations/invarianttypes/Activator.java
@@ -1,6 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
- *
+ * Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -9,17 +8,19 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
/*****************************************************************************/
package org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes;
+import org.eclipse.core.runtime.Plugin;
import org.eclipse.papyrus.infra.core.log.LogHelper;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
-public class Activator extends AbstractUIPlugin {
+public class Activator extends Plugin {
// The plug-in ID
public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes"; //$NON-NLS-1$
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.classpath b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.classpath
new file mode 100644
index 00000000000..b277a8ac870
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.project b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.project
new file mode 100644
index 00000000000..22eaa266dec
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.elementtypesconfigurations.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..f08be2b06c4
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..cdbc51a19b7
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.eclipse.ui;bundle-version="3.100.0",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.elementtypesconfigurations;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.elementtypesconfigurations.emf;bundle-version="1.2.0",
+ org.eclipse.papyrus.views.properties;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="1.2.0"
+Export-Package: org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui;x-internal:=true,
+ org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.advice;x-internal:=true,
+ org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.handlers;x-internal:=true,
+ org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.preferences;x-internal:=true
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.infra.elementtypesconfigurations.ui;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/about.html b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/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/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/build.properties b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/build.properties
new file mode 100644
index 00000000000..96f31b73bf1
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/build.properties
@@ -0,0 +1,13 @@
+#
+#Mon Sep 12 09:29:52 CEST 2011
+output..=bin/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html,\
+ icons/
+jars.compile.order=.
+src.includes = about.html
+source.. = src/
+bin..=bin/
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/icons/configuration.gif b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/icons/configuration.gif
index 0b1be97b8cf..0b1be97b8cf 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/icons/configuration.gif
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/icons/configuration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/icons/error.gif b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/icons/error.gif
index 9b048d60532..9b048d60532 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/icons/error.gif
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/icons/error.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/plugin.properties b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/plugin.properties
new file mode 100644
index 00000000000..25f1ec0ac97
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/plugin.properties
@@ -0,0 +1,15 @@
+###############################################################################
+# Copyright (c) 2010, 2016 CEA LIST, Christian W. Damus, and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 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
+# Christian W. Damus - bug 485220
+#
+###############################################################################
+pluginName=Papyrus Element Types Configurations UI
+providerName=Eclipse Modeling Project
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/plugin.xml b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/plugin.xml
new file mode 100644
index 00000000000..e8c0472b37b
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/plugin.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<!--
+ Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 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
+ Christian W. Damus - bug 485220
+-->
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.menus">
+ <menuContribution
+ allPopups="false"
+ locationURI="popup:org.eclipse.ui.popup.any?after=additions">
+ <command
+ commandId="org.eclipse.papyrus.infra.elementtypesconfigurations.ui.deploy"
+ icon="icons/configuration.gif"
+ style="push">
+ <visibleWhen
+ checkEnabled="false">
+ <with
+ variable="selection">
+ <iterate
+ ifEmpty="false"
+ operator="and">
+ <adapt
+ type="org.eclipse.core.resources.IFile">
+ <or>
+ <test
+ property="org.eclipse.core.resources.extension"
+ value="elementtypesconfigurations">
+ </test>
+ </or>
+ </adapt>
+ </iterate>
+ </with>
+ </visibleWhen>
+ </command>
+ <command
+ commandId="org.eclipse.papyrus.infra.elementtypesconfigurations.ui.undeploy"
+ icon="icons/configuration.gif"
+ style="push">
+ <visibleWhen
+ checkEnabled="false">
+ <with
+ variable="selection">
+ <iterate
+ ifEmpty="false"
+ operator="and">
+ <adapt
+ type="org.eclipse.core.resources.IFile">
+ <or>
+ <test
+ property="org.eclipse.core.resources.extension"
+ value="elementtypesconfigurations">
+ </test>
+ </or>
+ </adapt>
+ </iterate>
+ </with>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ defaultHandler="org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.handlers.DeployElementTypeSetConfigurationHandler"
+ id="org.eclipse.papyrus.infra.elementtypesconfigurations.ui.deploy"
+ name="Deploy ElementTypes Set configuration">
+ </command>
+ <command
+ defaultHandler="org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.handlers.UndeployElementTypeSetConfigurationHandler"
+ id="org.eclipse.papyrus.infra.elementtypesconfigurations.ui.undeploy"
+ name="Disable ElementTypes Set configuration">
+ </command>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.infra.elementtypesconfigurations.userDefinitions">
+ <provider
+ class="org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.UserElementTypeDefinitionsProvider">
+ </provider>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.infra.elementtypesconfigurations.adviceConfigurationType">
+ <adviceConfigurationType
+ configurationClass="org.eclipse.papyrus.infra.elementtypesconfigurations.emf.runtimevalueseditionadviceconfiguration.RuntimeValuesEditionAdviceConfiguration"
+ factoryClass="org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.advice.RuntimeValuesEditionAdviceEditHelperAdviceFactory">
+ </adviceConfigurationType>
+ </extension>
+
+</plugin>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/pom.xml b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/pom.xml
new file mode 100644
index 00000000000..ea41c8add2f
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.releng</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ <relativePath>../../../releng/main</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.elementtypesconfigurations.ui</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/LogUtil.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/LogUtil.java
new file mode 100644
index 00000000000..7c24fcc4a4f
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/LogUtil.java
@@ -0,0 +1,33 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+
+/**
+ * Logging utility.
+ */
+public class LogUtil extends LogHelper {
+
+ public static final LogHelper LOG = new LogUtil();
+
+ /**
+ * Not instantiable by clients.
+ */
+ private LogUtil() {
+ super(Platform.getBundle("org.eclipse.papyrus.infra.elementtypesconfigurations.ui")); //$NON-NLS-1$
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/UserElementTypeDefinitionsProvider.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/UserElementTypeDefinitionsProvider.java
new file mode 100644
index 00000000000..ddb0c57ed46
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/UserElementTypeDefinitionsProvider.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.elementtypesconfigurations.internal.registries.spi.IUserElementTypeDefinitionsProvider;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.preferences.ElementTypesPreferences;
+
+/**
+ * User element-types definitions provider for compatibility with the 1.x releases.
+ */
+public class UserElementTypeDefinitionsProvider implements IUserElementTypeDefinitionsProvider {
+
+ public UserElementTypeDefinitionsProvider() {
+ super();
+ }
+
+ @Override
+ public String getElementTypesRedefinition(String elementTypesID) {
+ return ElementTypesPreferences.getElementTypesRedefinition(elementTypesID);
+ }
+
+ @Override
+ public Map<String, String> getLocalElementTypeDefinitions() {
+ return ElementTypesPreferences.getLocalElementTypeDefinitions();
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/src/org/eclipse/papyrus/infra/elementtypesconfigurations/emf/runtimevalueseditionadviceconfiguration/RuntimeValuesEditionAdviceEditHelperAdvice.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/advice/RuntimeValuesEditionAdviceEditHelperAdvice.java
index 867377b6db5..27d6ce4328b 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/src/org/eclipse/papyrus/infra/elementtypesconfigurations/emf/runtimevalueseditionadviceconfiguration/RuntimeValuesEditionAdviceEditHelperAdvice.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/advice/RuntimeValuesEditionAdviceEditHelperAdvice.java
@@ -10,7 +10,7 @@
* CEA LIST - Initial API and implementation
*
*****************************************************************************/
-package org.eclipse.papyrus.infra.elementtypesconfigurations.emf.runtimevalueseditionadviceconfiguration;
+package org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.advice;
import java.util.Collections;
import java.util.HashSet;
@@ -29,6 +29,8 @@ 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.IEditCommandRequest;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.emf.runtimevalueseditionadviceconfiguration.RuntimeValuesEditionAdviceConfiguration;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.emf.runtimevalueseditionadviceconfiguration.ViewToDisplay;
import org.eclipse.papyrus.infra.elementtypesconfigurations.emf.setvaluesadviceconfiguration.SetValuesAdviceConfiguration;
import org.eclipse.papyrus.infra.services.edit.utils.ElementTypeUtils;
import org.eclipse.papyrus.views.properties.contexts.View;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/src/org/eclipse/papyrus/infra/elementtypesconfigurations/emf/runtimevalueseditionadviceconfiguration/RuntimeValuesEditionAdviceEditHelperAdviceFactory.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/advice/RuntimeValuesEditionAdviceEditHelperAdviceFactory.java
index 6654acc2af3..0f8aa97db3e 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.emf/src/org/eclipse/papyrus/infra/elementtypesconfigurations/emf/runtimevalueseditionadviceconfiguration/RuntimeValuesEditionAdviceEditHelperAdviceFactory.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/advice/RuntimeValuesEditionAdviceEditHelperAdviceFactory.java
@@ -10,10 +10,11 @@
* CEA LIST - Initial API and implementation
*
*****************************************************************************/
-package org.eclipse.papyrus.infra.elementtypesconfigurations.emf.runtimevalueseditionadviceconfiguration;
+package org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.advice;
import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
import org.eclipse.papyrus.infra.elementtypesconfigurations.AdviceBindingConfiguration;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.emf.runtimevalueseditionadviceconfiguration.RuntimeValuesEditionAdviceConfiguration;
import org.eclipse.papyrus.infra.elementtypesconfigurations.factories.impl.AdviceBindingFactory;
public class RuntimeValuesEditionAdviceEditHelperAdviceFactory extends AdviceBindingFactory {
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/handler/DeployElementTypeSetConfigurationHandler.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/handlers/DeployElementTypeSetConfigurationHandler.java
index b556064d63f..158340217a0 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/handler/DeployElementTypeSetConfigurationHandler.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/handlers/DeployElementTypeSetConfigurationHandler.java
@@ -1,128 +1,128 @@
-/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.elementtypesconfigurations.handler;
-
-import java.util.Iterator;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.Activator;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.preferences.ElementTypesPreferences;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.registries.ElementTypeSetConfigurationRegistry;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * Handler to deploy new configuration
- */
-public class DeployElementTypeSetConfigurationHandler extends AbstractHandler implements IHandler {
-
- /**
- * {@inheritDoc}
- */
- public Object execute(ExecutionEvent event) throws ExecutionException {
- ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
- if (!(currentSelection instanceof IStructuredSelection) || currentSelection.isEmpty()) {
- return null;
- }
- final IStructuredSelection selection = (IStructuredSelection) currentSelection;
- final Shell activeShell = HandlerUtil.getActiveShell(event);
- Job job = new Job("Deploy elementTypes set configuration") {
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- monitor.beginTask("Deploying selected configurations", selection.size());
- return doExecute(selection, monitor);
- }
- };
- job.addJobChangeListener(new JobChangeAdapter() {
-
- @Override
- public void done(final IJobChangeEvent event) {
- activeShell.getDisplay().asyncExec(new Runnable() {
-
- public void run() {
- if (event.getResult().isOK()) {
- MessageDialog.openInformation(activeShell, "Success", event.getResult().getMessage());
- } else if (event.getResult().getSeverity() < IStatus.ERROR) { // Errors are already logged
- StatusManager.getManager().handle(event.getResult(), StatusManager.SHOW);
- }
- }
- });
- }
- });
- job.setUser(true);
- job.schedule();
- return null;
- }
-
- protected IStatus doExecute(IStructuredSelection selection, IProgressMonitor monitor) {
- Iterator<?> selectionIterator = selection.iterator();
- MultiStatus result = new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, "The elementTypes configuration has been successfully deployed and activated", null);
- while (selectionIterator.hasNext()) {
- Object selectedElement = selectionIterator.next();
- if (selectedElement instanceof IAdaptable) {
- IFile selectedFile = (IFile) ((IAdaptable) selectedElement).getAdapter(IFile.class);
- if (selectedFile == null) {
- monitor.worked(1);
- result.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "The selected element is not a file"));
- continue;
- }
- String fileName = selectedFile.getFullPath().removeFileExtension().lastSegment();
- monitor.subTask("Deploy " + fileName);
- URI emfURI = null;
- if (selectedFile.getFullPath() != null) {
- emfURI = URI.createPlatformResourceURI(selectedFile.getFullPath().toString(), true);
- } else if (selectedFile.getRawLocation() != null) {
- emfURI = URI.createFileURI(selectedFile.getRawLocation().toString());
- }
- if (emfURI == null) {
- monitor.worked(1);
- result.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "The selected element is not a valid configuration file"));
- continue;
- }
- ElementTypesPreferences.registerWorkspaceDefinition(fileName, selectedFile.getFullPath().toString());
- ElementTypeSetConfigurationRegistry.getInstance().loadElementTypeSetConfiguration(fileName);
- monitor.worked(1);
- result.add(new Status(IStatus.OK, Activator.PLUGIN_ID, "The elementTypes configuration has been successfully deployed and activated"));
- }
- }
- if (result.getChildren().length == 1) {
- return result.getChildren()[0];
- } else { // Merge the result and specify an appropriate message based on the result
- if (result.isOK()) {
- return result;
- } else {
- MultiStatus actualResult = new MultiStatus(Activator.PLUGIN_ID, result.getCode(), "Some errors occurred during the deployment", result.getException());
- actualResult.merge(result);
- return actualResult;
- }
- }
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.handlers;
+
+import java.util.Iterator;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.Activator;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.preferences.ElementTypesPreferences;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.ui.statushandlers.StatusManager;
+
+/**
+ * Handler to deploy new configuration
+ */
+public class DeployElementTypeSetConfigurationHandler extends AbstractHandler implements IHandler {
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
+ if (!(currentSelection instanceof IStructuredSelection) || currentSelection.isEmpty()) {
+ return null;
+ }
+ final IStructuredSelection selection = (IStructuredSelection) currentSelection;
+ final Shell activeShell = HandlerUtil.getActiveShell(event);
+ Job job = new Job("Deploy elementTypes set configuration") {
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask("Deploying selected configurations", selection.size());
+ return doExecute(selection, monitor);
+ }
+ };
+ job.addJobChangeListener(new JobChangeAdapter() {
+
+ @Override
+ public void done(final IJobChangeEvent event) {
+ activeShell.getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ if (event.getResult().isOK()) {
+ MessageDialog.openInformation(activeShell, "Success", event.getResult().getMessage());
+ } else if (event.getResult().getSeverity() < IStatus.ERROR) { // Errors are already logged
+ StatusManager.getManager().handle(event.getResult(), StatusManager.SHOW);
+ }
+ }
+ });
+ }
+ });
+ job.setUser(true);
+ job.schedule();
+ return null;
+ }
+
+ protected IStatus doExecute(IStructuredSelection selection, IProgressMonitor monitor) {
+ Iterator<?> selectionIterator = selection.iterator();
+ MultiStatus result = new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, "The elementTypes configuration has been successfully deployed and activated", null);
+ while (selectionIterator.hasNext()) {
+ Object selectedElement = selectionIterator.next();
+ if (selectedElement instanceof IAdaptable) {
+ IFile selectedFile = (IFile) ((IAdaptable) selectedElement).getAdapter(IFile.class);
+ if (selectedFile == null) {
+ monitor.worked(1);
+ result.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "The selected element is not a file"));
+ continue;
+ }
+ String fileName = selectedFile.getFullPath().removeFileExtension().lastSegment();
+ monitor.subTask("Deploy " + fileName);
+ URI emfURI = null;
+ if (selectedFile.getFullPath() != null) {
+ emfURI = URI.createPlatformResourceURI(selectedFile.getFullPath().toString(), true);
+ } else if (selectedFile.getRawLocation() != null) {
+ emfURI = URI.createFileURI(selectedFile.getRawLocation().toString());
+ }
+ if (emfURI == null) {
+ monitor.worked(1);
+ result.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "The selected element is not a valid configuration file"));
+ continue;
+ }
+ ElementTypesPreferences.registerWorkspaceDefinition(fileName, selectedFile.getFullPath().toString());
+ ElementTypeSetConfigurationRegistry.getInstance().loadElementTypeSetConfiguration(fileName);
+ monitor.worked(1);
+ result.add(new Status(IStatus.OK, Activator.PLUGIN_ID, "The elementTypes configuration has been successfully deployed and activated"));
+ }
+ }
+ if (result.getChildren().length == 1) {
+ return result.getChildren()[0];
+ } else { // Merge the result and specify an appropriate message based on the result
+ if (result.isOK()) {
+ return result;
+ } else {
+ MultiStatus actualResult = new MultiStatus(Activator.PLUGIN_ID, result.getCode(), "Some errors occurred during the deployment", result.getException());
+ actualResult.merge(result);
+ return actualResult;
+ }
+ }
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/handler/UndeployElementTypeSetConfigurationHandler.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/handlers/UndeployElementTypeSetConfigurationHandler.java
index b7d0a57d143..32fa9b9b75c 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/handler/UndeployElementTypeSetConfigurationHandler.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/handlers/UndeployElementTypeSetConfigurationHandler.java
@@ -1,127 +1,127 @@
-/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.elementtypesconfigurations.handler;
-
-import java.util.Iterator;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.Activator;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.preferences.ElementTypesPreferences;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.registries.ElementTypeSetConfigurationRegistry;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-
-public class UndeployElementTypeSetConfigurationHandler extends AbstractHandler {
-
- /**
- * {@inheritDoc}
- */
- public Object execute(ExecutionEvent event) throws ExecutionException {
- ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
- if (!(currentSelection instanceof IStructuredSelection) || currentSelection.isEmpty()) {
- return null;
- }
- final IStructuredSelection selection = (IStructuredSelection) currentSelection;
- final Shell activeShell = HandlerUtil.getActiveShell(event);
- Job job = new Job("Undeploy elementTypes set configuration") {
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- monitor.beginTask("Undeploying selected configurations", selection.size());
- return doExecute(selection, monitor);
- }
- };
- job.addJobChangeListener(new JobChangeAdapter() {
-
- @Override
- public void done(final IJobChangeEvent event) {
- activeShell.getDisplay().asyncExec(new Runnable() {
-
- public void run() {
- if (event.getResult().isOK()) {
- MessageDialog.openInformation(activeShell, "Success", event.getResult().getMessage());
- } else if (event.getResult().getSeverity() < IStatus.ERROR) { // Errors are already logged
- StatusManager.getManager().handle(event.getResult(), StatusManager.SHOW);
- }
- }
- });
- }
- });
- job.setUser(true);
- job.schedule();
- return null;
- }
-
- protected IStatus doExecute(IStructuredSelection selection, IProgressMonitor monitor) {
- Iterator<?> selectionIterator = selection.iterator();
- MultiStatus result = new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, "The elementTypes configuration has been successfully undeployed", null);
- while (selectionIterator.hasNext()) {
- Object selectedElement = selectionIterator.next();
- if (selectedElement instanceof IAdaptable) {
- IFile selectedFile = (IFile) ((IAdaptable) selectedElement).getAdapter(IFile.class);
- if (selectedFile == null) {
- monitor.worked(1);
- result.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "The selected element is not a file"));
- continue;
- }
- String fileName = selectedFile.getFullPath().removeFileExtension().lastSegment();
- monitor.subTask("Deploy " + fileName);
- URI emfURI = null;
- if (selectedFile.getFullPath() != null) {
- emfURI = URI.createPlatformResourceURI(selectedFile.getFullPath().toString(), true);
- } else if (selectedFile.getRawLocation() != null) {
- emfURI = URI.createFileURI(selectedFile.getRawLocation().toString());
- }
- if (emfURI == null) {
- monitor.worked(1);
- result.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "The selected element is not a valid configuration file"));
- continue;
- }
- ElementTypesPreferences.unregisterWorkspaceDefinition(fileName);
- monitor.subTask("Reset elementTypes Registry");
- ElementTypeSetConfigurationRegistry.getInstance().unload(fileName);
- monitor.worked(1);
- // relaunch papyrus service
- result.add(new Status(IStatus.OK, Activator.PLUGIN_ID, "The elementTypes configuration has been successfully undeployed"));
- }
- }
- if (result.getChildren().length == 1) {
- return result.getChildren()[0];
- } else { // Merge the result and specify an appropriate message based on the result
- if (result.isOK()) {
- return result;
- } else {
- MultiStatus actualResult = new MultiStatus(Activator.PLUGIN_ID, result.getCode(), "Some errors occurred during the undeployment", result.getException());
- actualResult.merge(result);
- return actualResult;
- }
- }
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.handlers;
+
+import java.util.Iterator;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.Activator;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.preferences.ElementTypesPreferences;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.ui.statushandlers.StatusManager;
+
+
+public class UndeployElementTypeSetConfigurationHandler extends AbstractHandler {
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
+ if (!(currentSelection instanceof IStructuredSelection) || currentSelection.isEmpty()) {
+ return null;
+ }
+ final IStructuredSelection selection = (IStructuredSelection) currentSelection;
+ final Shell activeShell = HandlerUtil.getActiveShell(event);
+ Job job = new Job("Undeploy elementTypes set configuration") {
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask("Undeploying selected configurations", selection.size());
+ return doExecute(selection, monitor);
+ }
+ };
+ job.addJobChangeListener(new JobChangeAdapter() {
+
+ @Override
+ public void done(final IJobChangeEvent event) {
+ activeShell.getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ if (event.getResult().isOK()) {
+ MessageDialog.openInformation(activeShell, "Success", event.getResult().getMessage());
+ } else if (event.getResult().getSeverity() < IStatus.ERROR) { // Errors are already logged
+ StatusManager.getManager().handle(event.getResult(), StatusManager.SHOW);
+ }
+ }
+ });
+ }
+ });
+ job.setUser(true);
+ job.schedule();
+ return null;
+ }
+
+ protected IStatus doExecute(IStructuredSelection selection, IProgressMonitor monitor) {
+ Iterator<?> selectionIterator = selection.iterator();
+ MultiStatus result = new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, "The elementTypes configuration has been successfully undeployed", null);
+ while (selectionIterator.hasNext()) {
+ Object selectedElement = selectionIterator.next();
+ if (selectedElement instanceof IAdaptable) {
+ IFile selectedFile = (IFile) ((IAdaptable) selectedElement).getAdapter(IFile.class);
+ if (selectedFile == null) {
+ monitor.worked(1);
+ result.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "The selected element is not a file"));
+ continue;
+ }
+ String fileName = selectedFile.getFullPath().removeFileExtension().lastSegment();
+ monitor.subTask("Deploy " + fileName);
+ URI emfURI = null;
+ if (selectedFile.getFullPath() != null) {
+ emfURI = URI.createPlatformResourceURI(selectedFile.getFullPath().toString(), true);
+ } else if (selectedFile.getRawLocation() != null) {
+ emfURI = URI.createFileURI(selectedFile.getRawLocation().toString());
+ }
+ if (emfURI == null) {
+ monitor.worked(1);
+ result.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "The selected element is not a valid configuration file"));
+ continue;
+ }
+ ElementTypesPreferences.unregisterWorkspaceDefinition(fileName);
+ monitor.subTask("Reset elementTypes Registry");
+ ElementTypeSetConfigurationRegistry.getInstance().unload(fileName);
+ monitor.worked(1);
+ // relaunch papyrus service
+ result.add(new Status(IStatus.OK, Activator.PLUGIN_ID, "The elementTypes configuration has been successfully undeployed"));
+ }
+ }
+ if (result.getChildren().length == 1) {
+ return result.getChildren()[0];
+ } else { // Merge the result and specify an appropriate message based on the result
+ if (result.isOK()) {
+ return result;
+ } else {
+ MultiStatus actualResult = new MultiStatus(Activator.PLUGIN_ID, result.getCode(), "Some errors occurred during the undeployment", result.getException());
+ actualResult.merge(result);
+ return actualResult;
+ }
+ }
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/preferences/ElementTypesPreferences.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/preferences/ElementTypesPreferences.java
index ec89f319a71..4aa3b8d2f3d 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/preferences/ElementTypesPreferences.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations.ui/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/ui/preferences/ElementTypesPreferences.java
@@ -1,296 +1,306 @@
-/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.elementtypesconfigurations.preferences;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.Activator;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.XMLMemento;
-
-/**
- * Preferences management for elementTypesConfigurations
- */
-public class ElementTypesPreferences {
-
- /** id for the preference store for elementTypes redefinitions */
- public final static String ELEMENT_TYPES_REDEFINITIONS = "elementTypesRedefinitions"; //$NON-NLS-1$
-
- /** id for the node: elementTypes redefinition */
- public final static String ELEMENT_TYPES_REDEFINITION = "elementTypesRedefinition"; //$NON-NLS-1$
-
- public static final String ELEMENT_TYPES_SET_WORKSPACE_DEFINITION = "elementTypeSetsWorkspaceDefinition";
-
- /** name of the ID attribute */
- public final static String ID = "id"; //$NON-NLS-1$
-
- /** name for the field giving the path to the XML file */
- public final static String PATH = "path"; //$NON-NLS-1$
-
- /**
- * Returns the preference store used to store elementTypes preferences.
- *
- * @return the preference store of the plugin
- */
- protected static IPreferenceStore getPreferenceStore() {
- return Activator.getDefault().getPreferenceStore();
- }
-
- /**
- * Retrieves the root memento from the plugin preferences for all elementTypes redefinition
- * redefinitions.
- *
- * @return the root memento if there were existing customizations, a newly created one otherwise (empty one)
- */
- protected static XMLMemento getLocalRedefinitions() {
- String sValue = getPreferenceStore().getString(ELEMENT_TYPES_REDEFINITIONS);
- try {
- if (sValue != null && !sValue.equals("")) { //$NON-NLS-1$
- XMLMemento rootMemento = XMLMemento.createReadRoot(new StringReader(sValue));
- return rootMemento;
- } else {
- return XMLMemento.createWriteRoot(ELEMENT_TYPES_REDEFINITIONS);
- }
- } catch (WorkbenchException e) {
- Activator.log.error("Impossible to read preferences for elementTypes local redefinitions", e);
- }
- return null;
- }
-
- /**
- * Register a new local redefinition of a elementTypes.
- *
- * @param elementTypesID
- * the id of the elementTypes to register
- * @param path
- * the path to the configuration of the elementTypes
- * @return the memento that has been registered
- */
- public static IMemento registerLocalRedefinition(String elementTypesID, String path) {
- XMLMemento rootMemento = getLocalRedefinitions();
- // try to find an existing local definition for this elementTypes
- IMemento memento = getelementTypesRedefinitionNode(elementTypesID);
- // if one exists, remove it from the preferences
- if (memento != null) {
- unregisterLocalRedefinition(elementTypesID);
- }
- // then register the new one
- IMemento newMemento = rootMemento.createChild(ELEMENT_TYPES_REDEFINITION);
- newMemento.putString(ID, elementTypesID);
- newMemento.putString(PATH, path);
- saveLocalRedefinitions(rootMemento);
- return newMemento;
- }
-
- /**
- * Returns the memento associated to the elementTypes, or <code>null</code> if none exists
- *
- * @param elementTypesID
- * the identifier of the elementTypes to find
- * @return the memento found or <code>null</code> if no customization exists for this elementTypes
- */
- protected static IMemento getelementTypesRedefinitionNode(String elementTypesID) {
- XMLMemento rootMemento = getLocalRedefinitions();
- IMemento[] redefinitions = rootMemento.getChildren(ELEMENT_TYPES_REDEFINITION);
- for (IMemento redefinitionMemento : redefinitions) {
- String elementTypesNodeID = redefinitionMemento.getString(ID);
- // check equals. elementTypes ID is not null, as checked at the begining of the method.
- if (elementTypesID.equals(elementTypesNodeID)) {
- return redefinitionMemento;
- }
- }
- return null;
- }
-
- /**
- * Returns the memento associated to the elementTypes set definition in workspace, or <code>null</code> if none exists
- *
- * @return the memento found or <code>null</code> if no customization exists for this elementTypes
- */
- protected static IMemento[] getWorkspaceDefinitions() {
- XMLMemento rootMemento = getLocalRedefinitions();
- IMemento[] workspaceDefinitions = rootMemento.getChildren(ELEMENT_TYPES_SET_WORKSPACE_DEFINITION);
- return workspaceDefinitions;
- }
-
- /**
- * Returns the memento associated to the elementTypes set definition in workspace, or <code>null</code> if none exists
- *
- * @return the memento found or <code>null</code> if no customization exists for this elementTypes
- */
- protected static IMemento getWorkspaceDefinition(String elementTypesetsID) {
- if (elementTypesetsID == null) {
- return null;
- }
- IMemento[] workspaceDefinitions = getWorkspaceDefinitions();
- if (workspaceDefinitions == null || workspaceDefinitions.length == 0) {
- return null;
- }
- for (IMemento memento : workspaceDefinitions) {
- String id = memento.getString(ID);
- if (elementTypesetsID.equals(id)) {
- return memento;
- }
- }
- return null;
- }
-
- /**
- * Returns the path for a given elementType local redefinition
- *
- * @param elementTypesID
- * the unique identifier of the elementType to retrieve
- * @return the path to the configuration of the elementTypes or <code>null</code> if no customization exists for this elementType
- * configuration
- */
- public static String getElementTypesRedefinition(String elementTypesID) {
- if (elementTypesID == null) {
- Activator.log.debug("Trying to find preferences for a null elementType set identifier");
- }
- IMemento memento = getelementTypesRedefinitionNode(elementTypesID);
- if (memento != null) {
- return memento.getString(PATH);
- }
- return null;
- }
-
- /**
- * Unregister a specific local redefinition
- *
- * @param elementTypesID
- * the identifier of the elementTypes set to unregister
- */
- public static void unregisterLocalRedefinition(String elementTypesID) {
- XMLMemento rootMemento = getLocalRedefinitions();
- // no remove method...
- // so, creation of a new root memento, then, duplicate all entries
- // except the one to
- // delete...
- XMLMemento newRootMemento = XMLMemento.createWriteRoot(ELEMENT_TYPES_REDEFINITIONS);
- for (IMemento memento : rootMemento.getChildren(ELEMENT_TYPES_REDEFINITION)) {
- if (!memento.getString(ID).equals(elementTypesID)) {
- newRootMemento.putMemento(memento);
- }
- }
- for (IMemento memento : rootMemento.getChildren(ELEMENT_TYPES_SET_WORKSPACE_DEFINITION)) {
- newRootMemento.putMemento(memento);
- }
- // save new Memento
- saveLocalRedefinitions(newRootMemento);
- }
-
- /**
- * @param elementTypesID
- */
- public static void unregisterWorkspaceDefinition(String elementTypesID) {
- XMLMemento rootMemento = getLocalRedefinitions();
- // no remove method...
- // so, creation of a new root memento, then, duplicate all entries
- // except the one to
- // delete...
- XMLMemento newRootMemento = XMLMemento.createWriteRoot(ELEMENT_TYPES_REDEFINITIONS);
- for (IMemento memento : rootMemento.getChildren(ELEMENT_TYPES_REDEFINITION)) {
- newRootMemento.putMemento(memento);
- }
- for (IMemento memento : rootMemento.getChildren(ELEMENT_TYPES_SET_WORKSPACE_DEFINITION)) {
- if (!memento.getString(ID).equals(elementTypesID)) {
- newRootMemento.putMemento(memento);
- }
- }
- // save new Memento
- saveLocalRedefinitions(newRootMemento);
- }
-
- /**
- * saves the given root memento with the given key in the preference area
- *
- * @param xmlMemento
- * the memento to save
- * @param key
- * the key for the preference store
- */
- protected static void saveMemento(XMLMemento xmlMemento, String key) {
- // save memento
- StringWriter writer = new StringWriter();
- try {
- xmlMemento.save(writer);
- if (getPreferenceStore() != null) {
- getPreferenceStore().setValue(key, writer.toString());
- }
- } catch (IOException e) {
- Activator.log.error("input/ouput exception", e);
- }
- }
-
- /**
- * Saves the set of local redefinitions into the preference store
- *
- * @param rootMemento
- * the memento to save
- */
- public static void saveLocalRedefinitions(XMLMemento rootMemento) {
- saveMemento(rootMemento, ELEMENT_TYPES_REDEFINITIONS);
- }
-
- /**
- * Returns all the paths in the workspace that should be an elementType set to load, with the id as a key
- *
- * @return
- */
- public static Map<String, String> getLocalElementTypeDefinitions() {
- IMemento[] mementos = getWorkspaceDefinitions();
- if (mementos != null && mementos.length > 0) {
- Map<String, String> idToPath = new HashMap<String, String>();
- for (IMemento memento : mementos) {
- String id = memento.getString(ID);
- String path = memento.getString(PATH);
- if (id != null && !"".equals(id) && path != null && !"".equals(PATH)) {
- idToPath.put(id, path);
- }
- }
- return idToPath;
- }
- return null;
- }
-
- /**
- * Register a new local redefinition of a elementTypes.
- *
- * @param elementTypesID
- * the id of the elementTypes to register
- * @param path
- * the path to the configuration of the elementTypes
- * @return the memento that has been registered
- */
- public static IMemento registerWorkspaceDefinition(String elementTypesID, String path) {
- XMLMemento rootMemento = getLocalRedefinitions();
- // try to find an existing local definition for this elementTypes
- IMemento memento = getWorkspaceDefinition(elementTypesID);
- // if one exists, remove it from the preferences
- if (memento != null) {
- unregisterWorkspaceDefinition(elementTypesID);
- }
- // then register the new one
- IMemento newMemento = rootMemento.createChild(ELEMENT_TYPES_SET_WORKSPACE_DEFINITION);
- newMemento.putString(ID, elementTypesID);
- newMemento.putString(PATH, path);
- saveLocalRedefinitions(rootMemento);
- return newMemento;
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 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
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.preferences;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.runtime.preferences.InstanceScope;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.internal.ui.LogUtil;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.WorkbenchException;
+import org.eclipse.ui.XMLMemento;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
+
+/**
+ * Preferences management for elementTypesConfigurations
+ */
+public class ElementTypesPreferences {
+
+ /** id for the preference store for elementTypes redefinitions */
+ public final static String ELEMENT_TYPES_REDEFINITIONS = "elementTypesRedefinitions"; //$NON-NLS-1$
+
+ /** id for the node: elementTypes redefinition */
+ public final static String ELEMENT_TYPES_REDEFINITION = "elementTypesRedefinition"; //$NON-NLS-1$
+
+ public static final String ELEMENT_TYPES_SET_WORKSPACE_DEFINITION = "elementTypeSetsWorkspaceDefinition";
+
+ /** name of the ID attribute */
+ public final static String ID = "id"; //$NON-NLS-1$
+
+ /** name for the field giving the path to the XML file */
+ public final static String PATH = "path"; //$NON-NLS-1$
+
+ private static IPreferenceStore preferences;
+
+ /**
+ * Returns the preference store used to store elementTypes preferences.
+ *
+ * @return the preference store of the plugin
+ */
+ protected synchronized static IPreferenceStore getPreferenceStore() {
+ if (preferences == null) {
+ preferences = new ScopedPreferenceStore(InstanceScope.INSTANCE,
+ org.eclipse.papyrus.infra.elementtypesconfigurations.Activator.PLUGIN_ID);
+ }
+
+ return preferences;
+ }
+
+ /**
+ * Retrieves the root memento from the plugin preferences for all elementTypes redefinition
+ * redefinitions.
+ *
+ * @return the root memento if there were existing customizations, a newly created one otherwise (empty one)
+ */
+ protected static XMLMemento getLocalRedefinitions() {
+ String sValue = getPreferenceStore().getString(ELEMENT_TYPES_REDEFINITIONS);
+ try {
+ if (sValue != null && !sValue.equals("")) { //$NON-NLS-1$
+ XMLMemento rootMemento = XMLMemento.createReadRoot(new StringReader(sValue));
+ return rootMemento;
+ } else {
+ return XMLMemento.createWriteRoot(ELEMENT_TYPES_REDEFINITIONS);
+ }
+ } catch (WorkbenchException e) {
+ LogUtil.LOG.error("Impossible to read preferences for elementTypes local redefinitions", e);
+ }
+ return null;
+ }
+
+ /**
+ * Register a new local redefinition of a elementTypes.
+ *
+ * @param elementTypesID
+ * the id of the elementTypes to register
+ * @param path
+ * the path to the configuration of the elementTypes
+ * @return the memento that has been registered
+ */
+ public static IMemento registerLocalRedefinition(String elementTypesID, String path) {
+ XMLMemento rootMemento = getLocalRedefinitions();
+ // try to find an existing local definition for this elementTypes
+ IMemento memento = getelementTypesRedefinitionNode(elementTypesID);
+ // if one exists, remove it from the preferences
+ if (memento != null) {
+ unregisterLocalRedefinition(elementTypesID);
+ }
+ // then register the new one
+ IMemento newMemento = rootMemento.createChild(ELEMENT_TYPES_REDEFINITION);
+ newMemento.putString(ID, elementTypesID);
+ newMemento.putString(PATH, path);
+ saveLocalRedefinitions(rootMemento);
+ return newMemento;
+ }
+
+ /**
+ * Returns the memento associated to the elementTypes, or <code>null</code> if none exists
+ *
+ * @param elementTypesID
+ * the identifier of the elementTypes to find
+ * @return the memento found or <code>null</code> if no customization exists for this elementTypes
+ */
+ protected static IMemento getelementTypesRedefinitionNode(String elementTypesID) {
+ XMLMemento rootMemento = getLocalRedefinitions();
+ IMemento[] redefinitions = rootMemento.getChildren(ELEMENT_TYPES_REDEFINITION);
+ for (IMemento redefinitionMemento : redefinitions) {
+ String elementTypesNodeID = redefinitionMemento.getString(ID);
+ // check equals. elementTypes ID is not null, as checked at the begining of the method.
+ if (elementTypesID.equals(elementTypesNodeID)) {
+ return redefinitionMemento;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the memento associated to the elementTypes set definition in workspace, or <code>null</code> if none exists
+ *
+ * @return the memento found or <code>null</code> if no customization exists for this elementTypes
+ */
+ protected static IMemento[] getWorkspaceDefinitions() {
+ XMLMemento rootMemento = getLocalRedefinitions();
+ IMemento[] workspaceDefinitions = rootMemento.getChildren(ELEMENT_TYPES_SET_WORKSPACE_DEFINITION);
+ return workspaceDefinitions;
+ }
+
+ /**
+ * Returns the memento associated to the elementTypes set definition in workspace, or <code>null</code> if none exists
+ *
+ * @return the memento found or <code>null</code> if no customization exists for this elementTypes
+ */
+ protected static IMemento getWorkspaceDefinition(String elementTypesetsID) {
+ if (elementTypesetsID == null) {
+ return null;
+ }
+ IMemento[] workspaceDefinitions = getWorkspaceDefinitions();
+ if (workspaceDefinitions == null || workspaceDefinitions.length == 0) {
+ return null;
+ }
+ for (IMemento memento : workspaceDefinitions) {
+ String id = memento.getString(ID);
+ if (elementTypesetsID.equals(id)) {
+ return memento;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the path for a given elementType local redefinition
+ *
+ * @param elementTypesID
+ * the unique identifier of the elementType to retrieve
+ * @return the path to the configuration of the elementTypes or <code>null</code> if no customization exists for this elementType
+ * configuration
+ */
+ public static String getElementTypesRedefinition(String elementTypesID) {
+ if (elementTypesID == null) {
+ LogUtil.LOG.debug("Trying to find preferences for a null elementType set identifier");
+ }
+ IMemento memento = getelementTypesRedefinitionNode(elementTypesID);
+ if (memento != null) {
+ return memento.getString(PATH);
+ }
+ return null;
+ }
+
+ /**
+ * Unregister a specific local redefinition
+ *
+ * @param elementTypesID
+ * the identifier of the elementTypes set to unregister
+ */
+ public static void unregisterLocalRedefinition(String elementTypesID) {
+ XMLMemento rootMemento = getLocalRedefinitions();
+ // no remove method...
+ // so, creation of a new root memento, then, duplicate all entries
+ // except the one to
+ // delete...
+ XMLMemento newRootMemento = XMLMemento.createWriteRoot(ELEMENT_TYPES_REDEFINITIONS);
+ for (IMemento memento : rootMemento.getChildren(ELEMENT_TYPES_REDEFINITION)) {
+ if (!memento.getString(ID).equals(elementTypesID)) {
+ newRootMemento.putMemento(memento);
+ }
+ }
+ for (IMemento memento : rootMemento.getChildren(ELEMENT_TYPES_SET_WORKSPACE_DEFINITION)) {
+ newRootMemento.putMemento(memento);
+ }
+ // save new Memento
+ saveLocalRedefinitions(newRootMemento);
+ }
+
+ /**
+ * @param elementTypesID
+ */
+ public static void unregisterWorkspaceDefinition(String elementTypesID) {
+ XMLMemento rootMemento = getLocalRedefinitions();
+ // no remove method...
+ // so, creation of a new root memento, then, duplicate all entries
+ // except the one to
+ // delete...
+ XMLMemento newRootMemento = XMLMemento.createWriteRoot(ELEMENT_TYPES_REDEFINITIONS);
+ for (IMemento memento : rootMemento.getChildren(ELEMENT_TYPES_REDEFINITION)) {
+ newRootMemento.putMemento(memento);
+ }
+ for (IMemento memento : rootMemento.getChildren(ELEMENT_TYPES_SET_WORKSPACE_DEFINITION)) {
+ if (!memento.getString(ID).equals(elementTypesID)) {
+ newRootMemento.putMemento(memento);
+ }
+ }
+ // save new Memento
+ saveLocalRedefinitions(newRootMemento);
+ }
+
+ /**
+ * saves the given root memento with the given key in the preference area
+ *
+ * @param xmlMemento
+ * the memento to save
+ * @param key
+ * the key for the preference store
+ */
+ protected static void saveMemento(XMLMemento xmlMemento, String key) {
+ // save memento
+ StringWriter writer = new StringWriter();
+ try {
+ xmlMemento.save(writer);
+ if (getPreferenceStore() != null) {
+ getPreferenceStore().setValue(key, writer.toString());
+ }
+ } catch (IOException e) {
+ LogUtil.LOG.error("input/ouput exception", e);
+ }
+ }
+
+ /**
+ * Saves the set of local redefinitions into the preference store
+ *
+ * @param rootMemento
+ * the memento to save
+ */
+ public static void saveLocalRedefinitions(XMLMemento rootMemento) {
+ saveMemento(rootMemento, ELEMENT_TYPES_REDEFINITIONS);
+ }
+
+ /**
+ * Returns all the paths in the workspace that should be an elementType set to load, with the id as a key
+ *
+ * @return
+ */
+ public static Map<String, String> getLocalElementTypeDefinitions() {
+ IMemento[] mementos = getWorkspaceDefinitions();
+ if (mementos != null && mementos.length > 0) {
+ Map<String, String> idToPath = new HashMap<String, String>();
+ for (IMemento memento : mementos) {
+ String id = memento.getString(ID);
+ String path = memento.getString(PATH);
+ if (id != null && !"".equals(id) && path != null && !"".equals(PATH)) {
+ idToPath.put(id, path);
+ }
+ }
+ return idToPath;
+ }
+ return null;
+ }
+
+ /**
+ * Register a new local redefinition of a elementTypes.
+ *
+ * @param elementTypesID
+ * the id of the elementTypes to register
+ * @param path
+ * the path to the configuration of the elementTypes
+ * @return the memento that has been registered
+ */
+ public static IMemento registerWorkspaceDefinition(String elementTypesID, String path) {
+ XMLMemento rootMemento = getLocalRedefinitions();
+ // try to find an existing local definition for this elementTypes
+ IMemento memento = getWorkspaceDefinition(elementTypesID);
+ // if one exists, remove it from the preferences
+ if (memento != null) {
+ unregisterWorkspaceDefinition(elementTypesID);
+ }
+ // then register the new one
+ IMemento newMemento = rootMemento.createChild(ELEMENT_TYPES_SET_WORKSPACE_DEFINITION);
+ newMemento.putString(ID, elementTypesID);
+ newMemento.putString(PATH, path);
+ saveLocalRedefinitions(rootMemento);
+ return newMemento;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/.classpath b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/.classpath
index 4d59ca9a472..50aae142c50 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/.classpath
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/.classpath
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src-gen"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/.settings/org.eclipse.jdt.core.prefs
index 9ca8e68231b..62a08f4494d 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/META-INF/MANIFEST.MF
index 1189f63eba0..1e5cfc1cb6b 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/META-INF/MANIFEST.MF
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/META-INF/MANIFEST.MF
@@ -1,6 +1,5 @@
Manifest-Version: 1.0
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
- org.eclipse.ui;bundle-version="3.7.0",
org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0",
org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
org.eclipse.papyrus.infra.tools;bundle-version="1.2.0",
@@ -12,9 +11,8 @@ Export-Package: org.eclipse.papyrus.infra.elementtypesconfiguration.notification
org.eclipse.papyrus.infra.elementtypesconfigurations.extensionpoints,
org.eclipse.papyrus.infra.elementtypesconfigurations.factories,
org.eclipse.papyrus.infra.elementtypesconfigurations.factories.impl,
- org.eclipse.papyrus.infra.elementtypesconfigurations.handler,
org.eclipse.papyrus.infra.elementtypesconfigurations.impl,
- org.eclipse.papyrus.infra.elementtypesconfigurations.preferences,
+ org.eclipse.papyrus.infra.elementtypesconfigurations.internal.registries.spi;x-friends:="org.eclipse.papyrus.infra.elementtypesconfigurations.ui",
org.eclipse.papyrus.infra.elementtypesconfigurations.registries,
org.eclipse.papyrus.infra.elementtypesconfigurations.resource,
org.eclipse.papyrus.infra.elementtypesconfigurations.util,
@@ -28,4 +26,4 @@ Bundle-Name: %pluginName
Bundle-Activator: org.eclipse.papyrus.infra.elementtypesconfigurations.Activator
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.papyrus.infra.elementtypesconfigurations;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/build.properties b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/build.properties
index 0fcee5a52b8..9e8f4164078 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/build.properties
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/build.properties
@@ -7,8 +7,7 @@ bin.includes = .,\
plugin.xml,\
plugin.properties,\
schema/,\
- about.html,\
- icons/
+ about.html
jars.compile.order=.
src.includes = about.html
source.. = src-gen/,\
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/plugin.xml b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/plugin.xml
index 5e78cd2454c..e9cf63c65ac 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/plugin.xml
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/plugin.xml
@@ -1,20 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
-
<!--
- <copyright>
- </copyright>r
+ Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
- $Id$
+ Contributors:
+ CEA LIST - Initial API and implementation
+ Christian W. Damus - bug 485220
-->
-
<plugin>
<extension-point id="elementTypeSetConfiguration" name="ElementType Set Configuration" schema="schema/elementTypeSetConfiguration.exsd"/>
<extension-point id="elementTypeConfigurationType" name="ElementType Configuration Type" schema="schema/elementTypeConfigurationType.exsd"/>
<extension-point id="adviceConfigurationType" name="Advice Configuration Type" schema="schema/adviceConfigurationType.exsd"/>
<extension-point id="containerConfigurationType" name="Container Configuration Type" schema="schema/containerConfigurationType.exsd"/>
<extension-point id="matcherConfigurationType" name="Matcher Configuration Type" schema="schema/matcherConfigurationType.exsd"/>
-
+ <extension-point id="userDefinitions" name="User Element Type Definitions" schema="schema/userDefinitions.exsd"/>
<extension
point="org.eclipse.papyrus.infra.core.service">
@@ -27,76 +31,6 @@
</service>
</extension>
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.ui.popup.any?after=additions">
- <command
- commandId="org.eclipse.papyrus.infra.elementtypesconfigurations.deploy"
- icon="icons/configuration.gif"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <adapt
- type="org.eclipse.core.resources.IFile">
- <or>
- <test
- property="org.eclipse.core.resources.extension"
- value="elementtypesconfigurations">
- </test>
- </or>
- </adapt>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.papyrus.infra.elementtypesconfigurations.undeploy"
- icon="icons/configuration.gif"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <adapt
- type="org.eclipse.core.resources.IFile">
- <or>
- <test
- property="org.eclipse.core.resources.extension"
- value="elementtypesconfigurations">
- </test>
- </or>
- </adapt>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- </menuContribution>
- </extension>
-
- <extension
- point="org.eclipse.ui.commands">
- <command
- defaultHandler="org.eclipse.papyrus.infra.elementtypesconfigurations.handler.DeployElementTypeSetConfigurationHandler"
- id="org.eclipse.papyrus.infra.elementtypesconfigurations.deploy"
- name="Deploy ElementTypes Set configuration">
- </command>
- <command
- defaultHandler="org.eclipse.papyrus.infra.elementtypesconfigurations.handler.UndeployElementTypeSetConfigurationHandler"
- id="org.eclipse.papyrus.infra.elementtypesconfigurations.undeploy"
- name="Disable ElementTypes Set configuration">
- </command>
- </extension>
-
<extension point="org.eclipse.emf.ecore.generated_package">
<!-- @generated ElementTypesConfigurations -->
<package
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/schema/userDefinitions.exsd b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/schema/userDefinitions.exsd
new file mode 100644
index 00000000000..279049b07c4
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/schema/userDefinitions.exsd
@@ -0,0 +1,100 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.infra.elementtypesconfigurations" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.papyrus.infra.elementtypesconfigurations" id="userDefinitions" name="User Element Type Definitions"/>
+ </appInfo>
+ <documentation>
+ &lt;p&gt;
+This extension point is used to register providers of user-defined element types.
+&lt;/p&gt;&lt;p&gt;
+&lt;b&gt;Note&lt;/b&gt; that this extension point is intended for internal use within the Papyrus
+element-types framework only.
+&lt;/p&gt;
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="provider" minOccurs="1" maxOccurs="unbounded"/>
+ </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="provider">
+ <complexType>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.elementtypesconfigurations.internal.registries.spi.IUserElementTypeDefinitionsProvider"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ 2.0
+ </documentation>
+ </annotation>
+
+
+
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.&lt;br/&gt;
+&lt;br/&gt;
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License
+v1.0 which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html&lt;br/&gt;
+&lt;br/&gt;
+Contributors:&lt;br/&gt;
+&amp;nbsp;&amp;nbsp;CEA LIST - initial API and implementation&lt;br/&gt;
+&amp;nbsp;&amp;nbsp;Christian W. Damus - bug 485220&lt;br/&gt;
+ </documentation>
+ </annotation>
+
+</schema>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/Activator.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/Activator.java
index 6101482e477..6c24940b344 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/Activator.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/Activator.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
+ * Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,18 +8,19 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 485220
*
*****************************************************************************/
package org.eclipse.papyrus.infra.elementtypesconfigurations;
+import org.eclipse.core.runtime.Plugin;
import org.eclipse.papyrus.infra.core.log.LogHelper;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
-public class Activator extends AbstractUIPlugin {
+public class Activator extends Plugin {
// The plug-in ID
public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.elementtypesconfigurations"; //$NON-NLS-1$
@@ -36,11 +37,6 @@ public class Activator extends AbstractUIPlugin {
public Activator() {
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
@@ -48,11 +44,6 @@ public class Activator extends AbstractUIPlugin {
log = new LogHelper(this);
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
@Override
public void stop(BundleContext context) throws Exception {
log = null;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/extensionpoints/IUserElementTypeDefinitionsExtensionPoint.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/extensionpoints/IUserElementTypeDefinitionsExtensionPoint.java
new file mode 100644
index 00000000000..971d9e11bc1
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/extensionpoints/IUserElementTypeDefinitionsExtensionPoint.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.elementtypesconfigurations.extensionpoints;
+
+import org.eclipse.papyrus.infra.elementtypesconfigurations.Activator;
+
+public interface IUserElementTypeDefinitionsExtensionPoint {
+
+ /** ID of the extension point */
+ String EXTENSION_POINT_ID = Activator.PLUGIN_ID + ".userDefinitions";
+
+ /** element: provider of user definitions */
+ String E_PROVIDER = "provider";
+
+ /** attribute: class implementing the provider */
+ String A_CLASS = "class";
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/registries/spi/IUserElementTypeDefinitionsProvider.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/registries/spi/IUserElementTypeDefinitionsProvider.java
new file mode 100644
index 00000000000..992d91601da
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/internal/registries/spi/IUserElementTypeDefinitionsProvider.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 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
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.elementtypesconfigurations.internal.registries.spi;
+
+import java.util.Map;
+
+/**
+ * An extension protocol for providers of user-defined element types
+ * configuration models.
+ */
+public interface IUserElementTypeDefinitionsProvider {
+ /**
+ * Returns the path for a given elementType local redefinition
+ *
+ * @param elementTypesID
+ * the unique identifier of the elementType to retrieve
+ * @return the path to the configuration of the elementTypes or <code>null</code> if no customization exists for this elementType
+ * configuration
+ */
+ String getElementTypesRedefinition(String elementTypesID);
+
+ /**
+ * Returns all the paths in the workspace that should be an elementType set to load, with the id as a key
+ *
+ * @return
+ */
+ Map<String, String> getLocalElementTypeDefinitions();
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/registries/ElementTypeSetConfigurationRegistry.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/registries/ElementTypeSetConfigurationRegistry.java
index 431766dfe18..3ce66e6e5b8 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/registries/ElementTypeSetConfigurationRegistry.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/registries/ElementTypeSetConfigurationRegistry.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2014, 2015 CEA LIST, Christian W. Damus, and others.
+ * Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,8 +8,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
- * Christian W. Damus - bug 459174
- * Christian W. Damus - bug 467207
+ * Christian W. Damus - bugs 459174, 467207, 485220
*
*****************************************************************************/
package org.eclipse.papyrus.infra.elementtypesconfigurations.registries;
@@ -47,7 +46,6 @@ import org.eclipse.papyrus.infra.elementtypesconfigurations.ElementTypeConfigura
import org.eclipse.papyrus.infra.elementtypesconfigurations.ElementTypeSetConfiguration;
import org.eclipse.papyrus.infra.elementtypesconfigurations.SpecializationTypeConfiguration;
import org.eclipse.papyrus.infra.elementtypesconfigurations.extensionpoints.IElementTypeSetExtensionPoint;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.preferences.ElementTypesPreferences;
import org.eclipse.papyrus.infra.elementtypesconfigurations.utils.ElementTypeCycleUtil;
import org.eclipse.papyrus.infra.elementtypesconfigurations.utils.ElementTypeRegistryUtils;
import org.eclipse.papyrus.infra.services.edit.internal.context.TypeContext;
@@ -134,7 +132,7 @@ public class ElementTypeSetConfigurationRegistry {
*/
public void loadElementTypeSetConfiguration(String identifier) {
// retrieve the path from the identifier
- String path = ElementTypesPreferences.getLocalElementTypeDefinitions().get(identifier);
+ String path = UserElementTypeDefinitionsRegistry.getInstance().getLocalElementTypeDefinitions().get(identifier);
if (path == null) {
return;
}
@@ -326,7 +324,7 @@ public class ElementTypeSetConfigurationRegistry {
protected Map<String, ElementTypeSetConfiguration> readElementTypeSetConfigurationModelsFromWorkspace() {
- Map<String, String> localFilesPath = ElementTypesPreferences.getLocalElementTypeDefinitions();
+ Map<String, String> localFilesPath = UserElementTypeDefinitionsRegistry.getInstance().getLocalElementTypeDefinitions();
Map<String, ElementTypeSetConfiguration> workspaceElementTypeSets = new HashMap<String, ElementTypeSetConfiguration>();
if (localFilesPath != null && !localFilesPath.isEmpty()) {
for (Entry<String, String> idToPath : localFilesPath.entrySet()) {
@@ -392,7 +390,7 @@ public class ElementTypeSetConfigurationRegistry {
*/
protected ElementTypeSetConfiguration getElementTypeSetConfiguration(String elementTypesID, String modelPath, String bundleId) {
// 1. look in preferences.
- String filePath = ElementTypesPreferences.getElementTypesRedefinition(elementTypesID);
+ String filePath = UserElementTypeDefinitionsRegistry.getInstance().getElementTypesRedefinition(elementTypesID);
if (filePath != null) {
getElementTypeSetConfigurationInPluginStateArea(elementTypesID);
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/registries/UserElementTypeDefinitionsRegistry.java b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/registries/UserElementTypeDefinitionsRegistry.java
new file mode 100644
index 00000000000..c9bb4abee9f
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.elementtypesconfigurations/src/org/eclipse/papyrus/infra/elementtypesconfigurations/registries/UserElementTypeDefinitionsRegistry.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.elementtypesconfigurations.registries;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.function.Predicate;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.Activator;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.extensionpoints.IUserElementTypeDefinitionsExtensionPoint;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.internal.registries.spi.IUserElementTypeDefinitionsProvider;
+
+/**
+ * Registry of {@link IUserElementTypeDefinitionsProvider}s.
+ */
+class UserElementTypeDefinitionsRegistry implements IUserElementTypeDefinitionsExtensionPoint, IUserElementTypeDefinitionsProvider {
+
+ private static final UserElementTypeDefinitionsRegistry INSTANCE = new UserElementTypeDefinitionsRegistry();
+
+ // Only should have the one in the UI bundle
+ private final List<IUserElementTypeDefinitionsProvider> providers = new ArrayList<>(1);
+
+ private UserElementTypeDefinitionsRegistry() {
+ super();
+
+ IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(EXTENSION_POINT_ID);
+ for (IConfigurationElement next : elements) {
+ switch (next.getName()) {
+ case E_PROVIDER:
+ try {
+ providers.add(createProvider(next));
+ } catch (ClassCastException e) {
+ Activator.log.error(e);
+ } catch (CoreException e) {
+ Activator.log.log(e.getStatus());
+ }
+ break;
+ }
+ }
+ }
+
+ public static UserElementTypeDefinitionsRegistry getInstance() {
+ return INSTANCE;
+ }
+
+ private IUserElementTypeDefinitionsProvider createProvider(IConfigurationElement config) throws CoreException {
+ Object result = config.createExecutableExtension(A_CLASS);
+
+ if (!(result instanceof IUserElementTypeDefinitionsProvider)) {
+ throw new ClassCastException("Extension does not implement IUserElementTypeDefinitionsProvider interface in contributor " + config.getContributor().getName()); //$NON-NLS-1$
+ }
+
+ return (IUserElementTypeDefinitionsProvider) result;
+ }
+
+ @Override
+ public String getElementTypesRedefinition(String elementTypesID) {
+ switch (providers.size()) {
+ case 0:
+ return null;
+ case 1:
+ return providers.get(0).getElementTypesRedefinition(elementTypesID);
+ default:
+ return providers.stream()
+ .map(p -> p.getElementTypesRedefinition(elementTypesID))
+ .filter(Objects::nonNull)
+ .findFirst()
+ .orElse(null);
+ }
+ }
+
+ @Override
+ public Map<String, String> getLocalElementTypeDefinitions() {
+ switch (providers.size()) {
+ case 0:
+ return Collections.emptyMap();
+ case 1:
+ return providers.get(0).getLocalElementTypeDefinitions();
+ default:
+ return providers.stream()
+ .map(IUserElementTypeDefinitionsProvider::getLocalElementTypeDefinitions)
+ .filter(Objects::nonNull)
+ .filter(((Predicate<? super Map<String, String>>) Map::isEmpty).negate())
+ .reduce(new HashMap<>(), (acc, elem) -> {
+ acc.putAll(elem);
+ return acc;
+ });
+ }
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/META-INF/MANIFEST.MF
index 7cd6b570368..c07b7da1f54 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/META-INF/MANIFEST.MF
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/META-INF/MANIFEST.MF
@@ -7,11 +7,9 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
org.eclipse.emf.ecore.edit,
org.eclipse.uml2.uml.edit,
org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.ui;bundle-version="3.7.0",
org.eclipse.papyrus.infra.services.edit;bundle-version="1.2.0",
org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0",
org.eclipse.core.databinding;bundle-version="1.4.1",
- org.eclipse.papyrus.views.properties;bundle-version="1.2.0",
org.eclipse.papyrus.views.properties.model;bundle-version="1.2.0"
Export-Package: org.eclipse.papyrus.infra.extendedtypes.emf,
org.eclipse.papyrus.infra.extendedtypes.emf.converter,
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/plugin.xml b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/plugin.xml
index afdf6d9e6df..54992418010 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/plugin.xml
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/plugin.xml
@@ -43,14 +43,4 @@
editHelperAdvice="org.eclipse.papyrus.infra.extendedtypes.emf.setvaluesactionconfiguration.SetValuesActionEditHelperAdvice">
</aspectAction>
</extension>
-
- <extension
- point="org.eclipse.papyrus.infra.extendedtypes.aspectActionConfiguration">
- <aspectAction
- configurationClass="org.eclipse.papyrus.infra.extendedtypes.emf.runtimevalueseditionactionconfiguration.RuntimeValuesEditionActionConfiguration"
- configurationModelCreation="org.eclipse.papyrus.infra.extendedtypes.emf.runtimevalueseditionactionconfiguration.RuntimeValuesEditionActionConfigurationModelCreation"
- creationElementValidator="org.eclipse.papyrus.infra.extendedtypes.emf.runtimevalueseditionactionconfiguration.RuntimeValuesEditionActionCreationElementValidator"
- editHelperAdvice="org.eclipse.papyrus.infra.extendedtypes.emf.runtimevalueseditionactionconfiguration.RuntimeValuesEditionActionEditHelperAdvice">
- </aspectAction>
- </extension>
</plugin>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/Activator.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/Activator.java
index f1d094da345..f0e88f6b739 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/Activator.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/Activator.java
@@ -1,6 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
- *
+ * Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -9,17 +8,19 @@
*
* Contributors:
* Patrick Tessier (CEA LIST) - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
/*****************************************************************************/
package org.eclipse.papyrus.infra.extendedtypes.emf;
+import org.eclipse.core.runtime.Plugin;
import org.eclipse.papyrus.infra.core.log.LogHelper;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
-public class Activator extends AbstractUIPlugin {
+public class Activator extends Plugin {
// The plug-in ID
public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.extendedtypes.emf"; //$NON-NLS-1$
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.classpath b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.classpath
new file mode 100644
index 00000000000..ad32c83a788
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.project b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.project
new file mode 100644
index 00000000000..387caa58b2d
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.extendedtypes.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..94d61f00da6
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..4e7d229ccec
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.eclipse.papyrus.infra.extendedtypes;bundle-version="1.2.0",
+ org.eclipse.uml2.uml.edit,
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ org.eclipse.gmf.runtime.common.ui.services;bundle-version="1.3.0",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0",
+ org.eclipse.papyrus.views.properties;bundle-version="1.2.0",
+ org.eclipse.papyrus.views.properties.model;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.extendedtypes.emf;bundle-version="1.2.0"
+Export-Package: org.eclipse.papyrus.infra.extendedtypes.internal.ui;x-internal:=true,
+ org.eclipse.papyrus.infra.extendedtypes.internal.ui.advice;x-internal:=true,
+ org.eclipse.papyrus.infra.extendedtypes.internal.ui.handlers;x-internal:=true,
+ org.eclipse.papyrus.infra.extendedtypes.internal.ui.preferences;x-internal:=true,
+ org.eclipse.papyrus.infra.extendedtypes.ui.providers
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy;exclude:="org.eclipse.papyrus.infra.extendedtypes.internal.ui.advice"
+Bundle-ClassPath: .
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.infra.extendedtypes.ui;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/about.html b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/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/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/build.properties b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/build.properties
new file mode 100644
index 00000000000..1995453f217
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/build.properties
@@ -0,0 +1,13 @@
+#
+#Mon Sep 12 09:29:52 CEST 2011
+output..=bin/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html,\
+ icons/,\
+ schema/
+src.includes = about.html
+source.. = src/
+bin..=bin/
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/icons/configuration.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/icons/configuration.gif
index 0b1be97b8cf..0b1be97b8cf 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/icons/configuration.gif
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/icons/configuration.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/icons/error.gif b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/icons/error.gif
index 9b048d60532..9b048d60532 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/icons/error.gif
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/icons/error.gif
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/plugin.properties b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/plugin.properties
new file mode 100644
index 00000000000..c2430244dbb
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/plugin.properties
@@ -0,0 +1,15 @@
+###############################################################################
+# Copyright (c) 2010, 2016 CEA LIST, Christian W. Damus, and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 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
+# Christian W. Damus - bug 485220
+#
+###############################################################################
+pluginName = Papyrus ExtendedTypes UI
+providerName = Eclipse Modeling Project
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/plugin.xml b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/plugin.xml
new file mode 100644
index 00000000000..4b17ab28cce
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/plugin.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+ <extension-point id="extendedElementTypeActionProvider" name="Extended Element Type Action Provider" schema="schema/extendedElementTypeActionProvider.exsd"/>
+
+ <extension
+ point="org.eclipse.papyrus.infra.extendedtypes.aspectActionConfiguration">
+ <aspectAction
+ configurationClass="org.eclipse.papyrus.infra.extendedtypes.emf.runtimevalueseditionactionconfiguration.RuntimeValuesEditionActionConfiguration"
+ configurationModelCreation="org.eclipse.papyrus.infra.extendedtypes.internal.ui.advice.RuntimeValuesEditionActionConfigurationModelCreation"
+ creationElementValidator="org.eclipse.papyrus.infra.extendedtypes.internal.ui.advice.RuntimeValuesEditionActionCreationElementValidator"
+ editHelperAdvice="org.eclipse.papyrus.infra.extendedtypes.internal.ui.advice.RuntimeValuesEditionActionEditHelperAdvice">
+ </aspectAction>
+ </extension>
+
+ <extension
+ point="org.eclipse.ui.menus">
+ <menuContribution
+ allPopups="false"
+ locationURI="popup:org.eclipse.ui.popup.any?after=additions">
+ <command
+ commandId="org.eclipse.papyrus.infra.extendedtypes.deploy"
+ icon="icons/configuration.gif"
+ style="push">
+ <visibleWhen
+ checkEnabled="false">
+ <with
+ variable="selection">
+ <iterate
+ ifEmpty="false"
+ operator="and">
+ <adapt
+ type="org.eclipse.core.resources.IFile">
+ <or>
+ <test
+ property="org.eclipse.core.resources.extension"
+ value="extendedtypes">
+ </test>
+ </or>
+ </adapt>
+ </iterate>
+ </with>
+ </visibleWhen>
+ </command>
+ <command
+ commandId="org.eclipse.papyrus.infra.extendedtypes.undeploy"
+ icon="icons/configuration.gif"
+ style="push">
+ <visibleWhen
+ checkEnabled="false">
+ <with
+ variable="selection">
+ <iterate
+ ifEmpty="false"
+ operator="and">
+ <adapt
+ type="org.eclipse.core.resources.IFile">
+ <or>
+ <test
+ property="org.eclipse.core.resources.extension"
+ value="extendedtypes">
+ </test>
+ </or>
+ </adapt>
+ </iterate>
+ </with>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ defaultHandler="org.eclipse.papyrus.infra.extendedtypes.internal.ui.handlers.DeployExtendedTypeSetConfigurationHandler"
+ id="org.eclipse.papyrus.infra.extendedtypes.deploy"
+ name="Deploy Extended Types Set configuration">
+ </command>
+ <command
+ defaultHandler="org.eclipse.papyrus.infra.extendedtypes.internal.ui.handlers.UndeployExtendedTypeSetConfigurationHandler"
+ id="org.eclipse.papyrus.infra.extendedtypes.undeploy"
+ name="Disable Extended Types Set configuration">
+ </command>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.infra.extendedtypes.userExtendedTypes">
+ <provider
+ class="org.eclipse.papyrus.infra.extendedtypes.internal.ui.UserExtendedTypesProvider">
+ </provider>
+ </extension>
+</plugin>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/pom.xml b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/pom.xml
new file mode 100644
index 00000000000..6ade2bece4e
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.releng</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ <relativePath>../../../releng/main</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.extendedtypes.ui</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/extendedElementTypeActionProvider.exsd b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/schema/extendedElementTypeActionProvider.exsd
index 5ddeeda67ac..54f98fd52ff 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/extendedElementTypeActionProvider.exsd
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/schema/extendedElementTypeActionProvider.exsd
@@ -1,198 +1,198 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.papyrus.infra.extendedtypes" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.papyrus.infra.extendedtypes" id="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.infra.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.infra.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>
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.infra.extendedtypes.ui" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.papyrus.infra.extendedtypes.ui" 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.infra.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.infra.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/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/LogUtil.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/LogUtil.java
new file mode 100644
index 00000000000..f8c60c10ede
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/LogUtil.java
@@ -0,0 +1,33 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.extendedtypes.internal.ui;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+
+/**
+ * Logging utility.
+ */
+public class LogUtil extends LogHelper {
+
+ public static final LogHelper LOG = new LogUtil();
+
+ /**
+ * Not instantiable by clients.
+ */
+ private LogUtil() {
+ super(Platform.getBundle("org.eclipse.papyrus.infra.extendedtypes.ui")); //$NON-NLS-1$
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/UserExtendedTypesProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/UserExtendedTypesProvider.java
new file mode 100644
index 00000000000..d3cef4a6cf9
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/UserExtendedTypesProvider.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.extendedtypes.internal.ui;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.extendedtypes.internal.spi.IUserExtendedTypesProvider;
+import org.eclipse.papyrus.infra.extendedtypes.internal.ui.preferences.ExtendedTypesPreferences;
+
+/**
+ * User element-types definitions provider for compatibility with the 1.x releases.
+ */
+public class UserExtendedTypesProvider implements IUserExtendedTypesProvider {
+
+ public UserExtendedTypesProvider() {
+ super();
+ }
+
+ @Override
+ public String getExtendedTypesRedefinition(String extendedTypesID) {
+ return ExtendedTypesPreferences.getExtendedTypesRedefinition(extendedTypesID);
+ }
+
+ @Override
+ public Map<String, String> getLocalExtendedTypesDefinitions() {
+ return ExtendedTypesPreferences.getLocalExtendedTypesDefinitions();
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/runtimevalueseditionactionconfiguration/RuntimeValuesEditionActionConfigurationModelCreation.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/advice/RuntimeValuesEditionActionConfigurationModelCreation.java
index 517ac9a15f3..bb1504f8d86 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/runtimevalueseditionactionconfiguration/RuntimeValuesEditionActionConfigurationModelCreation.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/advice/RuntimeValuesEditionActionConfigurationModelCreation.java
@@ -10,9 +10,11 @@
* Remi Schnekenburger (CEA LIST) - Initial API and implementation
*
*****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.emf.runtimevalueseditionactionconfiguration;
+package org.eclipse.papyrus.infra.extendedtypes.internal.ui.advice;
import org.eclipse.papyrus.infra.extendedtypes.IActionConfigurationModelCreation;
+import org.eclipse.papyrus.infra.extendedtypes.emf.runtimevalueseditionactionconfiguration.RuntimeValuesEditionActionConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.emf.runtimevalueseditionactionconfiguration.RuntimeValuesEditionActionConfigurationFactory;
import org.eclipse.papyrus.infra.extendedtypes.emf.setvaluesactionconfiguration.SetValuesActionConfiguration;
/**
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/runtimevalueseditionactionconfiguration/RuntimeValuesEditionActionCreationElementValidator.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/advice/RuntimeValuesEditionActionCreationElementValidator.java
index a7903b169fd..720166b8a16 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/runtimevalueseditionactionconfiguration/RuntimeValuesEditionActionCreationElementValidator.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/advice/RuntimeValuesEditionActionCreationElementValidator.java
@@ -10,11 +10,12 @@
* Remi Schnekenburger (CEA LIST) - Initial API and implementation
*
*****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.emf.runtimevalueseditionactionconfiguration;
+package org.eclipse.papyrus.infra.extendedtypes.internal.ui.advice;
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
import org.eclipse.papyrus.infra.extendedtypes.IActionCreationElementValidator;
import org.eclipse.papyrus.infra.extendedtypes.ICreationElementValidator;
+import org.eclipse.papyrus.infra.extendedtypes.emf.runtimevalueseditionactionconfiguration.RuntimeValuesEditionActionConfiguration;
import org.eclipse.papyrus.infra.extendedtypes.emf.setvaluesactionconfiguration.SetValuesActionConfiguration;
/**
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/runtimevalueseditionactionconfiguration/RuntimeValuesEditionActionEditHelperAdvice.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/advice/RuntimeValuesEditionActionEditHelperAdvice.java
index 5dfe294d9f2..89c0ae22a2b 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/runtimevalueseditionactionconfiguration/RuntimeValuesEditionActionEditHelperAdvice.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/advice/RuntimeValuesEditionActionEditHelperAdvice.java
@@ -1,140 +1,142 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.emf.runtimevalueseditionactionconfiguration;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
-import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
-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.IEditCommandRequest;
-import org.eclipse.papyrus.infra.extendedtypes.IActionEditHelperAdvice;
-import org.eclipse.papyrus.infra.extendedtypes.emf.setvaluesactionconfiguration.SetValuesActionConfiguration;
-import org.eclipse.papyrus.views.properties.contexts.View;
-import org.eclipse.papyrus.views.properties.creation.EditionDialog;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * advice for the {@link SetValuesActionConfiguration}
- */
-public class RuntimeValuesEditionActionEditHelperAdvice extends AbstractEditHelperAdvice implements IActionEditHelperAdvice<RuntimeValuesEditionActionConfiguration> {
-
- /** list of views to display */
- protected Set<View> viewsToDisplay;
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void init(RuntimeValuesEditionActionConfiguration configuration) {
- viewsToDisplay = new HashSet<View>();
- for (ViewToDisplay display : configuration.getViewsToDisplay()) {
- View view = display.getView();
- if (view != null) {
- viewsToDisplay.add(view);
- }
- }
- }
-
- /**
- * Default Constructor
- */
- public RuntimeValuesEditionActionEditHelperAdvice() {
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean approveRequest(IEditCommandRequest request) {
- return super.approveRequest(request);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected ICommand getBeforeCreateCommand(CreateElementRequest request) {
- return super.getBeforeCreateCommand(request);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected ICommand getAfterCreateCommand(CreateElementRequest request) {
- return super.getAfterCreateCommand(request);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected ICommand getBeforeConfigureCommand(ConfigureRequest request) {
- return super.getBeforeConfigureCommand(request);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected ICommand getAfterConfigureCommand(final ConfigureRequest request) {
- final EObject elementToConfigure = request.getElementToConfigure();
- if (elementToConfigure == null) {
- return null;
- }
-
- return new AbstractTransactionalCommand(request.getEditingDomain(), "Editing " + EMFCoreUtil.getName(elementToConfigure), Collections.singletonList(WorkspaceSynchronizer.getFile((elementToConfigure.eResource())))) {
- /**
- * {@inheritDoc}
- */
- @Override
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
- Set<View> viewsToDisplay = getViewsToDisplay();
- if (!viewsToDisplay.isEmpty()) {
- EditionDialog dialog = new EditionDialog(Display.getCurrent().getActiveShell()) {
-
- };
- dialog.setTitle("Edit " + EMFCoreUtil.getName(elementToConfigure));
- dialog.setViews(viewsToDisplay);
- dialog.setInput(elementToConfigure);
-
- dialog.open();
- }
-
- return CommandResult.newOKCommandResult(elementToConfigure);
- }
- };
-
- }
-
-
- /**
- * @return the viewsToDisplay
- */
- public Set<View> getViewsToDisplay() {
- return viewsToDisplay;
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.internal.ui.advice;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
+import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
+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.IEditCommandRequest;
+import org.eclipse.papyrus.infra.extendedtypes.IActionEditHelperAdvice;
+import org.eclipse.papyrus.infra.extendedtypes.emf.runtimevalueseditionactionconfiguration.RuntimeValuesEditionActionConfiguration;
+import org.eclipse.papyrus.infra.extendedtypes.emf.runtimevalueseditionactionconfiguration.ViewToDisplay;
+import org.eclipse.papyrus.infra.extendedtypes.emf.setvaluesactionconfiguration.SetValuesActionConfiguration;
+import org.eclipse.papyrus.views.properties.contexts.View;
+import org.eclipse.papyrus.views.properties.creation.EditionDialog;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * advice for the {@link SetValuesActionConfiguration}
+ */
+public class RuntimeValuesEditionActionEditHelperAdvice extends AbstractEditHelperAdvice implements IActionEditHelperAdvice<RuntimeValuesEditionActionConfiguration> {
+
+ /** list of views to display */
+ protected Set<View> viewsToDisplay;
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void init(RuntimeValuesEditionActionConfiguration configuration) {
+ viewsToDisplay = new HashSet<View>();
+ for (ViewToDisplay display : configuration.getViewsToDisplay()) {
+ View view = display.getView();
+ if (view != null) {
+ viewsToDisplay.add(view);
+ }
+ }
+ }
+
+ /**
+ * Default Constructor
+ */
+ public RuntimeValuesEditionActionEditHelperAdvice() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean approveRequest(IEditCommandRequest request) {
+ return super.approveRequest(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getBeforeCreateCommand(CreateElementRequest request) {
+ return super.getBeforeCreateCommand(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getAfterCreateCommand(CreateElementRequest request) {
+ return super.getAfterCreateCommand(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getBeforeConfigureCommand(ConfigureRequest request) {
+ return super.getBeforeConfigureCommand(request);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected ICommand getAfterConfigureCommand(final ConfigureRequest request) {
+ final EObject elementToConfigure = request.getElementToConfigure();
+ if (elementToConfigure == null) {
+ return null;
+ }
+
+ return new AbstractTransactionalCommand(request.getEditingDomain(), "Editing " + EMFCoreUtil.getName(elementToConfigure), Collections.singletonList(WorkspaceSynchronizer.getFile((elementToConfigure.eResource())))) {
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ Set<View> viewsToDisplay = getViewsToDisplay();
+ if (!viewsToDisplay.isEmpty()) {
+ EditionDialog dialog = new EditionDialog(Display.getCurrent().getActiveShell()) {
+
+ };
+ dialog.setTitle("Edit " + EMFCoreUtil.getName(elementToConfigure));
+ dialog.setViews(viewsToDisplay);
+ dialog.setInput(elementToConfigure);
+
+ dialog.open();
+ }
+
+ return CommandResult.newOKCommandResult(elementToConfigure);
+ }
+ };
+
+ }
+
+
+ /**
+ * @return the viewsToDisplay
+ */
+ public Set<View> getViewsToDisplay() {
+ return viewsToDisplay;
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/handler/DeployExtendedTypeSetConfigurationHandler.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/handlers/DeployExtendedTypeSetConfigurationHandler.java
index 2b77c976537..502e1d0b5cc 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/handler/DeployExtendedTypeSetConfigurationHandler.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/handlers/DeployExtendedTypeSetConfigurationHandler.java
@@ -10,7 +10,7 @@
* Remi Schnekenburger (CEA LIST) - Initial API and implementation
*
*****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.handler;
+package org.eclipse.papyrus.infra.extendedtypes.internal.ui.handlers;
import java.util.Iterator;
@@ -33,7 +33,7 @@ import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.papyrus.infra.extendedtypes.Activator;
import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSetRegistry;
-import org.eclipse.papyrus.infra.extendedtypes.preferences.ExtendedTypesPreferences;
+import org.eclipse.papyrus.infra.extendedtypes.internal.ui.preferences.ExtendedTypesPreferences;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.ui.statushandlers.StatusManager;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/handler/UndeployExtendedTypeSetConfigurationHandler.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/handlers/UndeployExtendedTypeSetConfigurationHandler.java
index 0adf047882f..efdaf143c40 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/handler/UndeployExtendedTypeSetConfigurationHandler.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/handlers/UndeployExtendedTypeSetConfigurationHandler.java
@@ -10,7 +10,7 @@
* Remi Schnekenburger (CEA LIST) - Initial API and implementation
*
*****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.handler;
+package org.eclipse.papyrus.infra.extendedtypes.internal.ui.handlers;
import java.util.Iterator;
@@ -32,7 +32,7 @@ import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.papyrus.infra.extendedtypes.Activator;
import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeSetRegistry;
-import org.eclipse.papyrus.infra.extendedtypes.preferences.ExtendedTypesPreferences;
+import org.eclipse.papyrus.infra.extendedtypes.internal.ui.preferences.ExtendedTypesPreferences;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.ui.statushandlers.StatusManager;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/preferences/ExtendedTypesPreferences.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/preferences/ExtendedTypesPreferences.java
index 3d07126e089..24019b61961 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/preferences/ExtendedTypesPreferences.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/internal/ui/preferences/ExtendedTypesPreferences.java
@@ -1,6 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
+ * Copyright (c) 2010, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -9,9 +8,10 @@
*
* Contributors:
* Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 485220
*
*****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.preferences;
+package org.eclipse.papyrus.infra.extendedtypes.internal.ui.preferences;
import java.io.IOException;
import java.io.StringReader;
@@ -19,11 +19,13 @@ import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;
+import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.extendedtypes.Activator;
+import org.eclipse.papyrus.infra.extendedtypes.internal.ui.LogUtil;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.WorkbenchException;
import org.eclipse.ui.XMLMemento;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
/**
* Preferences management for extended types
@@ -44,13 +46,20 @@ public class ExtendedTypesPreferences {
/** name for the field giving the path to the XML file */
public final static String PATH = "path"; //$NON-NLS-1$
+ private static IPreferenceStore preferences;
+
/**
- * Returns the preference store used to store extended types preferences.
+ * Returns the preference store used to store elementTypes preferences.
*
* @return the preference store of the plugin
*/
- protected static IPreferenceStore getPreferenceStore() {
- return Activator.getDefault().getPreferenceStore();
+ protected synchronized static IPreferenceStore getPreferenceStore() {
+ if (preferences == null) {
+ preferences = new ScopedPreferenceStore(InstanceScope.INSTANCE,
+ org.eclipse.papyrus.infra.extendedtypes.Activator.PLUGIN_ID);
+ }
+
+ return preferences;
}
/**
@@ -69,7 +78,7 @@ public class ExtendedTypesPreferences {
return XMLMemento.createWriteRoot(EXTENDED_TYPES_REDEFINITIONS);
}
} catch (WorkbenchException e) {
- Activator.log.error("Impossible to read preferences for extended types local redefinitions", e);
+ LogUtil.LOG.error("Impossible to read preferences for extended types local redefinitions", e);
}
return null;
}
@@ -162,7 +171,7 @@ public class ExtendedTypesPreferences {
*/
public static String getExtendedTypesRedefinition(String extendedTypesID) {
if (extendedTypesID == null) {
- Activator.log.debug("Trying to find preferences for a null extended type set identifier");
+ LogUtil.LOG.debug("Trying to find preferences for a null extended type set identifier");
}
IMemento memento = getExtendedTypesRedefinitionNode(extendedTypesID);
if (memento != null) {
@@ -235,7 +244,7 @@ public class ExtendedTypesPreferences {
getPreferenceStore().setValue(key, writer.toString());
}
} catch (IOException e) {
- Activator.log.error("input/ouput exception", e);
+ LogUtil.LOG.error("input/ouput exception", e);
}
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ExtendedElementTypeActionService.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/ExtendedElementTypeActionService.java
index 2d991ee9c4a..76adba425eb 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ExtendedElementTypeActionService.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/ExtendedElementTypeActionService.java
@@ -9,7 +9,7 @@
* Contributors:
* Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.providers;
+package org.eclipse.papyrus.infra.extendedtypes.ui.providers;
import java.util.ArrayList;
import java.util.Iterator;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ExtentedElementTypeActionProviderConfiguration.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/ExtentedElementTypeActionProviderConfiguration.java
index 5c0bb334e56..0ead8f19736 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ExtentedElementTypeActionProviderConfiguration.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/ExtentedElementTypeActionProviderConfiguration.java
@@ -9,7 +9,7 @@
* Contributors:
* Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.providers;
+package org.eclipse.papyrus.infra.extendedtypes.ui.providers;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.IConfigurationElement;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/GetAllExtendedElementTypeActionProvidersOperation.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/GetAllExtendedElementTypeActionProvidersOperation.java
index c4bde78e783..1d2a6ef5297 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/GetAllExtendedElementTypeActionProvidersOperation.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/GetAllExtendedElementTypeActionProvidersOperation.java
@@ -9,7 +9,7 @@
* Contributors:
* Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.providers;
+package org.eclipse.papyrus.infra.extendedtypes.ui.providers;
import java.util.List;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/GetExtendedElementTypeActionProviderOperation.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/GetExtendedElementTypeActionProviderOperation.java
index e2498fe4564..8345661b35f 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/GetExtendedElementTypeActionProviderOperation.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/GetExtendedElementTypeActionProviderOperation.java
@@ -9,7 +9,7 @@
* Contributors:
* Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.providers;
+package org.eclipse.papyrus.infra.extendedtypes.ui.providers;
import org.eclipse.gmf.runtime.common.core.service.IOperation;
import org.eclipse.gmf.runtime.common.core.service.IProvider;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/IExtendedElementTypeActionProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/IExtendedElementTypeActionProvider.java
index ef5cd74870e..0fdaf5162f2 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/IExtendedElementTypeActionProvider.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/IExtendedElementTypeActionProvider.java
@@ -9,7 +9,7 @@
* Contributors:
* Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.providers;
+package org.eclipse.papyrus.infra.extendedtypes.ui.providers;
import java.util.List;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ProviderNotFoundException.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/ProviderNotFoundException.java
index b1ebded1443..5d3657a2b55 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/providers/ProviderNotFoundException.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.ui/src/org/eclipse/papyrus/infra/extendedtypes/ui/providers/ProviderNotFoundException.java
@@ -9,7 +9,7 @@
* Contributors:
* Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.providers;
+package org.eclipse.papyrus.infra.extendedtypes.ui.providers;
import org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.classpath b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.classpath
index 756f4289006..50aae142c50 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.classpath
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.classpath
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src-gen"/>
<classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.settings/org.eclipse.jdt.core.prefs
index 4759947300a..62a08f4494d 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
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.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/META-INF/MANIFEST.MF
index 10c826400b9..7d4781596c9 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/META-INF/MANIFEST.MF
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/META-INF/MANIFEST.MF
@@ -1,26 +1,20 @@
Manifest-Version: 1.0
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.ui;bundle-version="3.7.0",
org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.9.0",
org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.gmf.runtime.common.ui.services;bundle-version="1.3.0",
org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
org.eclipse.papyrus.infra.services.edit;bundle-version="1.2.0",
org.eclipse.papyrus.infra.elementtypesconfigurations;bundle-version="1.2.0"
Export-Package: org.eclipse.papyrus.infra.extendedtypes,
org.eclipse.papyrus.infra.extendedtypes.advices,
- org.eclipse.papyrus.infra.extendedtypes.handler,
org.eclipse.papyrus.infra.extendedtypes.impl,
+ org.eclipse.papyrus.infra.extendedtypes.internal.spi;x-friends:="org.eclipse.papyrus.infra.extendedtypes.ui",
org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration,
org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.impl,
org.eclipse.papyrus.infra.extendedtypes.invariantcontainerconfiguration.util,
org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration,
org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.impl,
org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration.util,
- org.eclipse.papyrus.infra.extendedtypes.preferences,
- org.eclipse.papyrus.infra.extendedtypes.providers,
org.eclipse.papyrus.infra.extendedtypes.semantic,
org.eclipse.papyrus.infra.extendedtypes.types,
org.eclipse.papyrus.infra.extendedtypes.util
@@ -33,4 +27,4 @@ Bundle-Name: %pluginName
Bundle-Activator: org.eclipse.papyrus.infra.extendedtypes.Activator
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.papyrus.infra.extendedtypes;singleton:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/build.properties b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/build.properties
index 0fcee5a52b8..9e8f4164078 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/build.properties
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/build.properties
@@ -7,8 +7,7 @@ bin.includes = .,\
plugin.xml,\
plugin.properties,\
schema/,\
- about.html,\
- icons/
+ about.html
jars.compile.order=.
src.includes = about.html
source.. = src-gen/,\
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/plugin.xml b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/plugin.xml
index dcd66e2b8f5..43bc21c42d9 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/plugin.xml
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/plugin.xml
@@ -10,11 +10,12 @@
<plugin>
<extension-point id="extendedElementTypeSet" name="ExtendedElementTypeSet Configuration Model" schema="schema/extendedElementTypeSet.exsd"/>
- <extension-point id="extendedElementTypeActionProvider" name="Extended Element Type Action Provider" schema="schema/extendedElementTypeActionProvider.exsd"/>
<extension-point id="extendedTypeConfiguration" name="extended type configuration" schema="schema/extendedTypeConfiguration.exsd"/>
<extension-point id="invariantRule" name="Invariant Rule Extension Point" schema="schema/invariantRule.exsd"/>
<extension-point id="elementMatcherConfiguration" name="Element Macher Configuration" schema="schema/elementMatcherConfiguration.exsd"/>
<extension-point id="aspectActionConfiguration" name="Aspect Action Configuration" schema="schema/aspectActionConfiguration.exsd"/>
+ <extension-point id="userExtendedTypes" name="User Extended Types Definitions" schema="schema/userExtendedTypes.exsd"/>
+
<extension point="org.eclipse.emf.ecore.generated_package">
<!-- @generated InvariantSemanticTypeConfiguration -->
<package
@@ -125,74 +126,6 @@
</binding>
</extension>
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.ui.popup.any?after=additions">
- <command
- commandId="org.eclipse.papyrus.infra.extendedtypes.deploy"
- icon="icons/configuration.gif"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <adapt
- type="org.eclipse.core.resources.IFile">
- <or>
- <test
- property="org.eclipse.core.resources.extension"
- value="extendedtypes">
- </test>
- </or>
- </adapt>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.papyrus.infra.extendedtypes.undeploy"
- icon="icons/configuration.gif"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <adapt
- type="org.eclipse.core.resources.IFile">
- <or>
- <test
- property="org.eclipse.core.resources.extension"
- value="extendedtypes">
- </test>
- </or>
- </adapt>
- </iterate>
- </with>
- </visibleWhen>
- </command>
-</menuContribution>
- </extension>
- <extension
- point="org.eclipse.ui.commands">
- <command
- defaultHandler="org.eclipse.papyrus.infra.extendedtypes.handler.DeployExtendedTypeSetConfigurationHandler"
- id="org.eclipse.papyrus.infra.extendedtypes.deploy"
- name="Deploy Extended Types Set configuration">
- </command>
- <command
- defaultHandler="org.eclipse.papyrus.infra.extendedtypes.handler.UndeployExtendedTypeSetConfigurationHandler"
- id="org.eclipse.papyrus.infra.extendedtypes.undeploy"
- name="Disable Extended Types Set configuration">
- </command>
- </extension>
<extension
point="org.eclipse.papyrus.infra.extendedtypes.extendedTypeConfiguration">
<configuration
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/userExtendedTypes.exsd b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/userExtendedTypes.exsd
new file mode 100644
index 00000000000..2ef22bd14e0
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/userExtendedTypes.exsd
@@ -0,0 +1,100 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.infra.elementtypesconfigurations" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.papyrus.infra.elementtypesconfigurations" id="userExtendedTypes" name="User Extended Type Definitions"/>
+ </appInfo>
+ <documentation>
+ &lt;p&gt;
+This extension point is used to register providers of user-defined extended types.
+&lt;/p&gt;&lt;p&gt;
+&lt;b&gt;Note&lt;/b&gt; that this extension point is intended for internal use within the Papyrus
+extended-types framework only.
+&lt;/p&gt;
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="provider" minOccurs="1" maxOccurs="unbounded"/>
+ </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="provider">
+ <complexType>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.extendedtypes.internal.spi.IUserExtendedTypesProvider"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ 2.0
+ </documentation>
+ </annotation>
+
+
+
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.&lt;br/&gt;
+&lt;br/&gt;
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License
+v1.0 which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html&lt;br/&gt;
+&lt;br/&gt;
+Contributors:&lt;br/&gt;
+&amp;nbsp;&amp;nbsp;CEA LIST - initial API and implementation&lt;br/&gt;
+&amp;nbsp;&amp;nbsp;Christian W. Damus - bug 485220&lt;br/&gt;
+ </documentation>
+ </annotation>
+
+</schema>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/Activator.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/Activator.java
index 8e6c13ddc9b..ba4815c1708 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/Activator.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/Activator.java
@@ -1,6 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
- *
+ * Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -9,17 +8,19 @@
*
* Contributors:
* Patrick Tessier (CEA LIST) - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
/*****************************************************************************/
package org.eclipse.papyrus.infra.extendedtypes;
+import org.eclipse.core.runtime.Plugin;
import org.eclipse.papyrus.infra.core.log.LogHelper;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
-public class Activator extends AbstractUIPlugin {
+public class Activator extends Plugin {
// The plug-in ID
public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.extendedtypes"; //$NON-NLS-1$
@@ -36,11 +37,6 @@ public class Activator extends AbstractUIPlugin {
public Activator() {
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
@@ -48,11 +44,6 @@ public class Activator extends AbstractUIPlugin {
log = new LogHelper(this);
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
@Override
public void stop(BundleContext context) throws Exception {
log = null;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/AspectConfigurationFactoryRegistry.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/AspectConfigurationFactoryRegistry.java
index cb2fa65454e..c8561cccb9b 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/AspectConfigurationFactoryRegistry.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/AspectConfigurationFactoryRegistry.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
+ * Copyright (c) 2013, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,24 +8,20 @@
*
* Contributors:
* Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ * Christian W. Damus - bug 485220
*
*****************************************************************************/
package org.eclipse.papyrus.infra.extendedtypes;
-import java.lang.ref.WeakReference;
-import java.util.Collections;
-import java.util.Dictionary;
+import static org.eclipse.papyrus.infra.extendedtypes.util.InternalUtils.loadClass;
+
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.Platform;
import org.eclipse.gmf.runtime.emf.type.core.IContainerDescriptor;
import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
-import org.osgi.framework.Bundle;
/**
* Registry that manages all possible pre/post action configurations
@@ -274,116 +270,4 @@ public class AspectConfigurationFactoryRegistry {
}
- // /////////////////////////////////////////////////////////////////////////
- // loading resource
- // /////////////////////////////////////////////////////////////////////////
- /** A map of classes that have been successfully loaded, keyed on the class name optionally prepended by the plugin ID, if specified. */
- private static Map<String, WeakReference<Class<?>>> successLookupTable = new HashMap<String, WeakReference<Class<?>>>();
-
- /** A map of classes that could not be loaded, keyed on the class name, optionally prepended by the plugin ID if specified. */
- private static Set<String> failureLookupTable = new HashSet<String>();
-
- /** A map to hold the bundle to exception list */
- private static Map<Bundle, Set<String>> bundleToExceptionsSetMap = new HashMap<Bundle, Set<String>>();
-
- /**
- * A utility method to load a class using its name and a given class loader.
- *
- * @param className
- * The class name
- * @param bundle
- * The class loader
- * @return The loaded class or <code>null</code> if could not be loaded
- */
- protected static Class<?> loadClass(String className, String pluginId) {
- StringBuffer keyStringBuf = new StringBuffer(className.length() + pluginId.length() + 2); // 2 is for . and extra.
- keyStringBuf.append(pluginId);
- keyStringBuf.append('.');
- keyStringBuf.append(className);
- String keyString = keyStringBuf.toString();
- WeakReference<Class<?>> ref = successLookupTable.get(keyString);
- Class<?> found = (ref != null) ? ref.get() : null;
- if (found == null) {
- if (ref != null) {
- successLookupTable.remove(keyString);
- }
- if (!failureLookupTable.contains(keyString)) {
- try {
- Bundle bundle = basicGetPluginBundle(pluginId);
- if (bundle != null) {
- // never load the class if the bundle is not active other wise
- // we will cause the plugin to load
- // unless the class is in the exception list
- int state = bundle.getState();
- if (state == org.osgi.framework.Bundle.ACTIVE || isInExceptionList(bundle, className)) {
- found = bundle.loadClass(className);
- successLookupTable.put(keyString, new WeakReference<Class<?>>(found));
- if (state == org.osgi.framework.Bundle.ACTIVE) {
- bundleToExceptionsSetMap.remove(bundle);
- }
- }
- } else {
- failureLookupTable.add(keyString);
- }
- } catch (ClassNotFoundException e) {
- failureLookupTable.add(keyString);
- }
- }
- }
- return found;
- }
-
- /**
- * Given a bundle id, it checks if the bundle is found and activated. If it
- * is, the method returns the bundle, otherwise it returns <code>null</code>.
- *
- * @param pluginId
- * the bundle ID
- * @return the bundle, if found
- */
- protected static Bundle getPluginBundle(String pluginId) {
- Bundle bundle = basicGetPluginBundle(pluginId);
- if (null != bundle && bundle.getState() == org.osgi.framework.Bundle.ACTIVE) {
- return bundle;
- }
- return null;
- }
-
- private static Bundle basicGetPluginBundle(String pluginId) {
- return Platform.getBundle(pluginId);
- }
-
- private static boolean isInExceptionList(Bundle bundle, String className) {
- String packageName = className.substring(0, className.lastIndexOf('.'));
- Set<String> exceptionSet = bundleToExceptionsSetMap.get(bundle);
- if (exceptionSet == null) {
- Dictionary<String, String> dict = bundle.getHeaders();
- String value = dict.get("Eclipse-LazyStart"); //$NON-NLS-1$
- if (value != null) {
- int index = value.indexOf("exceptions"); //$NON-NLS-1$
- if (index != -1) {
- try {
- int start = value.indexOf('"', index + 1);
- int end = value.indexOf('"', start + 1);
- String exceptions = value.substring(start + 1, end);
- exceptionSet = new HashSet<String>(2);
- StringTokenizer tokenizer = new StringTokenizer(exceptions, ","); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens()) {
- exceptionSet.add(tokenizer.nextToken().trim());
- }
- } catch (IndexOutOfBoundsException exception) {
- // this means the MF did not follow the documented format for the exceptions list so i'll consider it empty
- exceptionSet = Collections.emptySet();
- }
- } else {
- exceptionSet = Collections.emptySet();
- }
- } else {
- exceptionSet = Collections.emptySet();
- }
- bundleToExceptionsSetMap.put(bundle, exceptionSet);
- }
- return exceptionSet.contains(packageName);
- }
-
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ConfigurableElementMatcherFactoryRegistry.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ConfigurableElementMatcherFactoryRegistry.java
index 7f132f6c225..22fec1b1ebe 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ConfigurableElementMatcherFactoryRegistry.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ConfigurableElementMatcherFactoryRegistry.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
+ * Copyright (c) 2013, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,25 +8,21 @@
*
* Contributors:
* Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ * Christian W. Damus - bug 485220
*
*****************************************************************************/
package org.eclipse.papyrus.infra.extendedtypes;
-import java.lang.ref.WeakReference;
+import static org.eclipse.papyrus.infra.extendedtypes.util.InternalUtils.loadClass;
+
import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Dictionary;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.Platform;
import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
-import org.osgi.framework.Bundle;
/**
* Registry for all element matcher factories for element matcher based on {@link MatcherConfiguration}.
@@ -133,116 +129,4 @@ public class ConfigurableElementMatcherFactoryRegistry {
}
return null;
}
-
- // /////////////////////////////////////////////////////////////////////////
- // loading resource
- // /////////////////////////////////////////////////////////////////////////
- /** A map of classes that have been successfully loaded, keyed on the class name optionally prepended by the plugin ID, if specified. */
- private static Map<String, WeakReference<Class<?>>> successLookupTable = new HashMap<String, WeakReference<Class<?>>>();
-
- /** A map of classes that could not be loaded, keyed on the class name, optionally prepended by the plugin ID if specified. */
- private static Set<String> failureLookupTable = new HashSet<String>();
-
- /** A map to hold the bundle to exception list */
- private static Map<Bundle, Set<String>> bundleToExceptionsSetMap = new HashMap<Bundle, Set<String>>();
-
- /**
- * A utility method to load a class using its name and a given class loader.
- *
- * @param className
- * The class name
- * @param bundle
- * The class loader
- * @return The loaded class or <code>null</code> if could not be loaded
- */
- protected static Class<?> loadClass(String className, String pluginId) {
- StringBuffer keyStringBuf = new StringBuffer(className.length() + pluginId.length() + 2); // 2 is for . and extra.
- keyStringBuf.append(pluginId);
- keyStringBuf.append('.');
- keyStringBuf.append(className);
- String keyString = keyStringBuf.toString();
- WeakReference<Class<?>> ref = successLookupTable.get(keyString);
- Class<?> found = (ref != null) ? ref.get() : null;
- if (found == null) {
- if (ref != null) {
- successLookupTable.remove(keyString);
- }
- if (!failureLookupTable.contains(keyString)) {
- try {
- Bundle bundle = basicGetPluginBundle(pluginId);
- if (bundle != null) {
- // never load the class if the bundle is not active other wise
- // we will cause the plugin to load
- // unless the class is in the exception list
- int state = bundle.getState();
- if (state == org.osgi.framework.Bundle.ACTIVE || isInExceptionList(bundle, className)) {
- found = bundle.loadClass(className);
- successLookupTable.put(keyString, new WeakReference<Class<?>>(found));
- if (state == org.osgi.framework.Bundle.ACTIVE) {
- bundleToExceptionsSetMap.remove(bundle);
- }
- }
- } else {
- failureLookupTable.add(keyString);
- }
- } catch (ClassNotFoundException e) {
- failureLookupTable.add(keyString);
- }
- }
- }
- return found;
- }
-
- /**
- * Given a bundle id, it checks if the bundle is found and activated. If it
- * is, the method returns the bundle, otherwise it returns <code>null</code>.
- *
- * @param pluginId
- * the bundle ID
- * @return the bundle, if found
- */
- protected static Bundle getPluginBundle(String pluginId) {
- Bundle bundle = basicGetPluginBundle(pluginId);
- if (null != bundle && bundle.getState() == org.osgi.framework.Bundle.ACTIVE) {
- return bundle;
- }
- return null;
- }
-
- private static Bundle basicGetPluginBundle(String pluginId) {
- return Platform.getBundle(pluginId);
- }
-
- private static boolean isInExceptionList(Bundle bundle, String className) {
- String packageName = className.substring(0, className.lastIndexOf('.'));
- Set<String> exceptionSet = bundleToExceptionsSetMap.get(bundle);
- if (exceptionSet == null) {
- Dictionary<String, String> dict = bundle.getHeaders();
- String value = dict.get("Eclipse-LazyStart"); //$NON-NLS-1$
- if (value != null) {
- int index = value.indexOf("exceptions"); //$NON-NLS-1$
- if (index != -1) {
- try {
- int start = value.indexOf('"', index + 1);
- int end = value.indexOf('"', start + 1);
- String exceptions = value.substring(start + 1, end);
- exceptionSet = new HashSet<String>(2);
- StringTokenizer tokenizer = new StringTokenizer(exceptions, ","); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens()) {
- exceptionSet.add(tokenizer.nextToken().trim());
- }
- } catch (IndexOutOfBoundsException exception) {
- // this means the MF did not follow the documented format for the exceptions list so i'll consider it empty
- exceptionSet = Collections.emptySet();
- }
- } else {
- exceptionSet = Collections.emptySet();
- }
- } else {
- exceptionSet = Collections.emptySet();
- }
- bundleToExceptionsSetMap.put(bundle, exceptionSet);
- }
- return exceptionSet.contains(packageName);
- }
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSetRegistry.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSetRegistry.java
index 8c2dc378506..0c2aa4964ec 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSetRegistry.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/ExtendedElementTypeSetRegistry.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2013, 2015 CEA LIST, Christian W. Damus, and others.
+ * Copyright (c) 2013, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,24 +8,20 @@
*
* Contributors:
* Remi Schnekenburger (CEA LIST) - Initial API and implementation
- * Christian W. Damus - bug 459174
- * Christian W. Damus - bug 459825
+ * Christian W. Damus - bugs 459174, 459825, 485220
*
*****************************************************************************/
package org.eclipse.papyrus.infra.extendedtypes;
+import static org.eclipse.papyrus.infra.extendedtypes.util.InternalUtils.loadClass;
+
import java.io.IOException;
-import java.lang.ref.WeakReference;
import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Dictionary;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
-import java.util.StringTokenizer;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IPath;
@@ -43,7 +39,6 @@ import org.eclipse.gmf.runtime.emf.type.core.internal.descriptors.IEditHelperAdv
import org.eclipse.gmf.runtime.emf.type.core.internal.impl.SpecializationTypeRegistry;
import org.eclipse.papyrus.infra.core.services.ServiceException;
import org.eclipse.papyrus.infra.elementtypesconfigurations.registries.ElementTypeSetConfigurationRegistry;
-import org.eclipse.papyrus.infra.extendedtypes.preferences.ExtendedTypesPreferences;
import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
import org.eclipse.papyrus.infra.services.edit.internal.context.TypeContext;
import org.osgi.framework.Bundle;
@@ -131,7 +126,7 @@ public class ExtendedElementTypeSetRegistry {
}
// retrieve the path from the identifier
- String path = ExtendedTypesPreferences.getLocalExtendedTypesDefinitions().get(identifier);
+ String path = UserExtendedTypesRegistry.getInstance().getLocalExtendedTypesDefinitions().get(identifier);
if (path == null) {
return;
}
@@ -312,7 +307,7 @@ public class ExtendedElementTypeSetRegistry {
* @return
*/
protected Map<String, ExtendedElementTypeSet> loadExtendedTypeSetsFromWorkspace() {
- Map<String, String> localFilesPath = ExtendedTypesPreferences.getLocalExtendedTypesDefinitions();
+ Map<String, String> localFilesPath = UserExtendedTypesRegistry.getInstance().getLocalExtendedTypesDefinitions();
Map<String, ExtendedElementTypeSet> workspaceElementTypeSets = new HashMap<String, ExtendedElementTypeSet>();
if (localFilesPath != null && !localFilesPath.isEmpty()) {
for (Entry<String, String> idToPath : localFilesPath.entrySet()) {
@@ -381,7 +376,7 @@ public class ExtendedElementTypeSetRegistry {
*/
protected ExtendedElementTypeSet getExtendedElementTypeSet(String extendedTypesID, String modelPath, String bundleId) {
// 1. look in preferences.
- String filePath = ExtendedTypesPreferences.getExtendedTypesRedefinition(extendedTypesID);
+ String filePath = UserExtendedTypesRegistry.getInstance().getExtendedTypesRedefinition(extendedTypesID);
if (filePath != null) {
getExtendedElementTypeSetInPluginStateArea(extendedTypesID);
}
@@ -467,118 +462,6 @@ public class ExtendedElementTypeSetRegistry {
return set;
}
- // /////////////////////////////////////////////////////////////////////////
- // loading resource
- // /////////////////////////////////////////////////////////////////////////
- /** A map of classes that have been successfully loaded, keyed on the class name optionally prepended by the plugin ID, if specified. */
- private static Map<String, WeakReference<Class<?>>> successLookupTable = new HashMap<String, WeakReference<Class<?>>>();
-
- /** A map of classes that could not be loaded, keyed on the class name, optionally prepended by the plugin ID if specified. */
- private static Set<String> failureLookupTable = new HashSet<String>();
-
- /** A map to hold the bundle to exception list */
- private static Map<Bundle, Set<String>> bundleToExceptionsSetMap = new HashMap<Bundle, Set<String>>();
-
- /**
- * A utility method to load a class using its name and a given class loader.
- *
- * @param className
- * The class name
- * @param bundle
- * The class loader
- * @return The loaded class or <code>null</code> if could not be loaded
- */
- protected static Class<?> loadClass(String className, String pluginId) {
- StringBuffer keyStringBuf = new StringBuffer(className.length() + pluginId.length() + 2); // 2 is for . and extra.
- keyStringBuf.append(pluginId);
- keyStringBuf.append('.');
- keyStringBuf.append(className);
- String keyString = keyStringBuf.toString();
- WeakReference<Class<?>> ref = successLookupTable.get(keyString);
- Class<?> found = (ref != null) ? ref.get() : null;
- if (found == null) {
- if (ref != null) {
- successLookupTable.remove(keyString);
- }
- if (!failureLookupTable.contains(keyString)) {
- try {
- Bundle bundle = basicGetPluginBundle(pluginId);
- if (bundle != null) {
- // never load the class if the bundle is not active other wise
- // we will cause the plugin to load
- // unless the class is in the exception list
- int state = bundle.getState();
- if (state == org.osgi.framework.Bundle.ACTIVE || isInExceptionList(bundle, className)) {
- found = bundle.loadClass(className);
- successLookupTable.put(keyString, new WeakReference<Class<?>>(found));
- if (state == org.osgi.framework.Bundle.ACTIVE) {
- bundleToExceptionsSetMap.remove(bundle);
- }
- }
- } else {
- failureLookupTable.add(keyString);
- }
- } catch (ClassNotFoundException e) {
- failureLookupTable.add(keyString);
- }
- }
- }
- return found;
- }
-
- /**
- * Given a bundle id, it checks if the bundle is found and activated. If it
- * is, the method returns the bundle, otherwise it returns <code>null</code>.
- *
- * @param pluginId
- * the bundle ID
- * @return the bundle, if found
- */
- protected static Bundle getPluginBundle(String pluginId) {
- Bundle bundle = basicGetPluginBundle(pluginId);
- if (null != bundle && bundle.getState() == org.osgi.framework.Bundle.ACTIVE) {
- return bundle;
- }
- return null;
- }
-
- private static Bundle basicGetPluginBundle(String pluginId) {
- return Platform.getBundle(pluginId);
- }
-
- private static boolean isInExceptionList(Bundle bundle, String className) {
- String packageName = className.substring(0, className.lastIndexOf('.'));
- Set<String> exceptionSet = bundleToExceptionsSetMap.get(bundle);
- if (exceptionSet == null) {
- Dictionary<String, String> dict = bundle.getHeaders();
- String value = dict.get("Eclipse-LazyStart"); //$NON-NLS-1$
- if (value != null) {
- int index = value.indexOf("exceptions"); //$NON-NLS-1$
- if (index != -1) {
- try {
- int start = value.indexOf('"', index + 1);
- int end = value.indexOf('"', start + 1);
- String exceptions = value.substring(start + 1, end);
- exceptionSet = new HashSet<String>(2);
- StringTokenizer tokenizer = new StringTokenizer(exceptions, ","); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens()) {
- exceptionSet.add(tokenizer.nextToken().trim());
- }
- } catch (IndexOutOfBoundsException exception) {
- // this means the MF did not follow the documented format for the exceptions list so i'll consider it empty
- exceptionSet = Collections.emptySet();
- }
- } else {
- exceptionSet = Collections.emptySet();
- }
- } else {
- exceptionSet = Collections.emptySet();
- }
- bundleToExceptionsSetMap.put(bundle, exceptionSet);
- }
- return exceptionSet.contains(packageName);
- }
-
/**
* @return the extendedTypeSets
*/
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/UserExtendedTypesRegistry.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/UserExtendedTypesRegistry.java
new file mode 100644
index 00000000000..e94d7291781
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/UserExtendedTypesRegistry.java
@@ -0,0 +1,107 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.extendedtypes;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.function.Predicate;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.Activator;
+import org.eclipse.papyrus.infra.extendedtypes.internal.spi.IUserExtendedTypesProvider;
+
+/**
+ * Registry of {@link IUserExtendedTypesProvider}s.
+ */
+class UserExtendedTypesRegistry implements IUserExtendedTypesProvider {
+
+ private static final UserExtendedTypesRegistry INSTANCE = new UserExtendedTypesRegistry();
+
+ // Only should have the one in the UI bundle
+ private final List<IUserExtendedTypesProvider> providers = new ArrayList<>(1);
+
+ private UserExtendedTypesRegistry() {
+ super();
+
+ IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(Activator.PLUGIN_ID, "userExtendedTypes"); //$NON-NLS-1$
+ for (IConfigurationElement next : elements) {
+ switch (next.getName()) {
+ case "provider": //$NON-NLS-1$
+ try {
+ providers.add(createProvider(next));
+ } catch (ClassCastException e) {
+ Activator.log.error(e);
+ } catch (CoreException e) {
+ Activator.log.log(e.getStatus());
+ }
+ break;
+ }
+ }
+ }
+
+ public static UserExtendedTypesRegistry getInstance() {
+ return INSTANCE;
+ }
+
+ private IUserExtendedTypesProvider createProvider(IConfigurationElement config) throws CoreException {
+ Object result = config.createExecutableExtension("class"); //$NON-NLS-1$
+
+ if (!(result instanceof IUserExtendedTypesProvider)) {
+ throw new ClassCastException("Extension does not implement IUserExtendedTypesProvider interface in contributor " + config.getContributor().getName()); //$NON-NLS-1$
+ }
+
+ return (IUserExtendedTypesProvider) result;
+ }
+
+ @Override
+ public String getExtendedTypesRedefinition(String extendedTypesID) {
+ switch (providers.size()) {
+ case 0:
+ return null;
+ case 1:
+ return providers.get(0).getExtendedTypesRedefinition(extendedTypesID);
+ default:
+ return providers.stream()
+ .map(p -> p.getExtendedTypesRedefinition(extendedTypesID))
+ .filter(Objects::nonNull)
+ .findFirst()
+ .orElse(null);
+ }
+ }
+
+ @Override
+ public Map<String, String> getLocalExtendedTypesDefinitions() {
+ switch (providers.size()) {
+ case 0:
+ return Collections.emptyMap();
+ case 1:
+ return providers.get(0).getLocalExtendedTypesDefinitions();
+ default:
+ return providers.stream()
+ .map(IUserExtendedTypesProvider::getLocalExtendedTypesDefinitions)
+ .filter(Objects::nonNull)
+ .filter(((Predicate<? super Map<String, String>>) Map::isEmpty).negate())
+ .reduce(new HashMap<>(), (acc, elem) -> {
+ acc.putAll(elem);
+ return acc;
+ });
+ }
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/internal/spi/IUserExtendedTypesProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/internal/spi/IUserExtendedTypesProvider.java
new file mode 100644
index 00000000000..ca558417d00
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/internal/spi/IUserExtendedTypesProvider.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 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
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.extendedtypes.internal.spi;
+
+import java.util.Map;
+
+/**
+ * An extension protocol for providers of user-defined extended types models.
+ */
+public interface IUserExtendedTypesProvider {
+ /**
+ * Returns the path for a given extended type local redefinition
+ *
+ * @param extendedTypesID
+ * the unique identifier of the extended type to retrieve
+ * @return the path to the configuration of the extended types or <code>null</code> if no customization exists for this extended type
+ * configuration
+ */
+ String getExtendedTypesRedefinition(String extendedTypesID);
+
+ /**
+ * Returns all the paths in the workspace that should be an extended type set to load, with the id as a key
+ *
+ * @return
+ */
+ Map<String, String> getLocalExtendedTypesDefinitions();
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/RuleConfigurationFactoryRegistry.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/RuleConfigurationFactoryRegistry.java
index 0f217f29869..1f5c0f214f8 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/RuleConfigurationFactoryRegistry.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/invariantsemantictypeconfiguration/RuleConfigurationFactoryRegistry.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
+ * Copyright (c) 2013, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,24 +8,20 @@
*
* Contributors:
* Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ * Christian W. Damus - bug 485220
*
*****************************************************************************/
package org.eclipse.papyrus.infra.extendedtypes.invariantsemantictypeconfiguration;
-import java.lang.ref.WeakReference;
-import java.util.Collections;
-import java.util.Dictionary;
+import static org.eclipse.papyrus.infra.extendedtypes.util.InternalUtils.loadClass;
+
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.Platform;
import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
import org.eclipse.papyrus.infra.extendedtypes.Activator;
-import org.osgi.framework.Bundle;
/**
* Registry for all matcher factories.
@@ -349,112 +345,4 @@ public class RuleConfigurationFactoryRegistry {
// /////////////////////////////////////////////////////////////////////////
// loading resource
// /////////////////////////////////////////////////////////////////////////
- /** A map of classes that have been successfully loaded, keyed on the class name optionally prepended by the plugin ID, if specified. */
- private static Map<String, WeakReference<Class<?>>> successLookupTable = new HashMap<String, WeakReference<Class<?>>>();
-
- /** A map of classes that could not be loaded, keyed on the class name, optionally prepended by the plugin ID if specified. */
- private static Set<String> failureLookupTable = new HashSet<String>();
-
- /** A map to hold the bundle to exception list */
- private static Map<Bundle, Set<String>> bundleToExceptionsSetMap = new HashMap<Bundle, Set<String>>();
-
- /**
- * A utility method to load a class using its name and a given class loader.
- *
- * @param className
- * The class name
- * @param bundle
- * The class loader
- * @return The loaded class or <code>null</code> if could not be loaded
- */
- protected static Class<?> loadClass(String className, String pluginId) {
- StringBuffer keyStringBuf = new StringBuffer(className.length() + pluginId.length() + 2); // 2 is for . and extra.
- keyStringBuf.append(pluginId);
- keyStringBuf.append('.');
- keyStringBuf.append(className);
- String keyString = keyStringBuf.toString();
- WeakReference<Class<?>> ref = successLookupTable.get(keyString);
- Class<?> found = (ref != null) ? ref.get() : null;
- if (found == null) {
- if (ref != null) {
- successLookupTable.remove(keyString);
- }
- if (!failureLookupTable.contains(keyString)) {
- try {
- Bundle bundle = basicGetPluginBundle(pluginId);
- if (bundle != null) {
- // never load the class if the bundle is not active other wise
- // we will cause the plugin to load
- // unless the class is in the exception list
- int state = bundle.getState();
- if (state == org.osgi.framework.Bundle.ACTIVE || isInExceptionList(bundle, className)) {
- found = bundle.loadClass(className);
- successLookupTable.put(keyString, new WeakReference<Class<?>>(found));
- if (state == org.osgi.framework.Bundle.ACTIVE) {
- bundleToExceptionsSetMap.remove(bundle);
- }
- }
- } else {
- failureLookupTable.add(keyString);
- }
- } catch (ClassNotFoundException e) {
- failureLookupTable.add(keyString);
- }
- }
- }
- return found;
- }
-
- /**
- * Given a bundle id, it checks if the bundle is found and activated. If it
- * is, the method returns the bundle, otherwise it returns <code>null</code>.
- *
- * @param pluginId
- * the bundle ID
- * @return the bundle, if found
- */
- protected static Bundle getPluginBundle(String pluginId) {
- Bundle bundle = basicGetPluginBundle(pluginId);
- if (null != bundle && bundle.getState() == org.osgi.framework.Bundle.ACTIVE) {
- return bundle;
- }
- return null;
- }
-
- private static Bundle basicGetPluginBundle(String pluginId) {
- return Platform.getBundle(pluginId);
- }
-
- private static boolean isInExceptionList(Bundle bundle, String className) {
- String packageName = className.substring(0, className.lastIndexOf('.'));
- Set<String> exceptionSet = bundleToExceptionsSetMap.get(bundle);
- if (exceptionSet == null) {
- Dictionary<String, String> dict = bundle.getHeaders();
- String value = dict.get("Eclipse-LazyStart"); //$NON-NLS-1$
- if (value != null) {
- int index = value.indexOf("exceptions"); //$NON-NLS-1$
- if (index != -1) {
- try {
- int start = value.indexOf('"', index + 1);
- int end = value.indexOf('"', start + 1);
- String exceptions = value.substring(start + 1, end);
- exceptionSet = new HashSet<String>(2);
- StringTokenizer tokenizer = new StringTokenizer(exceptions, ","); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens()) {
- exceptionSet.add(tokenizer.nextToken().trim());
- }
- } catch (IndexOutOfBoundsException exception) {
- // this means the MF did not follow the documented format for the exceptions list so i'll consider it empty
- exceptionSet = Collections.emptySet();
- }
- } else {
- exceptionSet = Collections.emptySet();
- }
- } else {
- exceptionSet = Collections.emptySet();
- }
- bundleToExceptionsSetMap.put(bundle, exceptionSet);
- }
- return exceptionSet.contains(packageName);
- }
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/util/InternalUtils.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/util/InternalUtils.java
new file mode 100644
index 00000000000..8ae43cff4e3
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/util/InternalUtils.java
@@ -0,0 +1,157 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 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
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.extendedtypes.util;
+
+import java.lang.ref.WeakReference;
+import java.util.Collections;
+import java.util.Dictionary;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import org.eclipse.core.runtime.Platform;
+import org.osgi.framework.Bundle;
+
+/**
+ * Utilities for internal use by rthe ExtendedTypes bundle.
+ */
+public class InternalUtils {
+
+ /** A map of classes that have been successfully loaded, keyed on the class name optionally prepended by the plugin ID, if specified. */
+ private static Map<String, WeakReference<Class<?>>> successLookupTable = new HashMap<String, WeakReference<Class<?>>>();
+
+ /** A map of classes that could not be loaded, keyed on the class name, optionally prepended by the plugin ID if specified. */
+ private static Set<String> failureLookupTable = new HashSet<String>();
+
+ /** A map to hold the bundle to exception list */
+ private static Map<Bundle, Set<String>> bundleToExceptionsSetMap = new HashMap<Bundle, Set<String>>();
+
+ private InternalUtils() {
+ super();
+ }
+
+ /**
+ * A utility method to load a class using its name and a given class loader.
+ *
+ * @param className
+ * The class name
+ * @param bundle
+ * The class loader
+ * @return The loaded class or <code>null</code> if could not be loaded
+ */
+ public static Class<?> loadClass(String className, String pluginId) {
+ // FIXME: This method is grossly flawed, as it requires the class being loaded to be contained within the identified bundle, not anywhere on its classpath
+ StringBuffer keyStringBuf = new StringBuffer(className.length() + pluginId.length() + 2); // 2 is for . and extra.
+ keyStringBuf.append(pluginId);
+ keyStringBuf.append('.');
+ keyStringBuf.append(className);
+ String keyString = keyStringBuf.toString();
+ WeakReference<Class<?>> ref = successLookupTable.get(keyString);
+ Class<?> found = (ref != null) ? ref.get() : null;
+ if (found == null) {
+ if (ref != null) {
+ successLookupTable.remove(keyString);
+ }
+ if (!failureLookupTable.contains(keyString)) {
+ try {
+ Bundle bundle = basicGetPluginBundle(pluginId);
+ if (bundle != null) {
+ // never load the class if the bundle is not active other wise
+ // we will cause the plugin to load
+ // unless the class is in the exception list
+ int state = bundle.getState();
+ if (state == org.osgi.framework.Bundle.ACTIVE || isInExceptionList(bundle, className)) {
+ found = bundle.loadClass(className);
+ successLookupTable.put(keyString, new WeakReference<Class<?>>(found));
+ if (state == org.osgi.framework.Bundle.ACTIVE) {
+ bundleToExceptionsSetMap.remove(bundle);
+ }
+ }
+ } else {
+ failureLookupTable.add(keyString);
+ }
+ } catch (ClassNotFoundException e) {
+ failureLookupTable.add(keyString);
+ }
+ }
+ }
+ return found;
+ }
+
+ private static boolean isInExceptionList(Bundle bundle, String className) {
+ String packageName = className.substring(0, className.lastIndexOf('.'));
+ Set<String> exceptionSet = bundleToExceptionsSetMap.get(bundle);
+ if (exceptionSet == null) {
+ Dictionary<String, String> dict = bundle.getHeaders();
+ int index = -1;
+ String value = dict.get("Bundle-ActivationPolicy"); //$NON-NLS-1$
+ if (value != null) {
+ index = value.indexOf("lazy"); //$NON-NLS-1$
+ if (index >= 0) {
+ index = value.indexOf("exclude", index); //$NON-NLS-1$
+ }
+ }
+ if (index < 0) {
+ // Try the (very) old way
+ value = dict.get("Eclipse-LazyStart"); //$NON-NLS-1$
+ if (value != null) {
+ index = value.indexOf("exceptions"); //$NON-NLS-1$
+ }
+ }
+ if (index >= 0) {
+ try {
+ int start = value.indexOf('"', index + 1);
+ int end = value.indexOf('"', start + 1);
+ String exceptions = value.substring(start + 1, end);
+ exceptionSet = new HashSet<String>(2);
+ StringTokenizer tokenizer = new StringTokenizer(exceptions, ","); //$NON-NLS-1$
+ while (tokenizer.hasMoreTokens()) {
+ exceptionSet.add(tokenizer.nextToken().trim());
+ }
+ } catch (IndexOutOfBoundsException exception) {
+ // this means the MF did not follow the documented format for the exceptions list so i'll consider it empty
+ exceptionSet = Collections.emptySet();
+ }
+ } else {
+ exceptionSet = Collections.emptySet();
+ }
+ bundleToExceptionsSetMap.put(bundle, exceptionSet);
+ }
+ return exceptionSet.contains(packageName);
+ }
+
+ /**
+ * Given a bundle id, it checks if the bundle is found and activated. If it
+ * is, the method returns the bundle, otherwise it returns <code>null</code>.
+ *
+ * @param pluginId
+ * the bundle ID
+ * @return the bundle, if found
+ */
+ private static Bundle getPluginBundle(String pluginId) {
+ Bundle bundle = basicGetPluginBundle(pluginId);
+ if (null != bundle && bundle.getState() == org.osgi.framework.Bundle.ACTIVE) {
+ return bundle;
+ }
+ return null;
+ }
+
+ private static Bundle basicGetPluginBundle(String pluginId) {
+ return Platform.getBundle(pluginId);
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.classpath b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.classpath
new file mode 100644
index 00000000000..64c5e31b7a2
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.project b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.project
new file mode 100644
index 00000000000..2520b07362d
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.onefile.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..c585cc455ae
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+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
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..fc586354cf3
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,34 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.infra.onefile.internal.ui;x-internal:=true,
+ org.eclipse.papyrus.infra.onefile.internal.ui.action;x-internal:=true,
+ org.eclipse.papyrus.infra.onefile.internal.ui.filters;x-internal:=true,
+ org.eclipse.papyrus.infra.onefile.internal.ui.model.adapters;x-internal:=true,
+ org.eclipse.papyrus.infra.onefile.internal.ui.providers;x-internal:=true,
+ org.eclipse.papyrus.infra.onefile.internal.ui.testers;x-internal:=true,
+ org.eclipse.papyrus.infra.onefile.ui.providers,
+ org.eclipse.papyrus.infra.onefile.ui.utils
+Require-Bundle: org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
+ org.eclipse.ui.navigator,
+ org.eclipse.ui.navigator.resources,
+ org.eclipse.core.resources;bundle-version="3.7.0",
+ org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.eclipse.ui,
+ org.eclipse.ui.ide;bundle-version="3.8.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ org.eclipse.ltk.core.refactoring;bundle-version="3.6.0",
+ org.eclipse.ltk.ui.refactoring;bundle-version="3.7.0",
+ org.eclipse.core.filesystem;bundle-version="1.4.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
+ org.eclipse.core.expressions,
+ org.eclipse.emf.ecore;bundle-version="2.12.0",
+ org.eclipse.papyrus.infra.ui;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.onefile;bundle-version="1.2.0"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.infra.onefile.internal.ui.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.infra.onefile.ui;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/about.html b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/about.html
new file mode 100644
index 00000000000..dd3c089a94c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/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>November 14, 2008</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> \ No newline at end of file
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/build.properties b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/build.properties
new file mode 100644
index 00000000000..082c8b2f4f1
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/build.properties
@@ -0,0 +1,7 @@
+#
+#Mon Sep 12 09:29:59 CEST 2011
+bin.includes=META-INF/,.,plugin.xml,icons/,about.html,plugin.properties
+output..=bin/
+src.includes = about.html
+source..=src/
+bin..=bin/
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/icons/papyrus.png b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/icons/papyrus.png
index 0f74e27b483..0f74e27b483 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/icons/papyrus.png
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/icons/papyrus.png
Binary files differ
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/plugin.properties b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/plugin.properties
new file mode 100644
index 00000000000..1bc9dea55df
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/plugin.properties
@@ -0,0 +1,15 @@
+#################################################################################
+# Copyright (c) 2011, 2016 Atos Origin, Christian W. Damus, and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Vincent Hemery vincent.hemery@atos.net - Initial API and implementation
+# Christian W. Damus - bug 485220
+#
+##################################################################################
+pluginName=Papyrus Onefile UI
+providerName=Eclipse Modeling Project \ No newline at end of file
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/plugin.xml b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/plugin.xml
new file mode 100644
index 00000000000..f64926b75c3
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/plugin.xml
@@ -0,0 +1,305 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.core.runtime.adapters">
+ <factory
+ adaptableType="org.eclipse.papyrus.infra.onefile.model.IPapyrusFile"
+ class="org.eclipse.papyrus.infra.onefile.internal.ui.model.adapters.ModelAdapterFactory">
+ <adapter
+ type="org.eclipse.ui.ide.IContributorResourceAdapter2">
+ </adapter>
+ </factory>
+ <factory
+ adaptableType="org.eclipse.papyrus.infra.onefile.model.ISubResourceFile"
+ class="org.eclipse.papyrus.infra.onefile.internal.ui.model.adapters.SubResourceAdapterFactory">
+ <adapter
+ type="org.eclipse.ui.IContributorResourceAdapter">
+ </adapter>
+ <adapter
+ type="org.eclipse.ui.ide.IContributorResourceAdapter2">
+ </adapter>
+ </factory>
+ </extension>
+
+ <extension
+ point="org.eclipse.ui.navigator.navigatorContent">
+ <commonFilter
+ activeByDefault="true"
+ class="org.eclipse.papyrus.infra.onefile.internal.ui.filters.OnlyDiFilter"
+ description="All the files related to di files are agregated bellow a common parent"
+ id="org.eclipse.papyrus.infra.onefile.onlyDiFilter"
+ name="Di view"
+ visibleInUI="true">
+ </commonFilter>
+ <navigatorContent
+ activeByDefault="true"
+ contentProvider="org.eclipse.papyrus.infra.onefile.ui.providers.PapyrusContentProvider"
+ id="org.eclipse.papyrus.infra.onefile.DiContent"
+ labelProvider="org.eclipse.papyrus.infra.onefile.ui.providers.PapyrusLabelProvider"
+ name="Papyrus Content"
+ priority="high">
+ <enablement>
+ <or>
+ <instanceof
+ value="org.eclipse.papyrus.infra.onefile.model.IPapyrusFile">
+ </instanceof>
+ <instanceof
+ value="org.eclipse.papyrus.infra.onefile.providers.OneFileModelProvider">
+ </instanceof>
+ <instanceof
+ value="org.eclipse.core.resources.IResource">
+ </instanceof>
+ <instanceof
+ value="org.eclipse.core.internal.resources.mapping.ResourceModelProvider">
+ </instanceof>
+ <instanceof
+ value="org.eclipse.core.resources.IFile">
+ </instanceof>
+ <adapt
+ type="org.eclipse.core.resources.IResource">
+ </adapt>
+ </or>
+ </enablement>
+ <actionProvider
+ class="org.eclipse.papyrus.infra.onefile.internal.ui.providers.PapyrusModelActionProvider"
+ id="org.eclipse.papyrus.infra.onefile.DiContent.OpenActions"
+ overrides="org.eclipse.ui.navigator.resources.OpenActions">
+ <enablement>
+ <instanceof
+ value="org.eclipse.papyrus.infra.onefile.model.IPapyrusFile">
+ </instanceof>
+ </enablement>
+ </actionProvider>
+ <actionProvider
+ class="org.eclipse.papyrus.infra.onefile.internal.ui.providers.PapyrusEditActionProvider"
+ dependsOn="org.eclipse.ui.navigator.resources.actions.EditActions"
+ id="org.eclipse.papyrus.infra.onefile.DiContent.EditActions">
+ <enablement>
+ <and>
+ <with
+ variable="activeShell">
+ <test
+ property="org.eclipse.papyrus.infra.onefile.handlers.tester.containsPapyrusModel"
+ value="true">
+ </test>
+ </with>
+ </and>
+ </enablement>
+ </actionProvider>
+ <dropAssistant
+ class="org.eclipse.papyrus.infra.onefile.internal.ui.model.adapters.PapyrusCommonDropAdapterAssistant"
+ id="org.eclipse.papyrus.infra.onefile.PapyrusDropAssistant">
+ <possibleDropTargets>
+ <instanceof
+ value="org.eclipse.core.resources.IContainer">
+ </instanceof>
+ </possibleDropTargets>
+ </dropAssistant>
+ <commonSorter
+ class="org.eclipse.papyrus.infra.onefile.ui.providers.PapyrusViewerSorter"
+ id="org.eclipse.papyrus.infra.onefile.sorter">
+ </commonSorter>
+ <triggerPoints>
+ <or>
+ <instanceof
+ value="org.eclipse.core.resources.IContainer">
+ </instanceof>
+ <instanceof
+ value="org.eclipse.papyrus.infra.onefile.model.IPapyrusFile">
+ </instanceof>
+ <instanceof
+ value="org.eclipse.papyrus.infra.onefile.model.ISubResourceFile">
+ </instanceof>
+ </or>
+ </triggerPoints>
+ <actionProvider
+ class="org.eclipse.papyrus.infra.onefile.internal.ui.providers.SubresourceFileActionProvider"
+ id="org.eclipse.papyrus.infra.onefile.DiContent.EditActions">
+ <enablement>
+ <instanceof
+ value="org.eclipse.papyrus.infra.onefile.model.ISubResourceFile">
+ </instanceof>
+ </enablement>
+ </actionProvider>
+ </navigatorContent>
+ </extension>
+
+ <extension point="org.eclipse.ui.navigator.viewer">
+ <viewerContentBinding viewerId="org.eclipse.team.ui.navigatorViewer">
+ <includes>
+ <contentExtension
+ pattern="org.eclipse.papyrus.infra.onefile.DiContent"/>
+ </includes>
+ </viewerContentBinding>
+ <viewerContentBinding
+ viewerId="org.eclipse.jdt.ui.PackageExplorer">
+ <includes>
+ <contentExtension
+ pattern="org.eclipse.papyrus.infra.onefile.onlyDiFilter">
+ </contentExtension>
+ <contentExtension
+ pattern="org.eclipse.papyrus.infra.onefile.DiContent">
+ </contentExtension>
+ <contentExtension
+ pattern="org.eclipse.papyrus.infra.onefile.oneFileLinkHelper">
+ </contentExtension>
+ <contentExtension
+ pattern="org.eclipse.ui.navigator.resourceContent" />
+ <contentExtension
+ pattern="org.eclipse.ui.navigator.resources.filters.*"/>
+ </includes>
+ </viewerContentBinding>
+ <viewerContentBinding
+ viewerId="org.eclipse.ui.navigator.ProjectExplorer">
+ <includes>
+ <contentExtension
+ pattern="org.eclipse.papyrus.infra.onefile.onlyDiFilter">
+ </contentExtension>
+ <contentExtension
+ pattern="org.eclipse.papyrus.infra.onefile.DiContent">
+ </contentExtension>
+ <contentExtension
+ pattern="org.eclipse.papyrus.infra.onefile.oneFileLinkHelper">
+ </contentExtension>
+ <contentExtension
+ pattern="org.eclipse.ui.navigator.resourceContent" />
+ <contentExtension
+ pattern="org.eclipse.ui.navigator.resources.filters.*"/>
+ </includes>
+ </viewerContentBinding>
+ <viewerContentBinding
+ viewerId="org.eclipse.team.ui.navigatorViewer">
+ <includes>
+ <contentExtension
+ pattern="org.eclipse.papyrus.infra.onefile.onlyDiFilter">
+ </contentExtension>
+ <contentExtension
+ pattern="org.eclipse.papyrus.infra.onefile.DiContent">
+ </contentExtension>
+ </includes>
+ </viewerContentBinding>
+ <viewerContentBinding
+ viewerId="org.eclipse.team.svn.ui.workspaceSynchronization">
+ <includes>
+ <contentExtension
+ pattern="org.eclipse.papyrus.infra.onefile.onlyDiFilter">
+ </contentExtension>
+ <contentExtension
+ pattern="org.eclipse.papyrus.infra.onefile.DiContent">
+ </contentExtension>
+ </includes>
+ </viewerContentBinding>
+ <viewerContentBinding
+ viewerId="org.eclipse.team.cvs.ui.workspaceSynchronization">
+ <includes>
+ <contentExtension
+ pattern="org.eclipse.papyrus.infra.onefile.onlyDiFilter">
+ </contentExtension>
+ <contentExtension
+ pattern="org.eclipse.papyrus.infra.onefile.DiContent">
+ </contentExtension>
+ </includes>
+ </viewerContentBinding>
+ <viewerContentBinding
+ viewerId="org.eclipse.papyrus.infra.onefile.DiContent">
+ <includes>
+ <contentExtension
+ pattern="org.eclipse.jdt.java.ui.javaContent">
+ </contentExtension>
+ </includes>
+ </viewerContentBinding>
+ </extension>
+
+ <extension
+ point="org.eclipse.ui.navigator.linkHelper">
+ <linkHelper
+ class="org.eclipse.papyrus.infra.onefile.internal.ui.model.adapters.PapyrusLinkHelper"
+ id="org.eclipse.papyrus.infra.onefile.oneFileLinkHelper">
+ <editorInputEnablement>
+ <and>
+ <instanceof
+ value="org.eclipse.ui.IFileEditorInput">
+ </instanceof>
+ <adapt
+ type="org.eclipse.core.resources.IFile">
+ <test
+ property="org.eclipse.core.resources.extension"
+ value="di">
+ </test>
+ </adapt>
+ </and>
+ </editorInputEnablement>
+ <selectionEnablement>
+ <or>
+ <instanceof
+ value="org.eclipse.papyrus.infra.onefile.model.IPapyrusFile">
+ </instanceof>
+ <and>
+ <instanceof
+ value="org.eclipse.core.resources.IFile">
+ </instanceof>
+ <test
+ forcePluginActivation="true"
+ property="org.eclipse.core.resources.extension"
+ value="di">
+ </test>
+ </and>
+ </or>
+ </selectionEnablement>
+ </linkHelper>
+ </extension>
+
+ <extension
+ point="org.eclipse.ui.decorators">
+ <decorator
+ adaptable="true"
+ class="org.eclipse.papyrus.infra.onefile.internal.ui.providers.OneFileDecorator"
+ id="org.eclipse.papyrus.infra.onefile.onefiledecorator"
+ label="One File Decorator"
+ lightweight="true"
+ state="true">
+ <enablement>
+ <objectClass
+ name="org.eclipse.papyrus.infra.onefile.model.IPapyrusFile">
+ </objectClass>
+ </enablement>
+ </decorator>
+ </extension>
+
+ <extension
+ point="org.eclipse.core.expressions.propertyTesters">
+ <propertyTester
+ class="org.eclipse.papyrus.infra.onefile.internal.ui.testers.PapyrusClipboardTester"
+ id="org.eclipse.papyrus.infra.onefile.handlers.tester"
+ namespace="org.eclipse.papyrus.infra.onefile.handlers.tester"
+ properties="containsPapyrusModel"
+ type="org.eclipse.swt.widgets.Shell">
+ </propertyTester>
+ <propertyTester
+ class="org.eclipse.papyrus.infra.onefile.internal.ui.testers.PapyrusClipboardTester"
+ id="org.eclipse.papyrus.infra.onefile.handlers.tester"
+ namespace="org.eclipse.papyrus.infra.onefile.handlers.tester"
+ properties="toto"
+ type="java.util.Collection">
+ </propertyTester>
+ </extension>
+
+ <!-- #368878 : Definition of command id to avoid error logs -->
+ <extension
+ id="org.eclipse.ui.commands.oneFile"
+ name="Commands for oneFiles"
+ point="org.eclipse.ui.commands">
+ <command name="Move file"
+ description="Move file"
+ categoryId="org.eclipse.ui.category.file"
+ id="move">
+ </command>
+ <command name="Open selected file"
+ description="Open selected fsile"
+ categoryId="org.eclipse.ui.category.file"
+ id="org.eclipse.ui.navigator.Open">
+ </command>
+ </extension>
+
+</plugin>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/pom.xml b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/pom.xml
new file mode 100644
index 00000000000..1912554754a
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.releng</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ <relativePath>../../../releng/main</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.onefile.ui</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/Activator.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/Activator.java
new file mode 100644
index 00000000000..14f957c2394
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/Activator.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2011, 2016 Atos Origin Integration, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.onefile.internal.ui;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.onefile.ui"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ public static LogHelper log;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ log = new LogHelper(this);
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/action/CopyFilesAndFoldersOperation.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/CopyFilesAndFoldersOperation.java
index 1e3e15d4f77..aefe0637a67 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/action/CopyFilesAndFoldersOperation.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/CopyFilesAndFoldersOperation.java
@@ -10,7 +10,7 @@
* Serge Beauchamp (Freescale Semiconductor) - [229633] Group Support
*******************************************************************************/
-package org.eclipse.papyrus.infra.onefile.action;
+package org.eclipse.papyrus.infra.onefile.internal.ui.action;
import java.io.File;
import java.lang.reflect.InvocationTargetException;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/action/PapyrusCopyFilesAndFoldersOperation.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/PapyrusCopyFilesAndFoldersOperation.java
index 691de191cdb..05e987f060b 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/action/PapyrusCopyFilesAndFoldersOperation.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/PapyrusCopyFilesAndFoldersOperation.java
@@ -12,7 +12,7 @@
*
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.action;
+package org.eclipse.papyrus.infra.onefile.internal.ui.action;
import java.io.IOException;
import java.util.ArrayList;
@@ -41,7 +41,7 @@ import org.eclipse.papyrus.infra.emf.resource.DependencyManagementHelper;
import org.eclipse.papyrus.infra.emf.resource.MoveFileURIReplacementStrategy;
import org.eclipse.papyrus.infra.emf.resource.RestoreDependencyHelper;
import org.eclipse.papyrus.infra.emf.utils.ResourceUtils;
-import org.eclipse.papyrus.infra.onefile.Activator;
+import org.eclipse.papyrus.infra.onefile.internal.ui.Activator;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.ide.undo.CopyResourcesOperation;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/action/PapyrusModelPasteAction.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/PapyrusModelPasteAction.java
index 91e81af95b5..1b06a92d01f 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/action/PapyrusModelPasteAction.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/PapyrusModelPasteAction.java
@@ -12,7 +12,7 @@
*
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.action;
+package org.eclipse.papyrus.infra.onefile.internal.ui.action;
import org.eclipse.swt.dnd.Clipboard;
import org.eclipse.swt.widgets.Shell;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/action/PasteAction.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/PasteAction.java
index c1301120151..4ca3a656edf 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/action/PasteAction.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/PasteAction.java
@@ -8,7 +8,7 @@
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
-package org.eclipse.papyrus.infra.onefile.action;
+package org.eclipse.papyrus.infra.onefile.internal.ui.action;
import java.util.List;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/matcher/OnlyDiFilter.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/filters/OnlyDiFilter.java
index a094bd49f69..c16a65a8778 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/matcher/OnlyDiFilter.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/filters/OnlyDiFilter.java
@@ -9,7 +9,7 @@
* Contributors:
* Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.matcher;
+package org.eclipse.papyrus.infra.onefile.internal.ui.filters;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/ModelAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/ModelAdapterFactory.java
new file mode 100644
index 00000000000..223ff8c4e6a
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/ModelAdapterFactory.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2011, 2016 Atos Origin Integration, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.onefile.internal.ui.model.adapters;
+
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.papyrus.infra.onefile.model.IPapyrusFile;
+import org.eclipse.ui.IContributorResourceAdapter;
+import org.eclipse.ui.ide.IContributorResourceAdapter2;
+
+/**
+ * Adapter factory to adapt {@link IPapyrusFile}
+ *
+ * @author tristan.faure@atosorigin.com
+ */
+public class ModelAdapterFactory implements IAdapterFactory {
+
+ public <T> T getAdapter(Object adaptableObject, Class<T> adapterType) {
+ if (IContributorResourceAdapter.class.equals(adapterType)) {
+ return adapterType.cast(new PapyrusModelContributorResourceAdapter());
+ }
+ if (IContributorResourceAdapter2.class.equals(adapterType)) {
+ return adapterType.cast(new PapyrusModelContributorResourceAdapter());
+ }
+ return null;
+ }
+
+ public Class<?>[] getAdapterList() {
+ return new Class[] { IContributorResourceAdapter.class, IContributorResourceAdapter2.class };
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/PapyrusCommonDropAdapterAssistant.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/PapyrusCommonDropAdapterAssistant.java
index 45a3c123f05..03cb59b34bf 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/PapyrusCommonDropAdapterAssistant.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/PapyrusCommonDropAdapterAssistant.java
@@ -10,7 +10,7 @@
* Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.model.adapters;
+package org.eclipse.papyrus.infra.onefile.internal.ui.model.adapters;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/PapyrusLinkHelper.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/PapyrusLinkHelper.java
index 563ee9669fc..0def064da62 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/PapyrusLinkHelper.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/PapyrusLinkHelper.java
@@ -9,7 +9,7 @@
* Contributors:
* Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.model.adapters;
+package org.eclipse.papyrus.infra.onefile.internal.ui.model.adapters;
import java.util.ArrayList;
import java.util.List;
@@ -19,7 +19,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.papyrus.infra.onefile.model.IPapyrusFile;
import org.eclipse.papyrus.infra.onefile.model.PapyrusModelHelper;
-import org.eclipse.papyrus.infra.onefile.utils.OneFileUtils;
+import org.eclipse.papyrus.infra.onefile.ui.utils.OneFileUIUtils;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IFileEditorInput;
@@ -56,18 +56,12 @@ public class PapyrusLinkHelper implements ILinkHelper {
return null;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.navigator.ILinkHelper#activateEditor(org.eclipse.ui.
- * IWorkbenchPage, org.eclipse.jface.viewers.IStructuredSelection)
- */
public void activateEditor(IWorkbenchPage page, IStructuredSelection selection) {
if (selection == null || selection.isEmpty()) {
return;
}
Object element = selection.getFirstElement();
- IEditorPart part = OneFileUtils.isOpenInEditor(element);
+ IEditorPart part = OneFileUIUtils.isOpenInEditor(element);
if (part != null) {
page.bringToTop(part);
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/PapyrusModelContributorResourceAdapter.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/PapyrusModelContributorResourceAdapter.java
index c954b30184d..3200c6e813e 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/PapyrusModelContributorResourceAdapter.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/PapyrusModelContributorResourceAdapter.java
@@ -9,7 +9,7 @@
* Contributors:
* Tristan Faure (Atos Origin Integration) tristan.faure@atos.net - Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.model.adapters;
+package org.eclipse.papyrus.infra.onefile.internal.ui.model.adapters;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.mapping.ResourceMapping;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/SubResourceAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/SubResourceAdapterFactory.java
new file mode 100644
index 00000000000..e68c86ffc5b
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/model/adapters/SubResourceAdapterFactory.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2011, 2016 Atos Origin Integration, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.onefile.internal.ui.model.adapters;
+
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.papyrus.infra.onefile.model.ISubResourceFile;
+import org.eclipse.ui.IContributorResourceAdapter;
+
+/**
+ * Adapter Factory for {@link ISubResourceFile}
+ *
+ * @author tristan.faure@atosorigin.com
+ *
+ */
+public class SubResourceAdapterFactory implements IAdapterFactory {
+
+ public <T> T getAdapter(Object adaptableObject, Class<T> adapterType) {
+ if (IContributorResourceAdapter.class.equals(adapterType)) {
+ if (adaptableObject instanceof ISubResourceFile) {
+ return adapterType.cast(new PapyrusModelContributorResourceAdapter());
+ }
+ }
+ return null;
+ }
+
+ public Class<?>[] getAdapterList() {
+ return new Class[] { IContributorResourceAdapter.class };
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/CopyToClipboardAction.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/CopyToClipboardAction.java
index b4ae2bf1f1b..6e259be86e9 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/CopyToClipboardAction.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/CopyToClipboardAction.java
@@ -12,7 +12,7 @@
*
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.providers;
+package org.eclipse.papyrus.infra.onefile.internal.ui.providers;
import org.eclipse.core.resources.IResource;
import org.eclipse.jface.viewers.IStructuredSelection;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/OneFileDecorator.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/OneFileDecorator.java
index 12298d91f62..86858d2c010 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/OneFileDecorator.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/OneFileDecorator.java
@@ -9,7 +9,7 @@
* Contributors:
* Tristan FAURE (Atos) tristan.faure@atos.net - Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.providers;
+package org.eclipse.papyrus.infra.onefile.internal.ui.providers;
import java.util.HashMap;
import java.util.Map;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusEditActionProvider.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/PapyrusEditActionProvider.java
index 1960608988d..3c761b647f7 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusEditActionProvider.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/PapyrusEditActionProvider.java
@@ -12,7 +12,7 @@
*
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.providers;
+package org.eclipse.papyrus.infra.onefile.internal.ui.providers;
import java.util.ArrayList;
import java.util.List;
@@ -22,7 +22,7 @@ import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.papyrus.infra.onefile.action.PapyrusModelPasteAction;
+import org.eclipse.papyrus.infra.onefile.internal.ui.action.PapyrusModelPasteAction;
import org.eclipse.swt.dnd.Clipboard;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IActionBars;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusModelActionProvider.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/PapyrusModelActionProvider.java
index cb8e9019494..626e22efcc1 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusModelActionProvider.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/PapyrusModelActionProvider.java
@@ -11,7 +11,7 @@
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr
* Benoit Maggi (CEA LIST) benoit.maggi@cea.fr - Add copy Action
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.providers;
+package org.eclipse.papyrus.infra.onefile.internal.ui.providers;
import java.util.ArrayList;
import java.util.Arrays;
@@ -34,7 +34,7 @@ import org.eclipse.ltk.internal.ui.refactoring.RefactoringUIMessages;
import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation;
import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;
import org.eclipse.ltk.ui.refactoring.resource.RenameResourceWizard;
-import org.eclipse.papyrus.infra.onefile.Activator;
+import org.eclipse.papyrus.infra.onefile.internal.ui.Activator;
import org.eclipse.papyrus.infra.onefile.model.IPapyrusFile;
import org.eclipse.papyrus.infra.onefile.utils.OneFileUtils;
import org.eclipse.swt.SWT;
@@ -304,7 +304,7 @@ public class PapyrusModelActionProvider extends CommonActionProvider {
@Override
protected void addUserInputPages() {
- RenameResourceProcessor processor = (RenameResourceProcessor) getRefactoring().getAdapter(RenameResourceProcessor.class);
+ RenameResourceProcessor processor = getRefactoring().getAdapter(RenameResourceProcessor.class);
addPage(new RenamePapyrusModelPage(processor));
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/SubresourceFileActionProvider.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/SubresourceFileActionProvider.java
index 845fca1c244..4388700868c 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/SubresourceFileActionProvider.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/providers/SubresourceFileActionProvider.java
@@ -10,7 +10,7 @@
* Tristan Faure (Atos Origin) tristan.faure@atos.net - Initial API and implementation
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.providers;
+package org.eclipse.papyrus.infra.onefile.internal.ui.providers;
import java.util.Iterator;
import java.util.LinkedList;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/testers/PapyrusClipboardTester.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/testers/PapyrusClipboardTester.java
index 0f3dfa2b05a..ac0c3a33a55 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/testers/PapyrusClipboardTester.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/testers/PapyrusClipboardTester.java
@@ -12,7 +12,7 @@
*
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.testers;
+package org.eclipse.papyrus.infra.onefile.internal.ui.testers;
import org.eclipse.core.expressions.PropertyTester;
import org.eclipse.core.resources.IResource;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusContentProvider.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/ui/providers/PapyrusContentProvider.java
index 587e252c4e0..3acce0e9984 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusContentProvider.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/ui/providers/PapyrusContentProvider.java
@@ -10,7 +10,7 @@
* Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.providers;
+package org.eclipse.papyrus.infra.onefile.ui.providers;
import java.util.ArrayList;
import java.util.Collection;
@@ -28,8 +28,8 @@ import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.viewers.AbstractTreeViewer;
import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.papyrus.infra.onefile.Activator;
-import org.eclipse.papyrus.infra.onefile.matcher.OnlyDiFilter;
+import org.eclipse.papyrus.infra.onefile.internal.ui.Activator;
+import org.eclipse.papyrus.infra.onefile.internal.ui.filters.OnlyDiFilter;
import org.eclipse.papyrus.infra.onefile.model.IPapyrusFile;
import org.eclipse.papyrus.infra.onefile.model.PapyrusModelHelper;
import org.eclipse.papyrus.infra.onefile.utils.OneFileUtils;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusLabelProvider.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/ui/providers/PapyrusLabelProvider.java
index 23eabadebc2..3b017e62d75 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusLabelProvider.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/ui/providers/PapyrusLabelProvider.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 Atos Origin Integration.
+ * Copyright (c) 2011, 2016 Atos Origin Integration, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,15 +8,23 @@
*
* Contributors:
* Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.providers;
+package org.eclipse.papyrus.infra.onefile.ui.providers;
+import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.papyrus.infra.onefile.model.IPapyrusFile;
import org.eclipse.papyrus.infra.onefile.model.ISubResourceFile;
+import org.eclipse.papyrus.infra.ui.util.PapyrusImageUtils;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.PlatformUI;
/**
* Label Provider for Papyrus Model Elements
@@ -26,10 +34,13 @@ import org.eclipse.swt.graphics.Image;
*/
public class PapyrusLabelProvider implements ILabelProvider {
+ private ImageRegistry images = new ImageRegistry(JFaceResources.getResources());
+
public void addListener(ILabelProviderListener listener) {
}
public void dispose() {
+ images.dispose();
}
public boolean isLabelProperty(Object element, String property) {
@@ -41,11 +52,17 @@ public class PapyrusLabelProvider implements ILabelProvider {
public Image getImage(Object element) {
if (element instanceof IPapyrusFile) {
- IPapyrusFile papyFile = (IPapyrusFile) element;
- return papyFile.getImage();
+ return PapyrusImageUtils.getDefaultIcon();
}
if (element instanceof ISubResourceFile) {
- return ((ISubResourceFile) element).getImage();
+ IFile file = ((ISubResourceFile) element).getFile();
+ String ext = file.getFileExtension();
+ Image image = images.get(ext);
+ if (image == null) {
+ ImageDescriptor desc = PlatformUI.getWorkbench().getEditorRegistry().getImageDescriptor(file.getName());
+ images.put(ext, desc);
+ }
+ return images.get(ext);
}
return null;
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusViewerSorter.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/ui/providers/PapyrusViewerSorter.java
index 6f63f8e8576..564447e5e25 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/providers/PapyrusViewerSorter.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/ui/providers/PapyrusViewerSorter.java
@@ -9,7 +9,7 @@
* Contributors:
* Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
*****************************************************************************/
-package org.eclipse.papyrus.infra.onefile.providers;
+package org.eclipse.papyrus.infra.onefile.ui.providers;
import java.text.Collator;
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/ui/utils/OneFileUIUtils.java b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/ui/utils/OneFileUIUtils.java
new file mode 100644
index 00000000000..b231fb1ae58
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/ui/utils/OneFileUIUtils.java
@@ -0,0 +1,210 @@
+/*****************************************************************************
+ * Copyright (c) 2011, 2016 Atos Origin Integration, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.onefile.ui.utils;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.papyrus.infra.onefile.internal.ui.Activator;
+import org.eclipse.papyrus.infra.onefile.model.IPapyrusFile;
+import org.eclipse.ui.IEditorDescriptor;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorReference;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.part.FileEditorInput;
+
+/**
+ * Utility methods for the UI
+ *
+ * @author tristan.faure@atosorigin.com
+ *
+ */
+public class OneFileUIUtils {
+
+ /**
+ * Check if the object is in an already opened editor
+ *
+ * @param inputElement
+ * @return
+ */
+ public static IEditorPart isOpenInEditor(Object inputElement) {
+ IEditorPart editor = findEditor(inputElement, false);
+ if (editor != null) {
+ return editor;
+ }
+ IEditorInput input = getEditorInput(inputElement);
+ if (input != null) {
+
+ IWorkbenchPage p = getActivePage();
+ if (p != null) {
+ return p.findEditor(input);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Find an editor opening the input element
+ *
+ * @param inputElement
+ * @param activate
+ * , if activate is true, once the editor is found it is
+ * activated
+ * @return null if no editor is found
+ */
+ private static IEditorPart findEditor(Object inputElement, boolean activate) {
+ if (inputElement instanceof IPapyrusFile) {
+ IPapyrusFile cu = (IPapyrusFile) inputElement;
+ if (cu != null) {
+ IWorkbenchPage page = getActivePage();
+ for (IEditorReference ref : page.getEditorReferences()) {
+ IEditorPart editor = ref.getEditor(false);
+ if (editor != null) {
+ IEditorInput editorInput;
+ editorInput = editor.getEditorInput();
+ if (cu.getMainFile().equals(editorInput.getAdapter(IFile.class))) {
+ if (activate && page.getActivePart() != editor) {
+ page.activate(editor);
+ }
+ return editor;
+ }
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Open the editor corresponding to the inpur element
+ *
+ * @param inputElement
+ * @param activate
+ * @return
+ * @throws PartInitException
+ */
+ public static IEditorPart openInEditor(Object inputElement, boolean activate) throws PartInitException {
+
+ if (inputElement instanceof IFile) {
+ return openInEditor((IFile) inputElement, activate);
+ }
+ IEditorPart editor = findEditor(inputElement, activate);
+ if (editor != null) {
+ return editor;
+ }
+ IEditorInput input = getEditorInput(inputElement);
+ if (input == null) {
+ throw new PartInitException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "not found"));
+ }
+ return openInEditor(input, getEditorID(input), activate);
+ }
+
+ /**
+ * Get the editor input for the given element
+ *
+ * @param inputElement
+ * @return
+ */
+ private static IEditorInput getEditorInput(Object inputElement) {
+ if (inputElement instanceof IFile) {
+ IFile file = (IFile) inputElement;
+ return new FileEditorInput(file);
+ }
+ return null;
+ }
+
+ /**
+ * Get the editor id for an editor input
+ *
+ * @param input
+ * @return
+ * @throws PartInitException
+ */
+ public static String getEditorID(IEditorInput input) throws PartInitException {
+
+ Assert.isNotNull(input);
+
+ IEditorDescriptor editorDescriptor;
+
+ if (input instanceof IFileEditorInput) {
+ editorDescriptor = IDE.getEditorDescriptor(((IFileEditorInput) input).getFile());
+ } else {
+ editorDescriptor = IDE.getEditorDescriptor(input.getName());
+ }
+ return editorDescriptor.getId();
+
+ }
+
+ /**
+ * @param file
+ * @param activate
+ * @return
+ * @throws PartInitException
+ */
+ private static IEditorPart openInEditor(IFile file, boolean activate) throws PartInitException {
+
+ if (file == null) {
+ throw new PartInitException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "not found"));
+ }
+
+ IWorkbenchPage p = getActivePage();
+
+ if (p == null) {
+ throw new PartInitException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "not found"));
+ }
+
+ IEditorPart editorPart = IDE.openEditor(p, file, activate);
+
+ return editorPart;
+
+ }
+
+ /**
+ * Get the active Page
+ *
+ * @return
+ */
+ public static IWorkbenchPage getActivePage() {
+ IWorkbench workbench = PlatformUI.getWorkbench();
+ if (workbench == null) {
+ return null;
+ }
+ IWorkbenchWindow activeWorkbenchWindow = workbench.getActiveWorkbenchWindow();
+ if (activeWorkbenchWindow == null) {
+ return null;
+ }
+ return activeWorkbenchWindow.getActivePage();
+ }
+
+ private static IEditorPart openInEditor(IEditorInput input, String editorID, boolean activate) throws PartInitException {
+ Assert.isNotNull(input);
+ Assert.isNotNull(editorID);
+ IWorkbenchPage p = getActivePage();
+ if (p == null) {
+ throw new PartInitException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "not found"));
+ }
+ IEditorPart editorPart = p.openEditor(input, editorID, activate);
+ return editorPart;
+
+ }
+
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.onefile/META-INF/MANIFEST.MF
index ef6a775eded..74bd2bb9cf1 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/META-INF/MANIFEST.MF
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile/META-INF/MANIFEST.MF
@@ -3,20 +3,9 @@ Export-Package: org.eclipse.papyrus.infra.onefile.model,
org.eclipse.papyrus.infra.onefile.providers,
org.eclipse.papyrus.infra.onefile.utils
Require-Bundle: org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
- org.eclipse.ui.navigator,
- org.eclipse.ui.navigator.resources,
org.eclipse.core.resources;bundle-version="3.7.0",
org.eclipse.core.runtime;bundle-version="3.7.0",
- org.eclipse.ui,
- org.eclipse.ui.ide;bundle-version="3.8.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.ltk.core.refactoring;bundle-version="3.6.0",
- org.eclipse.ltk.ui.refactoring;bundle-version="3.7.0",
- org.eclipse.core.filesystem;bundle-version="1.4.0",
- org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
- org.eclipse.core.expressions,
- org.eclipse.emf.ecore;bundle-version="2.12.0",
- org.eclipse.papyrus.infra.ui;bundle-version="1.2.0"
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.2.0.qualifier
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/build.properties b/plugins/infra/org.eclipse.papyrus.infra.onefile/build.properties
index ab64a1d0c4a..824dd1248b9 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/build.properties
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile/build.properties
@@ -1,6 +1,6 @@
#
#Mon Sep 12 09:29:59 CEST 2011
-bin.includes=META-INF/,.,plugin.xml,icons/,schema/,about.html,plugin.properties
+bin.includes=META-INF/,.,plugin.xml,schema/,about.html,plugin.properties
output..=bin/
src.includes = about.html
source..=src/
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/plugin.properties b/plugins/infra/org.eclipse.papyrus.infra.onefile/plugin.properties
index 468f47f64c3..0f8efca14cf 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/plugin.properties
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile/plugin.properties
@@ -1,12 +1,15 @@
#################################################################################
-# Copyright (c) 2011 Atos Origin.
+# Copyright (c) 2011, 2016 Atos Origin, Christian W. Damus, and others.
+#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
-# Vincent Hemery vincent.hemery@atos.net - Initial API and implementation
+# Vincent Hemery vincent.hemery@atos.net - Initial API and implementation
+# Christian W. Damus - bug 485220
+#
##################################################################################
-pluginName=Papyrus Onefile visualization
-providerName=Eclipse Modeling Project \ No newline at end of file
+pluginName=Papyrus Onefile Model
+providerName=Eclipse Modeling Project
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/plugin.xml b/plugins/infra/org.eclipse.papyrus.infra.onefile/plugin.xml
index 67e81294b19..b4a3ef00313 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/plugin.xml
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile/plugin.xml
@@ -2,16 +2,14 @@
<?eclipse version="3.4"?>
<plugin>
<extension-point id="modelFactory" name="Model Factory" schema="schema/modelFactory.exsd"/>
+
<extension
point="org.eclipse.core.runtime.adapters">
<factory
adaptableType="org.eclipse.papyrus.infra.onefile.model.IPapyrusFile"
class="org.eclipse.papyrus.infra.onefile.model.adapters.ModelAdapterFactory">
- <adapter type="org.eclipse.core.resources.mapping.ResourceMapping" />
- <adapter type="java.util.Collection" />
- <adapter
- type="org.eclipse.ui.ide.IContributorResourceAdapter2">
- </adapter>
+ <adapter type="org.eclipse.core.resources.mapping.ResourceMapping" />
+ <adapter type="java.util.Collection" />
<adapter
type="org.eclipse.core.resources.IFile">
</adapter>
@@ -31,15 +29,10 @@
<adapter
type="org.eclipse.core.resources.IResource">
</adapter>
- <adapter
- type="org.eclipse.ui.IContributorResourceAdapter">
- </adapter>
- <adapter
- type="org.eclipse.ui.ide.IContributorResourceAdapter2">
- </adapter>
</factory>
</extension>
- <extension
+
+ <extension
id="modelProvider"
name="One File Model Provider"
point="org.eclipse.core.resources.modelProviders">
@@ -47,289 +40,13 @@
class="org.eclipse.papyrus.infra.onefile.providers.OneFileModelProvider"/>
<extends-model id="org.eclipse.core.resources.modelProvider"/>
</extension>
- <extension
- point="org.eclipse.ui.navigator.navigatorContent">
- <commonFilter
- activeByDefault="true"
- class="org.eclipse.papyrus.infra.onefile.matcher.OnlyDiFilter"
- description="All the files related to di files are agregated bellow a common parent"
- id="org.eclipse.papyrus.infra.onefile.onlyDiFilter"
- name="Di view"
- visibleInUI="true">
- </commonFilter>
- <navigatorContent
- activeByDefault="true"
- contentProvider="org.eclipse.papyrus.infra.onefile.providers.PapyrusContentProvider"
- id="org.eclipse.papyrus.infra.onefile.DiContent"
- labelProvider="org.eclipse.papyrus.infra.onefile.providers.PapyrusLabelProvider"
- name="Papyrus Content"
- priority="high">
- <enablement>
- <or>
- <instanceof
- value="org.eclipse.papyrus.infra.onefile.model.IPapyrusFile">
- </instanceof>
- <instanceof
- value="org.eclipse.papyrus.infra.onefile.providers.OneFileModelProvider">
- </instanceof>
- <instanceof
- value="org.eclipse.core.resources.IResource">
- </instanceof>
- <instanceof
- value="org.eclipse.core.internal.resources.mapping.ResourceModelProvider">
- </instanceof>
- <instanceof
- value="org.eclipse.core.resources.IFile">
- </instanceof>
- <adapt
- type="org.eclipse.core.resources.IResource">
- </adapt>
- </or>
- </enablement>
- <actionProvider
- class="org.eclipse.papyrus.infra.onefile.providers.PapyrusModelActionProvider"
- id="org.eclipse.papyrus.infra.onefile.DiContent.OpenActions"
- overrides="org.eclipse.ui.navigator.resources.OpenActions">
- <enablement>
- <instanceof
- value="org.eclipse.papyrus.infra.onefile.model.IPapyrusFile">
- </instanceof>
- </enablement>
- </actionProvider>
- <actionProvider
- class="org.eclipse.papyrus.infra.onefile.providers.PapyrusEditActionProvider"
- dependsOn="org.eclipse.ui.navigator.resources.actions.EditActions"
- id="org.eclipse.papyrus.infra.onefile.DiContent.EditActions">
- <enablement>
- <and>
- <with
- variable="activeShell">
- <test
- property="org.eclipse.papyrus.infra.onefile.handlers.tester.containsPapyrusModel"
- value="true">
- </test>
- </with>
- </and>
- </enablement>
- </actionProvider>
- <dropAssistant
- class="org.eclipse.papyrus.infra.onefile.model.adapters.PapyrusCommonDropAdapterAssistant"
- id="org.eclipse.papyrus.infra.onefile.PapyrusDropAssistant">
- <possibleDropTargets>
- <instanceof
- value="org.eclipse.core.resources.IContainer">
- </instanceof>
- </possibleDropTargets>
- </dropAssistant>
- <commonSorter
- class="org.eclipse.papyrus.infra.onefile.providers.PapyrusViewerSorter"
- id="org.eclipse.papyrus.infra.onefile.sorter">
- </commonSorter>
- <triggerPoints>
- <or>
- <instanceof
- value="org.eclipse.core.resources.IContainer">
- </instanceof>
- <instanceof
- value="org.eclipse.papyrus.infra.onefile.model.IPapyrusFile">
- </instanceof>
- <instanceof
- value="org.eclipse.papyrus.infra.onefile.model.ISubResourceFile">
- </instanceof>
- </or>
- </triggerPoints>
- <actionProvider
- class="org.eclipse.papyrus.infra.onefile.providers.SubresourceFileActionProvider"
- id="org.eclipse.papyrus.infra.onefile.DiContent.EditActions">
- <enablement>
- <instanceof
- value="org.eclipse.papyrus.infra.onefile.model.ISubResourceFile">
- </instanceof>
- </enablement>
- </actionProvider>
- </navigatorContent>
- </extension>
- <extension point="org.eclipse.ui.navigator.viewer">
- <viewerContentBinding viewerId="org.eclipse.team.ui.navigatorViewer">
- <includes>
- <contentExtension
- pattern="org.eclipse.papyrus.infra.onefile.DiContent"/>
- </includes>
- </viewerContentBinding>
- <viewerContentBinding
- viewerId="org.eclipse.jdt.ui.PackageExplorer">
- <includes>
- <contentExtension
- pattern="org.eclipse.papyrus.infra.onefile.onlyDiFilter">
- </contentExtension>
- <contentExtension
- pattern="org.eclipse.papyrus.infra.onefile.DiContent">
- </contentExtension>
- <contentExtension
- pattern="org.eclipse.papyrus.infra.onefile.oneFileLinkHelper">
- </contentExtension>
- <contentExtension
- pattern="org.eclipse.ui.navigator.resourceContent" />
- <contentExtension
- pattern="org.eclipse.ui.navigator.resources.filters.*"/>
- </includes>
- </viewerContentBinding>
- <viewerContentBinding
- viewerId="org.eclipse.ui.navigator.ProjectExplorer">
- <includes>
- <contentExtension
- pattern="org.eclipse.papyrus.infra.onefile.onlyDiFilter">
- </contentExtension>
- <contentExtension
- pattern="org.eclipse.papyrus.infra.onefile.DiContent">
- </contentExtension>
- <contentExtension
- pattern="org.eclipse.papyrus.infra.onefile.oneFileLinkHelper">
- </contentExtension>
- <contentExtension
- pattern="org.eclipse.ui.navigator.resourceContent" />
- <contentExtension
- pattern="org.eclipse.ui.navigator.resources.filters.*"/>
- </includes>
- </viewerContentBinding>
- <viewerContentBinding
- viewerId="org.eclipse.team.ui.navigatorViewer">
- <includes>
- <contentExtension
- pattern="org.eclipse.papyrus.infra.onefile.onlyDiFilter">
- </contentExtension>
- <contentExtension
- pattern="org.eclipse.papyrus.infra.onefile.DiContent">
- </contentExtension>
- </includes>
- </viewerContentBinding>
- <viewerContentBinding
- viewerId="org.eclipse.team.svn.ui.workspaceSynchronization">
- <includes>
- <contentExtension
- pattern="org.eclipse.papyrus.infra.onefile.onlyDiFilter">
- </contentExtension>
- <contentExtension
- pattern="org.eclipse.papyrus.infra.onefile.DiContent">
- </contentExtension>
- </includes>
- </viewerContentBinding>
- <viewerContentBinding
- viewerId="org.eclipse.team.cvs.ui.workspaceSynchronization">
- <includes>
- <contentExtension
- pattern="org.eclipse.papyrus.infra.onefile.onlyDiFilter">
- </contentExtension>
- <contentExtension
- pattern="org.eclipse.papyrus.infra.onefile.DiContent">
- </contentExtension>
- </includes>
- </viewerContentBinding>
- <viewerContentBinding
- viewerId="org.eclipse.papyrus.infra.onefile.DiContent">
- <includes>
- <contentExtension
- pattern="org.eclipse.jdt.java.ui.javaContent">
- </contentExtension>
- </includes>
- </viewerContentBinding>
- </extension>
<extension
- point="org.eclipse.ui.navigator.linkHelper">
- <linkHelper
- class="org.eclipse.papyrus.infra.onefile.model.adapters.PapyrusLinkHelper"
- id="org.eclipse.papyrus.infra.onefile.oneFileLinkHelper">
- <editorInputEnablement>
- <and>
- <instanceof
- value="org.eclipse.ui.IFileEditorInput">
- </instanceof>
- <adapt
- type="org.eclipse.core.resources.IFile">
- <test
- property="org.eclipse.core.resources.extension"
- value="di">
- </test>
- </adapt>
- </and>
- </editorInputEnablement>
- <selectionEnablement>
- <or>
- <instanceof
- value="org.eclipse.papyrus.infra.onefile.model.IPapyrusFile">
- </instanceof>
- <and>
- <instanceof
- value="org.eclipse.core.resources.IFile">
- </instanceof>
- <test
- forcePluginActivation="true"
- property="org.eclipse.core.resources.extension"
- value="di">
- </test>
- </and>
- </or>
- </selectionEnablement>
- </linkHelper>
- </extension>
- <extension
point="org.eclipse.papyrus.infra.onefile.modelFactory">
<factory
instance="org.eclipse.papyrus.infra.onefile.model.impl.PapyrusModelFactory"
priority="1">
</factory>
</extension>
- <extension
- point="org.eclipse.ui.decorators">
- <decorator
- adaptable="true"
- class="org.eclipse.papyrus.infra.onefile.providers.OneFileDecorator"
- id="org.eclipse.papyrus.infra.onefile.onefiledecorator"
- label="One File Decorator"
- lightweight="true"
- state="true">
- <enablement>
- <objectClass
- name="org.eclipse.papyrus.infra.onefile.model.IPapyrusFile">
- </objectClass>
- </enablement>
- </decorator>
- </extension>
-<extension
- point="org.eclipse.core.expressions.propertyTesters">
- <propertyTester
- class="org.eclipse.papyrus.infra.onefile.testers.PapyrusClipboardTester"
- id="org.eclipse.papyrus.infra.onefile.handlers.tester"
- namespace="org.eclipse.papyrus.infra.onefile.handlers.tester"
- properties="containsPapyrusModel"
- type="org.eclipse.swt.widgets.Shell">
- </propertyTester>
- <propertyTester
- class="org.eclipse.papyrus.infra.onefile.testers.PapyrusClipboardTester"
- id="org.eclipse.papyrus.infra.onefile.handlers.tester"
- namespace="org.eclipse.papyrus.infra.onefile.handlers.tester"
- properties="toto"
- type="java.util.Collection">
- </propertyTester>
-</extension>
-<!-- #368878 : Definition of command id to avoid error logs -->
-<extension
- id="org.eclipse.ui.commands.oneFile"
- name="Commands for oneFiles"
- point="org.eclipse.ui.commands">
- <command name="Move file"
- description="Move file"
- categoryId="org.eclipse.ui.category.file"
- id="move">
- </command>
- <command name="Open selected file"
- description="Open selected fsile"
- categoryId="org.eclipse.ui.category.file"
- id="org.eclipse.ui.navigator.Open">
- </command>
-</extension>
-
-
</plugin>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/Activator.java b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/Activator.java
index ef6d4e9b4eb..dea652ac93e 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/Activator.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/Activator.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 Atos Origin Integration.
+ * Copyright (c) 2011, 2016 Atos Origin Integration, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,17 +8,19 @@
*
* Contributors:
* Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
*****************************************************************************/
package org.eclipse.papyrus.infra.onefile;
+import org.eclipse.core.runtime.Plugin;
import org.eclipse.papyrus.infra.core.log.LogHelper;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
-public class Activator extends AbstractUIPlugin {
+public class Activator extends Plugin {
// The plug-in ID
public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.onefile"; //$NON-NLS-1$
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/IPapyrusElement.java b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/IPapyrusElement.java
index e9060a074c2..6c84a4e1790 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/IPapyrusElement.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/IPapyrusElement.java
@@ -1,7 +1,6 @@
package org.eclipse.papyrus.infra.onefile.model;
import org.eclipse.core.resources.IProject;
-import org.eclipse.swt.graphics.Image;
/**
* Basic operations for Papyrus Model Elements
@@ -18,13 +17,6 @@ public interface IPapyrusElement {
String getText();
/**
- * Return the image displayed for the {@link IPapyrusFile}
- *
- * @return
- */
- Image getImage();
-
- /**
* Return the project containing the {@link IPapyrusFile}
*
* @return an {@link IProject}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/ModelAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/ModelAdapterFactory.java
index fed1adfd0ae..a50fdeaf13a 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/ModelAdapterFactory.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/ModelAdapterFactory.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 Atos Origin Integration.
+ * Copyright (c) 2011, 2016 Atos Origin Integration, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,8 @@
*
* Contributors:
* Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
*****************************************************************************/
package org.eclipse.papyrus.infra.onefile.model.adapters;
@@ -20,49 +22,33 @@ import org.eclipse.core.resources.mapping.ResourceMapping;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.papyrus.infra.onefile.model.IPapyrusFile;
import org.eclipse.papyrus.infra.onefile.model.mapping.PapyrusResourceMapping;
-import org.eclipse.ui.IContributorResourceAdapter;
-import org.eclipse.ui.ide.IContributorResourceAdapter2;
/**
* Adapter factory to adapt {@link IPapyrusFile}
*
* @author tristan.faure@atosorigin.com
*/
-@SuppressWarnings("rawtypes")
public class ModelAdapterFactory implements IAdapterFactory {
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object,
- * java.lang.Class)
- */
- public Object getAdapter(Object adaptableObject, Class adapterType) {
+ public <T> T getAdapter(Object adaptableObject, Class<T> adapterType) {
if (ResourceMapping.class.equals(adapterType)) {
if (adaptableObject instanceof IPapyrusFile) {
- return new PapyrusResourceMapping((IPapyrusFile) adaptableObject);
+ return adapterType.cast(new PapyrusResourceMapping((IPapyrusFile) adaptableObject));
}
}
if (adapterType == IFile.class || adapterType == IResource.class) {
- return ((IPapyrusFile) adaptableObject).getMainFile();
- }
- if (IContributorResourceAdapter.class.equals(adapterType)) {
- return new PapyrusModelContributorResourceAdapter();
- }
- if (IContributorResourceAdapter2.class.equals(adapterType)) {
- return new PapyrusModelContributorResourceAdapter();
+ return adapterType.cast(((IPapyrusFile) adaptableObject).getMainFile());
}
if (Collection.class.equals(adapterType)) {
if (adaptableObject instanceof IPapyrusFile) {
- return Arrays.asList(((IPapyrusFile) adaptableObject).getAssociatedResources());
+ return adapterType.cast(Arrays.asList(((IPapyrusFile) adaptableObject).getAssociatedResources()));
}
}
return null;
}
- public Class[] getAdapterList() {
- return new Class[] {};
+ public Class<?>[] getAdapterList() {
+ return new Class[] { ResourceMapping.class, IFile.class, IResource.class, Collection.class };
}
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/SubResourceAdapterFactory.java b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/SubResourceAdapterFactory.java
index c5548e4269e..e6802247045 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/SubResourceAdapterFactory.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/adapters/SubResourceAdapterFactory.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 Atos Origin Integration.
+ * Copyright (c) 2011, 2016 Atos Origin Integration, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,17 +8,17 @@
*
* Contributors:
* Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
*****************************************************************************/
package org.eclipse.papyrus.infra.onefile.model.adapters;
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.mapping.ResourceMapping;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.papyrus.infra.onefile.model.ISubResourceFile;
import org.eclipse.papyrus.infra.onefile.model.impl.SubResourceFile;
import org.eclipse.papyrus.infra.onefile.model.mapping.SubResourceMapping;
-import org.eclipse.ui.IContributorResourceAdapter;
/**
* Adapter Factory for {@link SubResourceFile}
@@ -28,29 +28,21 @@ import org.eclipse.ui.IContributorResourceAdapter;
*/
public class SubResourceAdapterFactory implements IAdapterFactory {
- public Object getAdapter(Object adaptableObject, Class adapterType) {
+ public <T> T getAdapter(Object adaptableObject, Class<T> adapterType) {
if (ResourceMapping.class.equals(adapterType)) {
if (adaptableObject instanceof ISubResourceFile) {
- return new SubResourceMapping((ISubResourceFile) adaptableObject);
+ return adapterType.cast(new SubResourceMapping((ISubResourceFile) adaptableObject));
}
} else if (IFile.class.equals(adapterType)) {
if (adaptableObject instanceof ISubResourceFile) {
- return ((ISubResourceFile) adaptableObject).getFile();
- }
- } else if (IContributorResourceAdapter.class.equals(adapterType)) {
- if (adaptableObject instanceof ISubResourceFile) {
- return new PapyrusModelContributorResourceAdapter();
- }
- } else if (IResource.class.equals(adapterType)) {
- if (adaptableObject instanceof ISubResourceFile) {
- return ((ISubResourceFile) adaptableObject).getFile();
+ return adapterType.cast(((ISubResourceFile) adaptableObject).getFile());
}
}
return null;
}
- public Class[] getAdapterList() {
- return new Class[] {};
+ public Class<?>[] getAdapterList() {
+ return new Class[] { ResourceMapping.class, IFile.class };
}
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/impl/PapyrusFile.java b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/impl/PapyrusFile.java
index 1a8aab603d1..8f42089a09a 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/impl/PapyrusFile.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/impl/PapyrusFile.java
@@ -21,8 +21,6 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Platform;
import org.eclipse.papyrus.infra.onefile.model.IPapyrusFile;
import org.eclipse.papyrus.infra.onefile.utils.OneFileUtils;
-import org.eclipse.papyrus.infra.ui.util.PapyrusImageUtils;
-import org.eclipse.swt.graphics.Image;
/**
* Default Implementation of {@link IPapyrusFile}
@@ -92,10 +90,6 @@ public class PapyrusFile implements IPapyrusFile {
return getName().substring(0, getName().lastIndexOf('.'));
}
- public Image getImage() {
- return PapyrusImageUtils.getDefaultIcon();
- }
-
public Object getAdapter(Class adapter) {
return Platform.getAdapterManager().getAdapter(this, adapter);
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/impl/SubResourceFile.java b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/impl/SubResourceFile.java
index f3bbf8e370c..80e1aa52c38 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/impl/SubResourceFile.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/model/impl/SubResourceFile.java
@@ -14,12 +14,8 @@ package org.eclipse.papyrus.infra.onefile.model.impl;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.papyrus.infra.onefile.model.IPapyrusFile;
import org.eclipse.papyrus.infra.onefile.model.ISubResourceFile;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.PlatformUI;
/**
* Default implementation of {@link ISubResourceFile}
@@ -53,15 +49,6 @@ public class SubResourceFile implements ISubResourceFile {
return subResource;
}
- public Image getImage() {
- Image image = JFaceResources.getImage(getFile().getFileExtension());
- if (image == null) {
- ImageDescriptor desc = PlatformUI.getWorkbench().getEditorRegistry().getImageDescriptor(getFile().getName());
- JFaceResources.getImageRegistry().put(getFile().getFileExtension(), desc);
- }
- return JFaceResources.getImage(getFile().getFileExtension());
- }
-
public String getText() {
return toString();
}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/utils/OneFileUtils.java b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/utils/OneFileUtils.java
index 7d932671559..199eb10f341 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/utils/OneFileUtils.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/utils/OneFileUtils.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 Atos Origin Integration.
+ * Copyright (c) 2011, 2016 Atos Origin Integration, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,8 @@
*
* Contributors:
* Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
*****************************************************************************/
package org.eclipse.papyrus.infra.onefile.utils;
@@ -16,27 +18,11 @@ import java.util.ArrayList;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
import org.eclipse.papyrus.infra.core.resource.sasheditor.DiModel;
-import org.eclipse.papyrus.infra.onefile.Activator;
import org.eclipse.papyrus.infra.onefile.model.IPapyrusFile;
import org.eclipse.papyrus.infra.onefile.model.PapyrusModelHelper;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.FileEditorInput;
/**
* Utility methods
@@ -161,173 +147,6 @@ public class OneFileUtils {
return false;
}
- /**
- * Check if the object is in an already opened editor
- *
- * @param inputElement
- * @return
- */
- public static IEditorPart isOpenInEditor(Object inputElement) {
- IEditorPart editor = findEditor(inputElement, false);
- if (editor != null) {
- return editor;
- }
- IEditorInput input = getEditorInput(inputElement);
- if (input != null) {
-
- IWorkbenchPage p = getActivePage();
- if (p != null) {
- return p.findEditor(input);
- }
- }
- return null;
- }
-
- /**
- * Find an editor opening the input element
- *
- * @param inputElement
- * @param activate
- * , if activate is true, once the editor is found it is
- * activated
- * @return null if no editor is found
- */
- private static IEditorPart findEditor(Object inputElement, boolean activate) {
- if (inputElement instanceof IPapyrusFile) {
- IPapyrusFile cu = (IPapyrusFile) inputElement;
- if (cu != null) {
- IWorkbenchPage page = getActivePage();
- for (IEditorReference ref : page.getEditorReferences()) {
- IEditorPart editor = ref.getEditor(false);
- if (editor != null) {
- IEditorInput editorInput;
- editorInput = editor.getEditorInput();
- if (cu.getMainFile().equals(editorInput.getAdapter(IFile.class))) {
- if (activate && page.getActivePart() != editor) {
- page.activate(editor);
- }
- return editor;
- }
- }
- }
- }
- }
- return null;
- }
-
- /**
- * Open the editor corresponding to the inpur element
- *
- * @param inputElement
- * @param activate
- * @return
- * @throws PartInitException
- */
- public static IEditorPart openInEditor(Object inputElement, boolean activate) throws PartInitException {
-
- if (inputElement instanceof IFile) {
- return openInEditor((IFile) inputElement, activate);
- }
- IEditorPart editor = findEditor(inputElement, activate);
- if (editor != null) {
- return editor;
- }
- IEditorInput input = getEditorInput(inputElement);
- if (input == null) {
- throw new PartInitException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "not found"));
- }
- return openInEditor(input, getEditorID(input), activate);
- }
-
- /**
- * Get the editor input for the given element
- *
- * @param inputElement
- * @return
- */
- private static IEditorInput getEditorInput(Object inputElement) {
- if (inputElement instanceof IFile) {
- IFile file = (IFile) inputElement;
- return new FileEditorInput(file);
- }
- return null;
- }
-
- /**
- * Get the editor id for an editor input
- *
- * @param input
- * @return
- * @throws PartInitException
- */
- public static String getEditorID(IEditorInput input) throws PartInitException {
-
- Assert.isNotNull(input);
-
- IEditorDescriptor editorDescriptor;
-
- if (input instanceof IFileEditorInput) {
- editorDescriptor = IDE.getEditorDescriptor(((IFileEditorInput) input).getFile());
- } else {
- editorDescriptor = IDE.getEditorDescriptor(input.getName());
- }
- return editorDescriptor.getId();
-
- }
-
- /**
- * @param file
- * @param activate
- * @return
- * @throws PartInitException
- */
- private static IEditorPart openInEditor(IFile file, boolean activate) throws PartInitException {
-
- if (file == null) {
- throw new PartInitException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "not found"));
- }
-
- IWorkbenchPage p = getActivePage();
-
- if (p == null) {
- throw new PartInitException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "not found"));
- }
-
- IEditorPart editorPart = IDE.openEditor(p, file, activate);
-
- return editorPart;
-
- }
-
- /**
- * Get the active Page
- *
- * @return
- */
- public static IWorkbenchPage getActivePage() {
- IWorkbench workbench = PlatformUI.getWorkbench();
- if (workbench == null) {
- return null;
- }
- IWorkbenchWindow activeWorkbenchWindow = workbench.getActiveWorkbenchWindow();
- if (activeWorkbenchWindow == null) {
- return null;
- }
- return activeWorkbenchWindow.getActivePage();
- }
-
- private static IEditorPart openInEditor(IEditorInput input, String editorID, boolean activate) throws PartInitException {
- Assert.isNotNull(input);
- Assert.isNotNull(editorID);
- IWorkbenchPage p = getActivePage();
- if (p == null) {
- throw new PartInitException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "not found"));
- }
- IEditorPart editorPart = p.openEditor(input, editorID, activate);
- return editorPart;
-
- }
-
public static IFile[] getAssociatedFiles(IPapyrusFile papyrusFile) {
ArrayList<IFile> files = new ArrayList<IFile>();
for (IResource res : papyrusFile.getAssociatedResources()) {
diff --git a/plugins/infra/org.eclipse.papyrus.infra.sync/META-INF/MANIFEST.MF b/plugins/infra/org.eclipse.papyrus.infra.sync/META-INF/MANIFEST.MF
index 2ea28d5a21d..5f21ea11976 100755
--- a/plugins/infra/org.eclipse.papyrus.infra.sync/META-INF/MANIFEST.MF
+++ b/plugins/infra/org.eclipse.papyrus.infra.sync/META-INF/MANIFEST.MF
@@ -1,6 +1,5 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
+Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;bundle-version="2.11.0",
org.eclipse.emf.transaction;bundle-version="1.8.0",
org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
diff --git a/plugins/infra/org.eclipse.papyrus.infra.sync/src/org/eclipse/papyrus/infra/sync/Activator.java b/plugins/infra/org.eclipse.papyrus.infra.sync/src/org/eclipse/papyrus/infra/sync/Activator.java
index ac8d2b32dfc..e0bb8d38ddd 100755
--- a/plugins/infra/org.eclipse.papyrus.infra.sync/src/org/eclipse/papyrus/infra/sync/Activator.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.sync/src/org/eclipse/papyrus/infra/sync/Activator.java
@@ -1,6 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
- *
+ * Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -9,19 +8,20 @@
*
* Contributors:
* Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 485220
*
*****************************************************************************/
package org.eclipse.papyrus.infra.sync;
+import org.eclipse.core.runtime.Plugin;
import org.eclipse.papyrus.infra.core.log.LogHelper;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
-public class Activator extends AbstractUIPlugin {
+public class Activator extends Plugin {
// The plug-in ID
public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.sync"; //$NON-NLS-1$
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.classpath b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.classpath
new file mode 100644
index 00000000000..098194ca4b7
--- /dev/null
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.project b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.project
new file mode 100644
index 00000000000..114ae167f20
--- /dev/null
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.services.edit.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..f08be2b06c4
--- /dev/null
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/META-INF/MANIFEST.MF b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..77f4d78d938
--- /dev/null
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.infra.services.edit.internal.ui;x-internal:=true,
+ org.eclipse.papyrus.infra.services.edit.internal.ui.messages;x-internal:=true,
+ org.eclipse.papyrus.infra.services.edit.ui.dialogs
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ com.google.guava;bundle-version="11.0.0",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="1.2.0"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.infra.services.edit.internal.ui.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.infra.services.edit.ui;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/about.html b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/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/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/build.properties b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/build.properties
new file mode 100644
index 00000000000..fd01d53c987
--- /dev/null
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/build.properties
@@ -0,0 +1,10 @@
+bin.includes = META-INF/,\
+ .,\
+ plugin.properties,\
+ build.properties,\
+ about.html,\
+ messages.properties
+output..=bin/
+src.includes = about.html
+source..=src/
+bin..=bin/
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/messages.properties b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/messages.properties
new file mode 100644
index 00000000000..cfe608a0880
--- /dev/null
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/messages.properties
@@ -0,0 +1,3 @@
+ElementTypeValidator_NoSelection=No selection found.
+ElementTypeValidator_ValidSelection=Selection validated.
+ElementTypeValidator_InvalidSelection=Selection has to be a {0}.
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/plugin.properties b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/plugin.properties
new file mode 100644
index 00000000000..af763082677
--- /dev/null
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/plugin.properties
@@ -0,0 +1,15 @@
+#################################################################################
+# Copyright (c) 2010, 2016 CEA LIST, Christian W. Damus, and others.
+
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API and implementation
+# Yann Tanguy yann.tanguy@cea.fr - GMF Runtime based edit service for model type
+# Christian W. Damus - bug 485220
+##################################################################################
+pluginName=Papyrus Edit Service UI
+providerName=Eclipse Modeling Project
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/pom.xml b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/pom.xml
new file mode 100644
index 00000000000..9bf694cbf65
--- /dev/null
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.releng</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ <relativePath>../../../../releng/main</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.services.edit.ui</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/src/org/eclipse/papyrus/infra/services/edit/internal/ui/Activator.java b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/src/org/eclipse/papyrus/infra/services/edit/internal/ui/Activator.java
new file mode 100644
index 00000000000..304a2391f26
--- /dev/null
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/src/org/eclipse/papyrus/infra/services/edit/internal/ui/Activator.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.services.edit.internal.ui;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ /** Plug-in ID */
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.services.edit.ui"; //$NON-NLS-1$
+
+ /** Shared instance */
+ private static Activator plugin;
+
+ /** Default constructor */
+ public Activator() {
+ }
+
+ /** Logging helper */
+ public static LogHelper log;
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ log = new LogHelper(plugin);
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/src/org/eclipse/papyrus/infra/services/edit/internal/ui/messages/Messages.java b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/src/org/eclipse/papyrus/infra/services/edit/internal/ui/messages/Messages.java
new file mode 100644
index 00000000000..f6f5480df3d
--- /dev/null
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/src/org/eclipse/papyrus/infra/services/edit/internal/ui/messages/Messages.java
@@ -0,0 +1,34 @@
+/*****************************************************************************
+ * Copyright (c) 2011, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 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
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.services.edit.internal.ui.messages;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * Internationalization messages class.
+ */
+public class Messages extends NLS {
+
+ public static String ElementTypeValidator_NoSelection;
+ public static String ElementTypeValidator_ValidSelection;
+ public static String ElementTypeValidator_InvalidSelection;
+
+ static {
+ NLS.initializeMessages("messages", Messages.class); //$NON-NLS-1$
+ }
+
+ private Messages() {
+ }
+}
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit/src/org/eclipse/papyrus/infra/services/edit/utils/ElementTypeValidator.java b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/src/org/eclipse/papyrus/infra/services/edit/ui/dialogs/ElementTypeValidator.java
index d4c676d8f4c..05cb6df647b 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit/src/org/eclipse/papyrus/infra/services/edit/utils/ElementTypeValidator.java
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/src/org/eclipse/papyrus/infra/services/edit/ui/dialogs/ElementTypeValidator.java
@@ -11,7 +11,7 @@
* CEA LIST - Initial API and implementation
*
*****************************************************************************/
-package org.eclipse.papyrus.infra.services.edit.utils;
+package org.eclipse.papyrus.infra.services.edit.ui.dialogs;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
@@ -19,7 +19,7 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
import org.eclipse.osgi.util.NLS;
-import org.eclipse.papyrus.infra.services.edit.Activator;
+import org.eclipse.papyrus.infra.services.edit.internal.ui.Activator;
import org.eclip