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.
Difference between revisions of "Papyrus/Oxygen Work Description/NewFeature/ImportRhapsody"
(→Development) |
(→Papyrus Rhapsody Plugins) |
||
Line 27: | Line 27: | ||
**This plugin is not distributed, but it is build (a pom.xml file is provided) | **This plugin is not distributed, but it is build (a pom.xml file is provided) | ||
**This plugin allow to update Rhapsody EMF metamodel when we meet models inconsistent with the current one. | **This plugin allow to update Rhapsody EMF metamodel when we meet models inconsistent with the current one. | ||
+ | |||
+ | |||
+ | ==How does Papyrus Rhapsody Import work ?== | ||
+ | This import works in 2 steps: | ||
+ | #we convert the '''*.rpy''' file into a '''*.umlrhapsody''' which is the same model described using the EMF Rhapsody metamodel provided by the plugin '''org.eclipse.papyrus.migration.rhapsody.metamodel''' | ||
+ | #we call the QVTO transformation themselves to import the model described in the '''*.umlrhapsody''' file into a Papyrus model (file *.uml, *.notation and *.di) | ||
=Required changes in Papyrus= | =Required changes in Papyrus= |
Revision as of 11:40, 12 September 2016
Contents
Import From Rhapsody Model
The bugs used for this task are:
- bug 496175: Papyrus must provide a tool to import UML Rhapsody model into Papyrus
- used to trace the development itself
- bug 499237: the plugin org.eclipse.papyrus.migration.rsa must be refactored
- used to trace the rsa refactoring
Development
- The development is done on a dedicated branch called committers/vlorenzo/oxygen/496176-import-rpy based on the master (Oxygen) branch.
- Builds are associated to this branch here
Papyrus Rhapsody Plugins
All Papyrus Rhapsody plugins are stored in the Papyrus git, in this path : extraplugins/migration/rhapsody
- org.eclipse.papyrus.migration.rhapsody.metamodel, org.eclipse.papyrus.migration.rhapsody.metamodel.edit, org.eclipse.papyrus.migration.rhapsody.metamodel.editor:
- these plugins provide the EMF version of the Rhapsody metamodel used to create Models and Diagrams.
- The metamodel has been initially created using the Rhapsody java API, then completed using all examples provided by Rhapsody. This update has been done using the plugin org.eclipse.papyrus.migration.rhapsody.dev.api.discovery.
- org.eclipse.papyrus.migration.rhapsody.blackboxes:
- This plugin provides some usefull blackboxes (java code). They are called by the QVTO transformations.
- These blackboxes can't be wrapped in the same plugins than the QVTo transformations themselves due to compilation errors (at least for developper).
- org.eclipse.papyrus.migration.rhapsody.parser and org.eclipse.papyrus.migration.rhapsody.parser.ui:
- These plugins are used to parse the Rhapsody files (*rpy)
- org.eclipse.papyrus.migration.rhapsody.dev.api.discovery:
- It is a developper plugin
- This plugin is not distributed, but it is build (a pom.xml file is provided)
- This plugin allow to update Rhapsody EMF metamodel when we meet models inconsistent with the current one.
How does Papyrus Rhapsody Import work ?
This import works in 2 steps:
- we convert the *.rpy file into a *.umlrhapsody which is the same model described using the EMF Rhapsody metamodel provided by the plugin org.eclipse.papyrus.migration.rhapsody.metamodel
- we call the QVTO transformation themselves to import the model described in the *.umlrhapsody file into a Papyrus model (file *.uml, *.notation and *.di)
Required changes in Papyrus
Papyrus already manages the import of RSA Model. All the code of this import (QVTO transformation, Wizard Pages, Dialog, Launcher, ...) are in the plugin org.eclipse.papyrus.migration.rsa
. Thje main part of this code is generic, so a refactoring is required to be able to reuse this code for the Rhapsody Import.
These changes will be done using the Bug 499237: [Importer][Rhapsody][RSA] the plugin org.eclipse.papyrus.migration.rsa must be refactored<code>
Changes
Papyrus model rsaToPapyrusParameters (from org.eclipse.papyrus.migration.rsa/model/ui) becomes migrationParameters (in org.eclipse.papyrus.migration.common/model/ui).