Skip to content
  • Alexander Diewald's avatar
    Kernel-Services: Move model loading to from init to start phase · 6c64c932
    Alexander Diewald authored
    * The initialization phase shall ensure that all required information
      about handlers, element types they process etc. are available. It can
      be considered the configuration phase that is later used to process
      instances of elements.
    * This change ensures that models are only loaded at the beginning of
      the startup phase such that all services are ready when instances
      of elements shall be processed.
    * In particular, this modification will be needed to instantiate all
      missing annotations when a model is loaded to fulfill the respective
      constraint that annotations are always present at model elements for
      whose type they were registered.
    * Therefore, a migrator is used. They are executed by a callback from
      the postLoad routine that will also be fired when importing models to
      avoid code duplication. Thus, in order to ensure that the annotation
      service is aware of all present annotations, it must be initialized
      before the model is loaded.
    * AF3 startup works as normal and all functionality seems OK. Since this
      is an invasive change under the hood, problems would be noticeable
      immediately, so this one should be fine as no obvious errors could be
      seen.
    
    Issue-Ref: 3746
    Issue-Url: https://af3-developer.fortiss.org/issues/3746
    
    
    Signed-off-by: default avatarAlexander Diewald <diewald@fortiss.org>
    6c64c932