Refactor compositors to allow state-based implementation of canConnect() / connect() etc.
- Currently, many methods of compositors that are meant to be
overridden (such as
canConnect()
,canConnectInterally()
,connect()
) are stateless, i.e. do not into account the current source and target model elements. - Hence, the following base classes have potentially dangerous
work-arounds using protected fields that are only valid in a given
call scope
-
HierarchicElementConnectorConnectionCompositorBase
source
target
updateSourceTarget()
-
PlatformElementConnectionCompositorBase
source
target
updateSourceTarget()
-
- Instead of using fields, it would be much safer to extend the
interface of the respective methods (
connect()
,canConnect()
) accordingly
(from redmine: issue id 2234, created on 2015-01-27)