Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 324307 - [CompositeDiagram] DnD of a delegation connector from model explorer is visually wrong placed if it connects an inherited port
Summary: [CompositeDiagram] DnD of a delegation connector from model explorer is visua...
Status: NEW
Alias: None
Product: Papyrus
Classification: Modeling
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: PC All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-02 09:50 EDT by Ansgar Radermacher CLA
Modified: 2017-08-02 11:39 EDT (History)
2 users (show)

See Also:


Attachments
UML example model (3.13 KB, application/zip)
2016-12-14 09:14 EST, Ansgar Radermacher CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ansgar Radermacher CLA 2010-09-02 09:50:44 EDT
Build Identifier: 

If you drag a delegation connector from the model into a diagram, it will start and stop at the port of a property, although one of the connector ends has no part with port (i.e. should point to the proper port of the composite itself).

Reproducible: Always
Comment 1 Benoit Maggi CLA 2016-11-28 07:54:16 EST
@Ansgar: Can you precise what is a delegation connector? I don't understand what is expected in this bug.
Comment 2 Benoit Maggi CLA 2016-12-14 07:58:45 EST
@Ansgar: Can you provide an example?
Comment 3 Ansgar Radermacher CLA 2016-12-14 09:14:21 EST
Created attachment 265874 [details]
UML example model

The description was indeed not very clear. The basic problem is that the same semantic port can be represented visually at several times in the diagram. While the choice of the "right" representation could be non-deterministic, the current implementation makes clearly wrong choices.

- Open the example model. The port1 is defined in class1 and inherited by class2. It is also present on a part "class1". Thus, the same port is visually represented three times.
- Remove the connector1 from diagram

- Drag connector1 from model-explorer back into the diagram. The connector now connects the two parts class3 and class1. The latter should not be the case, since the part-with-port is null.

- Variant: hide part class1 before dragging connector1 back into diagram. The connector connects the port1 visually attached to class1 which results in an invalid composite structure diagram

- Remove connector2
- Drag connector2 back into the diagram. It is shown as a loop to the same visual representation of the port (resulting in an invalid diagram)

While the example might seem far-fetched, similar cases are actually used in Papyrus SW designer where "standardized" ports are defined in a library and inherited by multiple components.