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)