Jump to: navigation, search

Graphical Modeling Framweork/Reconciler

Model reconciler is a piece of GMF that preserves some gmfgen model parts when it is regenerated from gmfmap model. Mostly they are properties that are available only in gmfgen model and may be customized by toolsmith such as class names.

Here is a brief outline of transformation logic (see TransformToGenModelOperation for actual implementation):

  1. Source models are being loaded (gmfmap, genmodel)
  2. Visual IDs dispenser is acquired; it may be the default one that assigns IDs incrementialy or merging one that uses trace file to preserve IDs distributed earlier
  3. Mapping model is being transformed to generator model (deprecated names dispenser assigns names here, the new one does nothing)
  4. New generator model is being reconciled with the old one if it's available; class names from the old model are copied into the new one
  5. New names dispenser traverses reconciled model twice: during the first pass it collects assigned class names and during the second pass it generates missing class names so they are unique
  6. New model is saved and validated

Related Classes

  • TransformToGenModelOperation - transforms mapping to generator model
  • Reconciler - reconciles new generator model with the new one; uses matchers and decisions to describe behaviour
  • GMFGenConfig - reconciler configuration for generator model
  • GenNamingMediatorImpl - names dispenser that generates class unique names using pluggable strategies