Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 360974 - [Activity Diagram] Set the value of an argument in a CallOperationAction should be possible
Summary: [Activity Diagram] Set the value of an argument in a CallOperationAction shou...
Status: RESOLVED FIXED
Alias: None
Product: Papyrus
Classification: Modeling
Component: Diagram (show other bugs)
Version: 0.10.0   Edit
Hardware: All All
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-14 10:09 EDT by David Rabely CLA
Modified: 2015-10-30 07:38 EDT (History)
4 users (show)

See Also:
cletavernier: documentation-


Attachments
Steps to Type the InstanceValue of the operation's parameter (145.88 KB, image/jpeg)
2011-11-02 09:59 EDT, David Rabely CLA
no flags Details
Result of the steps to type an operation's parameter (45.20 KB, image/jpeg)
2011-11-02 10:03 EDT, David Rabely CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Rabely CLA 2011-10-14 10:09:59 EDT
Build Identifier: M20110909-1335

In a  CallOperationAction, it is not possible to set the value of an argument. So the solution should be to create an Instance Value and to change its type and its instancevalue. The editor do nothing, thus trying to change the type of the InstanceValuePin will display several "unauthorized" messages. The aim is to set the default InputPin with a ValuePin without creating a parameter.

Reproducible: Always

Steps to Reproduce:
1.Right click on an argument of a callOperationAction in the model Explorer view
2.Create Child > select "InstanceValue"
3.Change the instance and the type of the InstanceValue
Comment 1 Camille Letavernier CLA 2011-10-18 04:47:08 EDT
> In a  CallOperationAction, it is not possible to set the value of an argument.

What kind of argument do you use ? If you select an InputPin, there is no value. However, if you select a ValuePin, you can set a value.

> So the solution should be to create an Instance Value and to change its type and its instancevalue.

When you create an InstanceValue in an InputPin, you're actually creating an "upperValue" (Which should be an UnlimitedLiteralInteger). The problem is that the ModelExplorer is tightly related to the Ecore implementation of UML, instead of UML itself. It really doesn't make sense to create an InstanceValue in an InputPin.

Maybe this will be less confusing when this task will be done :

Bug 358584: [model explorer] improve the create child
Comment 2 Camille Letavernier CLA 2011-10-18 04:58:18 EDT
Hmm actually the arguments are pre-instantiated with arguments corresponding to the operation's parameters.

The problem is that they are instantiated with InputPins, whereas the user should be able to choose from either an InputPin, ActionInputPin or ValuePin for each parameter.
Comment 3 David Rabely CLA 2011-11-02 09:59:04 EDT
Created attachment 206331 [details]
Steps to Type the InstanceValue of the operation's parameter

Steps to Type the InstanceValue of the operation's parameter
Comment 4 David Rabely CLA 2011-11-02 10:03:08 EDT
Created attachment 206332 [details]
Result of the steps to type an operation's parameter

So I use as argument the operation's parameter and I try to associate an InstanceValue but it is not authorized. (See attachment files)
Comment 5 Alexandre Cortier CLA 2011-11-07 12:01:37 EST
I agree with you : it is not possible to change the nature of  input pins of CallOperationActions due to the synchronization of input pins and operation parameters.

So, it seems that  several modifications have to be take into account to handle this bug : 
1/ Modification of the synchronization action : ValuePins sould not be transformed into InputPins during the execution of the synchronization action
2/ Some actions in the model explorer should allow to transform an InputPin in a ValuePin (or in ActionInputPin)

Best regards,




(In reply to comment #2)
> Hmm actually the arguments are pre-instantiated with arguments corresponding to
> the operation's parameters.
> 
> The problem is that they are instantiated with InputPins, whereas the user
> should be able to choose from either an InputPin, ActionInputPin or ValuePin
> for each parameter.
Comment 6 Arnaud Cuccuru CLA 2015-10-30 07:14:31 EDT
Tested on Mars 1.1.3.
As far as I know, the automatic synchronization of pins have been deactivated.
I propose to close the bug.
Comment 7 Camille Letavernier CLA 2015-10-30 07:38:41 EDT
> As far as I know, the automatic synchronization of pins have been deactivated.

Indeed

> I propose to close the bug.

Done