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/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

Import From Rhapsody Model

The bugs used for this task are:

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:

  1. 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
  2. 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).

Back to the top