Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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