Partial Ecorification/Scope Selection
Pre-releaseThis release introduced a variety of features to the Ecorification pipeline:
-
Implemented the selection of an Ecorification scope, which allows the partial Ecorification of a project. This allows to conveniently ecorify a few classes of packages of a project. See EME v0.3.0 for more information on the scope selection.
-
Added the option to only execute the extraction step of the Ecorification pipeline with all the Ecorification related settings. This allows analysing the extracted Ecore metamodel before fully executing the Ecorification. It is different from executing the EME alone because it uses the specific configuration used during the Ecorification.
-
Implemented the full manipulation of the Ecore imports. The class now changes all problematic imports in all Ecore implementation classes and adds the changed imports to the correlating Ecore interfaces while retaining the correct super interfaces of the implementation classes. A problematic import declaration is any import declaration that references a type from the Ecore package which has a counterpart in the Ecore metamodel and the origin code.
-
Broadened the functionality of the wrappers, which form the unification code. They now support abstract classes and constructor delegation. Constructor delegation is needed whenever a class calls a constructor of the super class in its constructors.
-
Implemented the renaming and replacement of the Ecore factories by custom factories
-
Added class exposer to the pipeline which is needed to deal with non-public classes.
-
Implemented the default constructor generation which circumvents problems with classes without a default constructor. This is only a temporary solution.
-
Implemented support for generics. This allows the Ecorification of modern and complex projects.
-
Added support for different source folders including an automatic detection for standard source folder layouts.
UI Improvements. -
Enabled property dependent logging which allows to control the amount of information given to the user.
-
Fixed a lot of bugs.