Bug 487946 - Add support for the IRootEObjectProvider necessary for the AQL service allInstances()
Summary: Add support for the IRootEObjectProvider necessary for the AQL service allIns...
Status: NEW
Alias: None
Product: Sirius
Classification: Modeling
Component: Core (show other bugs)
Version: 3.1.0   Edit
Hardware: PC Mac OS X
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Project inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2016-02-17 10:28 EST by Stephane Begaudeau CLA
Modified: 2016-02-18 03:40 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephane Begaudeau CLA 2016-02-17 10:28:15 EST
In order to use the AQL service allInstances(), Sirius should give AQL an IRootEObjectProvider during the creation of the interpreter. In the bundle o.e.s.common.acceleo.aql, it should create the AQLSiriusInterpreter using:

public AQLSiriusInterpreter() {
  super();
  this.queryEnvironment = Query.newEnvironmentWithDefaultServices(xRef, rootsProvider);
  ...
}

instead of 

public AQLSiriusInterpreter() {
  super();
  this.queryEnvironment = Query.newEnvironmentWithDefaultServices(xRef);
  ...
}

This IRootEObjectProvider should let AQL know where to look for references. In the use case of Sirius, a first version should maybe look in all the semantic resources of the session (and the package registry? just Ecore.ecore?)
Comment 1 Steve Monnier CLA 2016-02-18 03:40:39 EST
Thanks for your detailed bug report.
We have reproduced this issue and we consider it as valid.
Nevertheless, we have currently not planned to work on it in the following releases.