Bug 474128

Summary: Give the ability to provide fully qualified name to refer to a service in expression field
Product: [Modeling] Sirius Reporter: Laurent Fasani <laurent.fasani>
Component: CoreAssignee: Project inbox <sirius.core-inbox>
Status: NEW --- QA Contact:
Severity: enhancement    
Priority: P4 CC: pierre-charles.david
Version: 3.0.0Keywords: triaged
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 542859    

Description Laurent Fasani CLA 2015-08-03 05:30:28 EDT
In a VSM, "Java extension" allow to reference service classes by their fully qualified name.
But in expression query field, the service is referenced by its non qualified name.
If two classes have the same method as service, it is not possible to distinguish one from the other in expression query field. At runtime, the one provided by sirius will be the first found.

The enhancement should give the ability, in the expression query field, to refer to the fully qualified name of the service.
Comment 1 Pierre-Charles David CLA 2015-08-04 05:31:46 EDT
To be a little more precise, this evolution only concerns the "service:" interperter. It would allow expresions of the form service:com.example.MyServices.renderLabel, instead of just service:renderLabel.

Note that even a fully qualified name of this form does not eliminate all ambiguities, in the case where MyServices has several renderLabel methods applying on different types. This kind of polymorphism is OK, as the user can predict exactly which method will be called once the actual class is fixed. The enhancement is limited to allow unambiguous identification of the class, to prevent clashes/unpredictable behavior when mixing several viewpoints/modelers inside the same session which may use the same service method names.