Papyrus Oxygen API Migration Guide
This document provides a guide to migrating applications that extend Papyrus to the new Oxygen version APIs.
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:
Migration of the NsURI
|Old Namespace URI||New Namespace URI|
Migration of the SpecializationTypeConfiguration
specializedTypesID attribute of
org.eclipse.papyrus.infra.types.SpecializationTypeConfiguration is now
specializedTypes. Instead of being a list of Sting-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
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.