Skip to content
Snippets Groups Projects
Commit 285746e7 authored by Andreas Bayha's avatar Andreas Bayha
Browse files

Diagram Editors: Added reconnect to ConnectionCompositorBase


ConnectionCompositorBase implements a default reconnect functionality.

Issue-ref: 4279
Issue-ref: 390
Issue-URL: af3#4279
Issue-URL: af3#390

Signed-off-by: default avatarAndreas Bayha <bayha@fortiss.org>
parent 787811d0
No related branches found
No related tags found
1 merge request!2114279
ConnectionCompositorBase.java 692689b535d7136acab2ab67a015f70809e64b6b GREEN ConnectionCompositorBase.java 7b62fa0b5c6ac59ee4b3a76e9fd2ed2d2c0b2243 YELLOW
ConnectorCompositorBase.java 0264edd4034da7187d1dbdf35a674c7067adf3cd GREEN ConnectorCompositorBase.java 0264edd4034da7187d1dbdf35a674c7067adf3cd GREEN
ConnectorConnectionCompositorBase.java eed310a4710492b7ce3bc302c3db4e5c40f4d817 GREEN ConnectorConnectionCompositorBase.java eed310a4710492b7ce3bc302c3db4e5c40f4d817 GREEN
ConnectorHierarchicElementConnectionCompositorBase.java 7a8e4acf235d5eb006c859056cce89fbb0aac05d GREEN ConnectorHierarchicElementConnectionCompositorBase.java 7a8e4acf235d5eb006c859056cce89fbb0aac05d GREEN
......
...@@ -70,17 +70,32 @@ public abstract class ConnectionCompositorBase<HE extends IHierarchicElement, S ...@@ -70,17 +70,32 @@ public abstract class ConnectionCompositorBase<HE extends IHierarchicElement, S
@Override @Override
public boolean reconnect(EObject connection, S source, T target, public boolean reconnect(EObject connection, S source, T target,
IConnectionCompositionContext context) { IConnectionCompositionContext context) {
// TODO (FH): https://af3.fortiss.org/issues/390 // This base implementation can only reconnect target connections. See canReconnect(...).
// implement reconnect if(connection instanceof IConnection && target instanceof IConnector) {
((IConnection)connection).setTarget((IConnector)target);
return true;
}
return false; return false;
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@SuppressWarnings("unchecked")
@Override @Override
public boolean canReconnect(EObject connection, S source, T target, public boolean canReconnect(EObject connection, S source, T target,
IConnectionCompositionContext context) { IConnectionCompositionContext context) {
// TODO (FH): https://af3.fortiss.org/issues/390 EObject parent = connection.eContainer();
// implement reconnect // This base implementation does only reconnect the connection target, since for a
// reconnection of the connection-source, the usual canConnect(...) implementations will not
// be applicable. (This is due to the fact, that the target port will be connected already
// when reconnecting the source.)
// Overwrite canReconnect() and reconnect() to implement a different behavior.
if(parent instanceof IHierarchicElement && connection instanceof IConnection &&
((IConnection)connection).getSource() == source) {
return canConnect(source, target, (HE)parent, context);
}
return false; return false;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment