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

Bug 493515

Summary: Move static FXBendConnectionPolicy.getCurrentBendPoints() to IBendableContentPart, so BendContentOperation can query it.
Product: [Tools] GEF Reporter: Alexander Nyßen <nyssen>
Component: GEF MVCAssignee: gef-inbox <gef-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: matthias.wienand
Version: 0.2.0   
Target Milestone: 5.0.0 (Oxygen) M3   
Hardware: All   
OS: All   
Whiteboard:

Description Alexander Nyßen CLA 2016-05-12 07:45:52 EDT
Up to now, retrieving the current bend points for an IBendableContentPart is only possible via a (package visible) operation in FXBendConnectionPolicy, namely getCurrentBendPoints(IVisualPart<Node, ? extends Connection>). This causes several problems.

First, its not possible to overwrite the behavior, and by default, bend points can only be retrieved from the connection visual rather than the model (i.e. the IBendableContentPart contains the logic). 

Second, the BendContentOperation cannot properly guard its execute, undo, and redo operations, as it cannot infer if the bend points its going to set are different from the current bend points.
Comment 1 Matthias Wienand CLA 2016-10-21 07:52:01 EDT
In the course of refactoring IBendableContentPart (see bug # for details), the bend point computation was moved from FXBendConnectionPolicy to IBendableContentPart, which is used by (FX)BendConnectionPolicy. The code is published on the master branch, therefore, I resolve this ticket as fixed for 5.0.0 M3.