Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 517560

Summary: [aird editor] Improve the rules used to infer good candidates for new models root
Product: [Modeling] Sirius Reporter: Pierre-Charles David <pierre-charles.david>
Component: CoreAssignee: Project inbox <sirius.core-inbox>
Status: CLOSED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: julien.dupont, pierre.guilet
Version: 5.0.0Keywords: triaged
Target Milestone: 5.0.1   
Hardware: All   
OS: All   
See Also: https://git.eclipse.org/r/99872
https://git.eclipse.org/r/100089
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=0fd0d931e7cdd0d055055894299f24ea391793ee
Whiteboard: aird_editor ux model_creation_wizard

Description Pierre-Charles David CLA 2017-05-31 10:14:25 EDT
In the second page of the model creation wizard (the one available on the "New..." button in the aird editor), if the selected EPackage does not have associated metadata we try to infer good candidate types for the root of the new resource. The rules used produce suboptimal results and can probably be improved. 

Some study will be needed to decide which concrete rules to use to produce good results in practical cases.
Comment 1 Eclipse Genie CLA 2017-06-22 10:38:27 EDT
New Gerrit change created: https://git.eclipse.org/r/99872
Comment 2 Eclipse Genie CLA 2017-06-27 03:39:27 EDT
New Gerrit change created: https://git.eclipse.org/r/100089
Comment 4 Pierre Guilet CLA 2017-06-27 09:12:52 EDT
First version is done. 

An improved version of the algorithm exists to handle better bpmn model inference for exemple: https://git.eclipse.org/r/#/c/100089
But the perf are really bad when choosing uml models (15s)
Some optimisations must be done like mixing the two recursive methods.
Comment 5 Pierre Guilet CLA 2017-06-27 09:15:45 EDT
Other optimisation is to cache ECLass containmentfor each EClass visited to avoid iterate over and over the same elements.
Comment 6 Pierre-Charles David CLA 2017-06-30 09:46:48 EDT
Available in Sirius 5.0.1, see https://wiki.eclipse.org/Sirius/5.0.1 for details.