Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Papyrus/Migration Guide/Oxygen"

(Infra Layer)
Line 66: Line 66:
  
 
Should the advice to reference be already defined using the extension point mechanism, developers may use an <code>org.eclipse.papyrus.infra.types.ExternallyRegisteredAdvice</code> to have a model element that is a "proxy" to the extension point definition.
 
Should the advice to reference be already defined using the extension point mechanism, developers may use an <code>org.eclipse.papyrus.infra.types.ExternallyRegisteredAdvice</code> to have a model element that is a "proxy" to the extension point definition.
 +
 +
== 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)
 +
#Save it and open it with palette configuration editor.
 +
#For each tool, add elementType which corresponds to the ''elementTypeId''s 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''.

Revision as of 09:41, 18 April 2017

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.

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:

  1. Create a copy of your palette configuration model.
  2. open it with a text editor
  3. Remove all elementTypeId attributes. (keep it in the original file)
  4. Save it and open it with palette configuration editor.
  5. 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.
  6. 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.

Back to the top