ObeoNetwork / InformationSystem

Un outil open-source complet pour décrire visuellement les applications de votre système d’information.
https://www.isdesigner.org/
Eclipse Public License 2.0
65 stars 61 forks source link

Add environment support to database #29

Open sthibaudeau opened 5 years ago

sthibaudeau commented 5 years ago

Change database DSL so that it inherits from environment

vrichard12 commented 1 year ago

The main concern of this evolution is to handle the impacts of changing the way Databae Elements ID is exposed.

A simple approach to handle the situation minimizing impacts is to keep the old Databae Element ID and map it to the environment one. We thus eliminate the risks of regression in the representations, in the scaffolding, and in the import of libraries.

Here are the steps:

1 - Modification of the Database metamodel to introduce the dependency on Environment 1.1 - Dependency from org.obeonetwork.dsl.database to org.obeonetwork.dsl.environment 1.2 - Inheritance of ObeoDSMObject by DatabaseElement 1.3 - Setting id=false on DatabaeElement::ID (the ID is now provided by ObeoDSMObject) (used by scaffolding) 1.4 - Setting derived=true and volatile=true on DatabaseElement::techID (the getter and setter API for techID is kept to limit potential impacts)

2 - Update of the Database metamodel code 2.1 - Generation of Model, Edit, and Editor code for Database 2.2 - Modification of DatabaseElementItemProvider.createInitializeCopyCommand to cover the behavior of IdentifiableItemProvider 2.3 - Implementation of getTechID() and setTechID() (pass-through to getTechnicalid() and setTechnicalid()) 2.4 - Mark getTechID() and setTechID() as Deprecated

3 - Side customizations specific to Database 3.1 - Deactivate interaction and state machine creation on Database model elements 3.2 - Activate Environment viewpoint automatically when a Database model is created