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

Bug 460947

Summary: Support invocation of Java services from the workspace with service: and aql:
Product: [Modeling] Sirius Reporter: Cedric Brun <cedric.brun>
Component: CoreAssignee: Cedric Brun <cedric.brun>
Status: CLOSED FIXED QA Contact: Belqassim Djafer <belqassim.djafer>
Severity: enhancement    
Priority: P3 CC: esteban.dugueperoux, florian.barbin, maxime.porhel, philippe.dul, pierre-charles.david
Version: unspecifiedKeywords: triaged
Target Milestone: 3.0.0M7   
Hardware: PC   
OS: Linux   
See Also: https://git.eclipse.org/r/43027
https://git.eclipse.org/r/43028
https://git.eclipse.org/r/43065
https://git.eclipse.org/r/44116
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=69539959f35957701e6c936541ecef9fff1885b4
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=95c14db0004a14ac0b3d8d637fd35ab887433af3
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=35f6066de6d2e92047387f5ed0b65d7dd6209596
https://git.eclipse.org/r/44999
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=0dc80429ca6441c5d8ed394d35db58dd99ecc3ed
https://git.eclipse.org/r/45638
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=b35e7360613534c2b6b8520fb1326d03eeda94e8
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=64aaa7a8c69a8191ee0401968e57c2df7d96ba39
Whiteboard: needtest
Bug Depends on: 461072    
Bug Blocks:    

Description Cedric Brun CLA 2015-02-26 09:36:16 EST
This feature is about being able to invoke Java services using AQL (Acceleo Query Langage) and/or the Service interpreter, directly from the workspace without requiring to launch a new runtime.

This used to be supported by Acceleo2, and then by Acceleo3 (with very different mechanism involved). Changes in the the underlying OSGi implementation made us remove this support for Acceleo3 starting with Luna.

Every implementation (being for Acceleo2 or Acceleo3) involved assumptions, limitations and risks as this involves loading Classes which have dependencies either to other classes being in the workspace, or classes being in deployed in the runtime environment while limiting class incompatibilities as the model instances which are being loaded are not using any of this class-loading override.

That being said in the last few years this has been proven to be a very useful features for specifiers, reducing the turn-around time and in case of issue one can always fall back to launching an Eclipse runtime.

Hence the major requirement that *once the modeler is deployed, none of this code should be called*

Also, these mechanism are involving dependencies to JDT and/or PDE so we should make sure these are not becoming transitive dependencies for the modelers made with Sirius.

As this support is bound to be common for different interpreters (AQL, and service: notably), in which plugin should I put that ? Or if I should create a new one, what would be its name ? opinions ?
Comment 1 Cedric Brun CLA 2015-03-02 04:54:58 EST
It looks like we don't have a clear runtime/specifier separation for the plugins.

The tooling for Viewpoint generally is a matches 
org.eclipse.sirius.editor*


We also have 
org.eclipse.sirius.common.acceleo.mtl.ide
(and org.eclipse.sirius.common.acceleo.aql.ide) 
which are providing code completion for the Acceleo MTL and AQL langages, they are especially useful for specifier but are also deployed when the interpreter view is being used.

should I stick with 
org.eclipse.sirius.editor and create a plugin named  org.eclipse.sirius.editor.workspace ? or something else ? Note that this plugin will depend on the PDE and JDT, and will provide an implementation (through extension point) for an interface which will reside in org.eclipse.sirius.common
Comment 2 Cedric Brun CLA 2015-03-02 10:45:57 EST
After discusssing with Pierre-Charles I am going the o.e.s.editor route. 

This capability only makes sense in scenarios where the user is a specifier and needs the capability to edit the .odesign anyway.
Comment 3 Eclipse Genie CLA 2015-03-02 11:31:25 EST
New Gerrit change created: https://git.eclipse.org/r/43027

WARNING: this patchset contains 1159 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 4 Eclipse Genie CLA 2015-03-02 11:31:27 EST
New Gerrit change created: https://git.eclipse.org/r/43028
Comment 5 Eclipse Genie CLA 2015-03-03 05:03:26 EST
WARNING: this patchset contains 1214 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 6 Eclipse Genie CLA 2015-03-03 05:03:30 EST
New Gerrit change created: https://git.eclipse.org/r/43065
Comment 7 Eclipse Genie CLA 2015-03-03 09:37:23 EST
WARNING: this patchset contains 1241 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 8 Eclipse Genie CLA 2015-03-04 05:12:44 EST
WARNING: this patchset contains 1241 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 9 Eclipse Genie CLA 2015-03-04 05:56:43 EST
WARNING: this patchset contains 1241 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 10 Eclipse Genie CLA 2015-03-12 10:54:34 EDT
WARNING: this patchset contains 1241 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 11 Eclipse Genie CLA 2015-03-18 12:34:41 EDT
WARNING: this patchset contains 1840 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 12 Eclipse Genie CLA 2015-03-18 12:34:51 EDT
New Gerrit change created: https://git.eclipse.org/r/44116
Comment 13 Eclipse Genie CLA 2015-03-18 16:11:14 EDT
WARNING: this patchset contains 1840 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 14 Eclipse Genie CLA 2015-03-18 16:43:21 EDT
WARNING: this patchset contains 1840 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 15 Eclipse Genie CLA 2015-03-20 12:25:05 EDT
WARNING: this patchset contains 1832 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 16 Eclipse Genie CLA 2015-03-26 13:16:19 EDT
WARNING: this patchset contains 1871 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 17 Eclipse Genie CLA 2015-03-27 16:20:11 EDT
WARNING: this patchset contains 1871 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 18 Eclipse Genie CLA 2015-03-27 17:34:58 EDT
WARNING: this patchset contains 1883 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 19 Eclipse Genie CLA 2015-03-30 11:02:55 EDT
WARNING: this patchset contains 1883 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 20 Eclipse Genie CLA 2015-03-30 12:38:26 EDT
WARNING: this patchset contains 1883 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 21 Eclipse Genie CLA 2015-03-31 04:09:14 EDT
WARNING: this patchset contains 1883 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 22 Eclipse Genie CLA 2015-03-31 09:09:13 EDT
WARNING: this patchset contains 1883 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 23 Eclipse Genie CLA 2015-03-31 09:09:15 EDT
Gerrit change https://git.eclipse.org/r/43027 was merged to [master].
Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=69539959f35957701e6c936541ecef9fff1885b4

WARNING: this patchset contains 1883 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 26 Eclipse Genie CLA 2015-04-01 08:32:37 EDT
New Gerrit change created: https://git.eclipse.org/r/44999
Comment 28 Eclipse Genie CLA 2015-04-10 08:19:22 EDT
New Gerrit change created: https://git.eclipse.org/r/45638
Comment 31 Cedric Brun CLA 2015-04-20 04:45:44 EDT
This is now fixed and will be available starting with 3.0.0M7
Comment 32 Belqassim Djafer CLA 2015-05-22 05:46:50 EDT
Verified with Sirius 3.0.0 RC1
Comment 33 Pierre-Charles David CLA 2015-06-24 11:17:14 EDT
Available in Sirius 3.0.0. See https://wiki.eclipse.org/Sirius/3.0.0.