Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Papyrus/Migration Guide/Oxygen"
(→Toolsmiths Layer) |
|||
Line 69: | Line 69: | ||
== Toolsmiths Layer == | == Toolsmiths Layer == | ||
+ | ===A feature for People that create upon Papyrus === | ||
+ | |||
+ | A new feature has been created to gather all plugins utilities dedicated to create utility programs upon Papyrus. | ||
+ | |||
+ | ===Switching from Ecore models to Papyrus UML models === | ||
+ | |||
+ | An effort has been made to switch from pure ecore model to Papyrus UML model in all relevant plugins used in Papyrus Toolsmiths. | ||
+ | The genmodel is now based on the UML model, it generates the Ecore model used to produce model, edit and editor plugins. | ||
+ | |||
+ | ===Switching from Elementtype String based references to Elementtype EReference === | ||
+ | |||
+ | Papyrus is becomming more and more model based, an effort has been made to migrate all models that use Elementtype with String references to Elementtype with EReferences. | ||
== PaletteConfiguration model == | == PaletteConfiguration model == |
Revision as of 08:40, 16 May 2017
Contents
Papyrus Oxygen API Migration Guide
This document provides a guide to migrating applications that extend Papyrus to the new Oxygen version APIs.
API Evolution Report
An API Evolution Report is generated for "Neon to Oxygen" and it is available here: API Evolution Report
Infra Layer
Deprecated code
Following deprecated types have been removed:
Deprectated Types | New Types |
---|---|
org.eclipse.papyrus.infra.emf.readonly.AbstractReadOnlyHandler
|
org.eclipse.papyrus.infra.core.resource.AbstractReadOnlyHandler
|
org.eclipse.papyrus.commands.NotifyingWorkspaceCommandStack
|
org.eclipse.papyrus.infra.emf.gmf.command.NotifyingWorkspaceCommandStack
|
org.eclipse.papyrus.commands.wrappers.EMFtoGMFCommandWrapper
|
org.eclipse.papyrus.infra.emf.gmf.command.EMFtoGMFCommandWrapper
|
org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper
|
org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper
|
org.eclipse.papyrus.infra.gmfdiag.common.utils.GMFUnsafe
|
org.eclipse.papyrus.infra.emf.gmf.util.GMFUnsafe
|
org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusPreferencePage
|
org.eclipse.papyrus.infra.ui.preferences.AbstractPapyrusPreferencePage
|
org.eclipse.papyrus.uml.diagram.common.util.MDTUtil
|
org.eclipse.papyrus.infra.gmfdiag.common.utils.MDTUtil
|
ElementTypesConfiguration Framework
ElementTypesConfiguration Metamodel Changes
The metamodel for the ElementTypesConfigurations has been changed to use model-based defintion of specialization relationships among elementtypes and advice ordering specification.
Although these changes don't change the underlying concepts of the elementtypesconfigurations and their extensions, they impact the *.elementtypesconfigurations
models created with this metamodel.
You'll find all the details of the changes below. A little developer tool has been developed to assist the migration in the org.eclipse.papyrus.types.dev
plugin (namely: org.eclipse.papyrus.dev.types.handlers.MigrateSpecializations
). Note that if there are specializations of elementtypes coming from multiple files, you must select all the files to migrate.
Migration of the NsURI
Old Namespace URI | New Namespace URI |
---|---|
http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.1
|
http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2
|
Migration of the SpecializationTypeConfiguration
The specializedTypesID
attribute of org.eclipse.papyrus.infra.types.SpecializationTypeConfiguration
is now specializedTypes
. Instead of being a list of String-based identifiers of elementtypes, developers can now reference to the org.eclipse.papyrus.infra.types.ElementTypeConfiguration
to specialize at a model level directly.
Should the elementtype to reference be already defined using the extension point mechanism, developers may use an org.eclipse.papyrus.infra.types.ExternallyRegisteredType
to have a model element that is a "proxy" to the extension point definition.
Migration of the AdviceConfiguration
The before
and after
attributes of org.eclipse.papyrus.infra.types.AdviceConfiguration
are now lists of org.eclipse.papyrus.infra.types.AdviceConfiguration
instead of being lists of String-based qualified names of Java classes implementing org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice
. Developers can now reference to the org.eclipse.papyrus.infra.types.AdviceConfiguration
to force advice execution order at a model level directly.
Should the advice to reference be already defined using the extension point mechanism, developers may use an org.eclipse.papyrus.infra.types.ExternallyRegisteredAdvice
to have a model element that is a "proxy" to the extension point definition.
Toolsmiths Layer
A feature for People that create upon Papyrus
A new feature has been created to gather all plugins utilities dedicated to create utility programs upon Papyrus.
Switching from Ecore models to Papyrus UML models
An effort has been made to switch from pure ecore model to Papyrus UML model in all relevant plugins used in Papyrus Toolsmiths. The genmodel is now based on the UML model, it generates the Ecore model used to produce model, edit and editor plugins.
Switching from Elementtype String based references to Elementtype EReference
Papyrus is becomming more and more model based, an effort has been made to migrate all models that use Elementtype with String references to Elementtype with EReferences.
PaletteConfiguration model
Currently there is no automatic way to migrate the palette configuration from old to the new version. Later a tool should be available.
Here is a manual method to pass from old to new model.
In a papyrus instance:
- Create a copy of your palette configuration model.
- open it with a text editor
- Remove all elementTypeId attributes. (keep it in the original file)
- replace
http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.7
byhttp://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.8
- Save it and open it with palette configuration editor.
- For each tool, add elementType which corresponds to the elementTypeIds in the original file. Past its id in the search field is a easy way to find the corresponding element type.
- In the plugin.xml file at the palette configuration declaration. Replace org.eclipse.papyrus.uml.diagram.common.paletteDefinition by org.eclipse.papyrus.infra.gmfdiag.common.paletteDefinition.