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

Papyrus/Oxygen Work Description/Refactoring/PaletteDefinition

Palette Definition

Papyrus provides facilities to define easily domain specific palettes to be bound to the diagram editors.

However, Papyrus provides two mecahnism to do that. The first one was based on an ad hoc xml configuration file and it is now deprecated framework. The new framework is based on a model definition.

This tasks aims at:

  • removing the deprecated framework from Papyrus
  • replace extension-based definitions of raw diagram editors by a model-based definition
  • improve the model-based palette definition framework to align with legacy implementations if required
  • provide guidance and all the facilities to ease the migration from the deprecated framework to the new model-based

Associated tasks

Main task

Related tasks

Steps

  1. Remove old framework classes in:
    - oep.uml.diagram.common.service
    - oep.uml.diagram.common.service.palette
  2. Move palette framework classes
    from
    - oep.uml.diagram.common.part
    - oep.uml.diagram.common.service
    - oep.uml.diagram.common.service.palette
    to
    - oep.infra.gmfdiag.common.service.palette
  3. Move palette configuration model
    from
    - oep.uml.diagram.paletteconfiguration
    to
    - oep.infra.gmfdiag.paletteconfiguration
  4. Move palette extension points
    from
    - oep.uml.diagram.common.paletteCustomization
    - oep.uml.diagram.common.paletteDefinition
    to
    - oep.infra.gmfdiag.common.paletteCustomization
    - oep.infra.gmfdiag.common.paletteDefinition
  5. Delete plug-ins
    - org.eclipse.papyrus.customization.paletteconfiguration Plug-in
    The plug-in seems not to be usefull. It juste declare facet profile for model explorer...with some query.
    - org.eclipse.papyrus.uml.diagram.css.palette
    The plug-in was used to implement a post action to add css style to an element
    - org.eclipse.papyrus.uml.diagram.common.aspectToolProvider extension point
  6. Move files
    - from uml to infra for oep...paletteconfiguration… plug-in
    - from customization to toolsmith for org.eclipse.papyrus.customization.palette
  7. Update paletteConfiguration metamodel
    - Add entryClassName String property at ToolConfiguration Class. (see Bug 512110)
    - Replace elementTypeId by elementType references.
    - Update java class to be compliant with new metamodel
    - Update paletteConfiguaration Properties View
  8. Create migration plugin for paletteConfiguration model
    - use of qvto
  9. Migrate Palette (see Bug 510587)
    - UML (With gmfGen generation)
    - SYSML (with migration tool, the paletteConf from 0.7 is done)
  10. Create CSSStyle Action for new framework
    - creation of a plugin to add new action which add cssClass notation property.
  11. Write Migration guide (see Bug 447262)
    - Writed in the palette customization documentation
  12. Create migration Tools for paletteconfiguration 0.7 to 0.8 (see Bug 515531)
  13. Update JUnit Tests
  14. Create new tests
    - JUnit
    - RcpTT

Progression

  • Step 1 to 9 (except 8): Gerrit review integrated in master 92099
  • Step 10: In wait for now (see bug 512944)
  • Step 11: In Progress in gerrit review 91047 and wiki done here
  • Step 12-13: In wait for now

Reviews

Regression

  • Manage of required profiles of palette need uml dependencies which have been removed.
    The new Architecture framework will handle the role to load palette taking account of the context.

Back to the top