Bug 474128 - Give the ability to provide fully qualified name to refer to a service in expression field
Summary: Give the ability to provide fully qualified name to refer to a service in exp...
Status: NEW
Alias: None
Product: Sirius
Classification: Modeling
Component: Core (show other bugs)
Version: 3.0.0   Edit
Hardware: All All
: P4 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Project inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
Depends on:
Blocks: 542859
  Show dependency tree
 
Reported: 2015-08-03 05:30 EDT by Laurent Fasani CLA
Modified: 2018-12-17 11:27 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 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.