Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Barbin2014-11-12 09:07:02 +0000
committerFlorian Barbin2014-12-01 16:06:59 +0000
commit2889f4405e6e11df2ac4a759087f936571883056 (patch)
treed2b4c83101a97cbda997762a44710255a2ab0e58
parentdeae56838017dae692745c2579845ad934832575 (diff)
downloadorg.eclipse.sirius-2889f4405e6e11df2ac4a759087f936571883056.tar.gz
org.eclipse.sirius-2889f4405e6e11df2ac4a759087f936571883056.tar.xz
org.eclipse.sirius-2889f4405e6e11df2ac4a759087f936571883056.zip
[448739] Extends the rectilinear router to keep edges centered.
* We extend the draw2D rectilinear router to keep edges centered for cases that could not be handled in GMF, in particular containers with auto-size. * Update the edge figure and the edge edit part to have the centering information within the edge figure. * Add new tests Bug: 448739 Change-Id: I4cfc7ce802e026333836bb843511d167fff83e4b Signed-off-by: Florian Barbin <florian.barbin@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/api/part/AbstractDiagramEdgeEditPart.java64
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/edit/parts/DEdgeEditPart.java5
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/operation/CenterEdgeEndModelChangeOperation.java13
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/figure/DConnectionLayerEx.java27
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/routers/SiriusRectilinearRouter.java93
-rw-r--r--plugins/org.eclipse.sirius.tests.swtbot/data/unit/centeredEdge/useCase.aird728
-rw-r--r--plugins/org.eclipse.sirius.tests.swtbot/data/unit/centeredEdge/useCase.migrationmodeler32
-rw-r--r--plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/CenteredEdgesTest.java151
8 files changed, 1050 insertions, 63 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/api/part/AbstractDiagramEdgeEditPart.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/api/part/AbstractDiagramEdgeEditPart.java
index 49b378c0e3..5ef669b5ed 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/api/part/AbstractDiagramEdgeEditPart.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/api/part/AbstractDiagramEdgeEditPart.java
@@ -42,7 +42,10 @@ import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.sirius.common.tools.api.util.StringUtil;
import org.eclipse.sirius.diagram.DDiagramElement;
import org.eclipse.sirius.diagram.DEdge;
+import org.eclipse.sirius.diagram.DiagramPackage;
+import org.eclipse.sirius.diagram.EdgeStyle;
import org.eclipse.sirius.diagram.business.api.query.DDiagramElementQuery;
+import org.eclipse.sirius.diagram.description.CenteringStyle;
import org.eclipse.sirius.diagram.description.tool.RequestDescription;
import org.eclipse.sirius.diagram.ui.edit.internal.part.CommonEditPartOperation;
import org.eclipse.sirius.diagram.ui.edit.internal.part.DiagramEdgeEditPartOperation;
@@ -212,11 +215,24 @@ public abstract class AbstractDiagramEdgeEditPart extends ConnectionNodeEditPart
if (element != null && element.eResource() != null && getParent() != null) {
refresh();
}
- if (resolveSemanticElement() instanceof DEdge) {
+ if (element instanceof DEdge) {
+ updateCenteringProperty((DEdge) element, notification);
super.handleNotificationEvent(notification);
}
}
+ private void updateCenteringProperty(DEdge element, Notification notification) {
+ if (DiagramPackage.eINSTANCE.getEdgeStyle_Centered() == notification.getFeature()) {
+ EdgeStyle edgeStyle = element.getOwnedStyle();
+ if (edgeStyle != null) {
+ IFigure figure = getFigure();
+ if (figure instanceof ViewEdgeFigure) {
+ ((ViewEdgeFigure) figure).setCentering(edgeStyle.getCentered());
+ }
+ }
+ }
+ }
+
/**
* {@inheritDoc}
*
@@ -567,6 +583,8 @@ public abstract class AbstractDiagramEdgeEditPart extends ConnectionNodeEditPart
private SiriusWrapLabel fFigureViewEdgeEndNameFigure;
+ private CenteringStyle centeringStyle;
+
/**
* Constructor.
*/
@@ -586,6 +604,50 @@ public abstract class AbstractDiagramEdgeEditPart extends ConnectionNodeEditPart
createCenterLabelFigure(element);
createBeginLabelFigure(element);
createEndLabelFigure(element);
+ initCentering(element);
+ }
+
+ private void initCentering(EObject element) {
+ if (element instanceof DEdge) {
+ EdgeStyle edgeStyle = ((DEdge) element).getOwnedStyle();
+ if (edgeStyle != null) {
+ setCentering(edgeStyle.getCentered());
+ }
+ }
+
+ }
+
+ private void setCentering(CenteringStyle centering) {
+ this.centeringStyle = centering;
+ }
+
+ /**
+ * Get the centeringStyle value.
+ *
+ * @return the {@link CenteringStyle}.
+ */
+ public CenteringStyle getCenteringStyle() {
+ return this.centeringStyle;
+ }
+
+ /**
+ * Returns whether the connection is centered on its source or not.
+ *
+ * @return true if the connection is centered on its source or both.
+ * False otherwise.
+ */
+ public boolean isSourceCentered() {
+ return CenteringStyle.BOTH == getCenteringStyle() || CenteringStyle.SOURCE == getCenteringStyle();
+ }
+
+ /**
+ * Returns whether the connection is centered on its target or not.
+ *
+ * @return true if the connection is centered on its target or both.
+ * False otherwise.
+ */
+ public boolean isTargetCentered() {
+ return CenteringStyle.BOTH == getCenteringStyle() || CenteringStyle.TARGET == getCenteringStyle();
}
/**
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/edit/parts/DEdgeEditPart.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/edit/parts/DEdgeEditPart.java
index 492f94d1f4..6db5eabca3 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/edit/parts/DEdgeEditPart.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/edit/parts/DEdgeEditPart.java
@@ -95,7 +95,7 @@ public class DEdgeEditPart extends AbstractDiagramEdgeEditPart {
* @was-generated
*/
protected Connection createConnectionFigure() {
- return new AbstractDiagramEdgeEditPart.ViewEdgeFigure();
+ return super.createConnectionFigure();
}
/**
@@ -119,7 +119,8 @@ public class DEdgeEditPart extends AbstractDiagramEdgeEditPart {
@Override
protected void deactivateFigure() {
- // Can happen when semantic element associated to the edge has been deleted
+ // Can happen when semantic element associated to the edge has been
+ // deleted
if (getRoot() == null || figure.getParent() != getLayer(CONNECTION_LAYER)) {
return;
}
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/operation/CenterEdgeEndModelChangeOperation.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/operation/CenterEdgeEndModelChangeOperation.java
index ae0301169b..2054d89f85 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/operation/CenterEdgeEndModelChangeOperation.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/operation/CenterEdgeEndModelChangeOperation.java
@@ -74,13 +74,13 @@ public class CenterEdgeEndModelChangeOperation extends AbstractModelChangeOperat
private Edge edge;
- private Point existingSourceAnchorAbsoluteLocation;
+ private PrecisionPoint existingSourceAnchorAbsoluteLocation;
- private Point existingTargetAnchorAbsoluteLocation;
+ private PrecisionPoint existingTargetAnchorAbsoluteLocation;
- private Point newTargetAnchorAbsoluteLocation;
+ private PrecisionPoint newTargetAnchorAbsoluteLocation;
- private Point newSourceAnchorAbsoluteLocation;
+ private PrecisionPoint newSourceAnchorAbsoluteLocation;
private ConnectionEditPart connectionEditPart;
@@ -506,9 +506,8 @@ public class CenterEdgeEndModelChangeOperation extends AbstractModelChangeOperat
* the anchor location.
* @return the anchor absolute location.
*/
- private Point getAbsoluteAnchorCoordinates(Rectangle absoluteBounds, PrecisionPoint precisionPoint) {
- return new Point((int) (absoluteBounds.x() + Math.round(absoluteBounds.width() * precisionPoint.preciseX())), (int) (absoluteBounds.y() + Math.round(absoluteBounds.height()
- * precisionPoint.preciseY())));
+ private PrecisionPoint getAbsoluteAnchorCoordinates(Rectangle absoluteBounds, PrecisionPoint precisionPoint) {
+ return new PrecisionPoint(absoluteBounds.x() + (absoluteBounds.width() * precisionPoint.preciseX()), absoluteBounds.y() + (absoluteBounds.height() * precisionPoint.preciseY()));
}
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/figure/DConnectionLayerEx.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/figure/DConnectionLayerEx.java
index 89af6f6fa9..968894a607 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/figure/DConnectionLayerEx.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/figure/DConnectionLayerEx.java
@@ -13,11 +13,13 @@ package org.eclipse.sirius.diagram.ui.tools.internal.figure;
import org.eclipse.draw2d.ConnectionRouter;
import org.eclipse.gmf.runtime.draw2d.ui.internal.figures.ConnectionLayerEx;
import org.eclipse.sirius.diagram.ui.tools.internal.routers.DForestRouter;
+import org.eclipse.sirius.diagram.ui.tools.internal.routers.SiriusRectilinearRouter;
/**
- * The connection layer for Designer. This layer uses the
- * {@link org.eclipse.sirius.diagram.ui.tools.internal.routers.DTreeRouter}
- * for tree connections.
+ * The connection layer for Sirius. This layer uses the
+ * {@link org.eclipse.sirius.diagram.ui.tools.internal.routers.DTreeRouter} for
+ * tree connections and the {@link SiriusRectilinearRouter} for rectilinear
+ * connections.
*
* @author ymortier
*/
@@ -26,6 +28,8 @@ public class DConnectionLayerEx extends ConnectionLayerEx {
/** The tree router to use. */
private DForestRouter treeRouter;
+ private ConnectionRouter rectilinearRouter;
+
/**
* {@inheritDoc}
*
@@ -38,6 +42,7 @@ public class DConnectionLayerEx extends ConnectionLayerEx {
}
return treeRouter;
}
+
// This code has been disabled as the layouting results were not nice enough
// for the customer
// /**
@@ -47,13 +52,13 @@ public class DConnectionLayerEx extends ConnectionLayerEx {
// public ConnectionRouter getObliqueRouter() {
// return new BorderItemObliqueRouterSpec();
// }
- //
- // /**
- // * {@inheritDoc}
- // */
- // @Override
- // public ConnectionRouter getRectilinearRouter() {
- // return new BorderItemRectilinearRouterSpec();
- // }
+
+ @Override
+ public ConnectionRouter getRectilinearRouter() {
+ if (rectilinearRouter == null)
+ rectilinearRouter = new SiriusRectilinearRouter();
+
+ return rectilinearRouter;
+ }
}
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/routers/SiriusRectilinearRouter.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/routers/SiriusRectilinearRouter.java
new file mode 100644
index 0000000000..4e8a9f7341
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/routers/SiriusRectilinearRouter.java
@@ -0,0 +1,93 @@
+/*******************************************************************************
+ * Copyright (c) 2014 THALES GLOBAL SERVICES.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.sirius.diagram.ui.tools.internal.routers;
+
+import org.eclipse.draw2d.Connection;
+import org.eclipse.draw2d.ConnectionAnchor;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.PointList;
+import org.eclipse.draw2d.geometry.PrecisionRectangle;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.handles.HandleBounds;
+import org.eclipse.gmf.runtime.draw2d.ui.internal.routers.RectilinearRouter;
+import org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramEdgeEditPart.ViewEdgeFigure;
+
+/**
+ * A Sirius specific Rectilinear Router to keep edges centered.
+ *
+ * @author Florian Barbin
+ *
+ */
+@SuppressWarnings("restriction")
+public class SiriusRectilinearRouter extends RectilinearRouter {
+
+ @Override
+ public void routeLine(Connection conn, int nestedRoutingDepth, PointList newLine) {
+ super.routeLine(conn, nestedRoutingDepth, newLine);
+
+ handleEdgeCentering(conn, newLine);
+ }
+
+ /**
+ * Handle the edge centering in the case where at least one end is centered.
+ *
+ * @param conn
+ * the connection figure.
+ * @param newLine
+ * the current routed point list.
+ */
+ private void handleEdgeCentering(Connection conn, PointList newLine) {
+ if (conn instanceof ViewEdgeFigure) {
+ if (((ViewEdgeFigure) conn).isSourceCentered() || ((ViewEdgeFigure) conn).isTargetCentered()) {
+ Point srcRefPoint = null;
+ Point tgtRefPoint = null;
+
+ // if the source is centered, we compute the source figure
+ // center since the source anchor could not be centered.
+ if (((ViewEdgeFigure) conn).isSourceCentered()) {
+ srcRefPoint = getAnchorOwnerCenter(conn.getSourceAnchor());
+ }
+
+ // if the target is centered, we compute the target figure
+ // center since the target anchor could not be centered.
+ if (((ViewEdgeFigure) conn).isTargetCentered()) {
+ tgtRefPoint = getAnchorOwnerCenter(conn.getTargetAnchor());
+ }
+
+ if (srcRefPoint == null) {
+ ConnectionAnchor srcAnchor = conn.getSourceAnchor();
+ srcRefPoint = srcAnchor.getReferencePoint();
+ }
+
+ if (tgtRefPoint == null) {
+ ConnectionAnchor tgtAnchor = conn.getTargetAnchor();
+ tgtRefPoint = tgtAnchor.getReferencePoint();
+ }
+ // We translate the source and target anchor into the connection
+ // coordinate system which is absolute.
+
+ conn.translateToRelative(srcRefPoint);
+ conn.translateToRelative(tgtRefPoint);
+
+ RectilinearEdgeUtil.centerEdgeEnds(newLine, srcRefPoint, tgtRefPoint, ((ViewEdgeFigure) conn).getCenteringStyle());
+
+ }
+ }
+ }
+
+ private Point getAnchorOwnerCenter(ConnectionAnchor anchor) {
+ Rectangle rBox = anchor.getOwner() instanceof HandleBounds ? new PrecisionRectangle(((HandleBounds) anchor.getOwner()).getHandleBounds()) : new PrecisionRectangle(anchor.getOwner()
+ .getBounds());
+ anchor.getOwner().translateToAbsolute(rBox);
+ return rBox.getCenter();
+ }
+}
diff --git a/plugins/org.eclipse.sirius.tests.swtbot/data/unit/centeredEdge/useCase.aird b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/centeredEdge/useCase.aird
index a3fd2abb4c..53955ba3c0 100644
--- a/plugins/org.eclipse.sirius.tests.swtbot/data/unit/centeredEdge/useCase.aird
+++ b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/centeredEdge/useCase.aird
@@ -1164,7 +1164,7 @@
<styles xmi:type="notation:ConnectorStyle" xmi:id="_q0SvURfMEeS4kvfS7sE6lQ"/>
<styles xmi:type="notation:FontStyle" xmi:id="_q0SvUhfMEeS4kvfS7sE6lQ" fontName="Cantarell" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_q0SvUxfMEeS4kvfS7sE6lQ" points="[0, 35, 0, -109]$[0, 109, 0, -35]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oLRO4BfdEeS4kvfS7sE6lQ" id="(0.5,0.5)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kk6UYW_JEeSy6v9XG9dp-Q" id="(0.5,0.5)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rwIsgBfMEeS4kvfS7sE6lQ" id="(0.5,0.5)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_tw31MBfMEeS4kvfS7sE6lQ" type="4001" element="_twKDgBfMEeS4kvfS7sE6lQ" source="_1lKkExcgEeS6q5flLGbeyA" target="_GfT0YPxvEeOt05vz5woRZA">
@@ -1179,8 +1179,8 @@
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_tw31MRfMEeS4kvfS7sE6lQ"/>
<styles xmi:type="notation:FontStyle" xmi:id="_tw31MhfMEeS4kvfS7sE6lQ" fontName="Cantarell" fontHeight="8"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tw31MxfMEeS4kvfS7sE6lQ" points="[0, 0, 34, 109]$[-24, -74, 10, 35]"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tw6RcRfMEeS4kvfS7sE6lQ" id="(0.5,0.5)"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tw31MxfMEeS4kvfS7sE6lQ" points="[0, 0, 0, 144]$[0, -109, 0, 35]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kk5GQG_JEeSy6v9XG9dp-Q" id="(0.5,0.5)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_pVINMBfNEeS4kvfS7sE6lQ" type="4001" element="_pUes8BfNEeS4kvfS7sE6lQ" source="_GfYs4PxvEeOt05vz5woRZA" target="_GfezgPxvEeOt05vz5woRZA">
<children xmi:type="notation:Node" xmi:id="_pVI0QBfNEeS4kvfS7sE6lQ" type="6001">
@@ -1194,8 +1194,8 @@
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_pVINMRfNEeS4kvfS7sE6lQ"/>
<styles xmi:type="notation:FontStyle" xmi:id="_pVINMhfNEeS4kvfS7sE6lQ" fontName="Cantarell" fontHeight="8"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pVINMxfNEeS4kvfS7sE6lQ" points="[5, -1, -112, 4]$[117, -5, 0, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pVKCYRfNEeS4kvfS7sE6lQ" id="(0.5,0.5)"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pVINMxfNEeS4kvfS7sE6lQ" points="[5, 0, -117, 0]$[122, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kk5tUW_JEeSy6v9XG9dp-Q" id="(0.5,0.5)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_AfrLwBfPEeS4kvfS7sE6lQ" type="4001" element="_AeT50BfPEeS4kvfS7sE6lQ" source="_GfKqcPxvEeOt05vz5woRZA" target="_1lIu4BcgEeS6q5flLGbeyA">
<children xmi:type="notation:Node" xmi:id="_Afry0BfPEeS4kvfS7sE6lQ" type="6001">
@@ -1210,7 +1210,7 @@
<styles xmi:type="notation:ConnectorStyle" xmi:id="_AfrLwRfPEeS4kvfS7sE6lQ"/>
<styles xmi:type="notation:FontStyle" xmi:id="_AfrLwhfPEeS4kvfS7sE6lQ" fontName="Cantarell" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AfrLwxfPEeS4kvfS7sE6lQ" points="[15, 0, -177, 0]$[177, 0, -15, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oP2z8BfdEeS4kvfS7sE6lQ" id="(0.5,0.5)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kk5tUG_JEeSy6v9XG9dp-Q" id="(0.5,0.5)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AfuPERfPEeS4kvfS7sE6lQ" id="(0.5,0.5)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_CDRFcBfPEeS4kvfS7sE6lQ" type="4001" element="_CCzycBfPEeS4kvfS7sE6lQ" source="_1lIH0BcgEeS6q5flLGbeyA" target="_GfL4kPxvEeOt05vz5woRZA">
@@ -1225,8 +1225,8 @@
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_CDRFcRfPEeS4kvfS7sE6lQ"/>
<styles xmi:type="notation:FontStyle" xmi:id="_CDRFchfPEeS4kvfS7sE6lQ" fontName="Cantarell" fontHeight="8"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CDRFcxfPEeS4kvfS7sE6lQ" points="[0, 0, -177, -15]$[162, 13, -15, -2]"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CDS6oRfPEeS4kvfS7sE6lQ" id="(0.5,0.5)"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CDRFcxfPEeS4kvfS7sE6lQ" points="[0, 0, -192, 0]$[177, 0, -15, 0]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kk6UYG_JEeSy6v9XG9dp-Q" id="(0.5,0.5)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_F2Pn0BfPEeS4kvfS7sE6lQ" type="4001" element="_F13NUBfPEeS4kvfS7sE6lQ" source="_GfaiEPxvEeOt05vz5woRZA" target="_GfdlYPxvEeOt05vz5woRZA">
<children xmi:type="notation:Node" xmi:id="_F2Pn1BfPEeS4kvfS7sE6lQ" type="6001">
@@ -1240,17 +1240,14 @@
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_F2Pn0RfPEeS4kvfS7sE6lQ"/>
<styles xmi:type="notation:FontStyle" xmi:id="_F2Pn0hfPEeS4kvfS7sE6lQ" fontName="Cantarell" fontHeight="8"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_F2Pn0xfPEeS4kvfS7sE6lQ" points="[0, 0, -117, -5]$[112, 4, -5, -1]"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F2RdABfPEeS4kvfS7sE6lQ" id="(0.5,0.5)"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_F2Pn0xfPEeS4kvfS7sE6lQ" points="[0, 0, -122, 0]$[117, 0, -5, 0]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kk4fMG_JEeSy6v9XG9dp-Q" id="(0.5,0.5)"/>
</edges>
</data>
</ownedAnnotationEntries>
<ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_Ge6Ly_xvEeOt05vz5woRZA" name="node1" outgoingEdges="_AeT50BfPEeS4kvfS7sE6lQ" width="3" height="3" resizeKind="NSEW">
<target xmi:type="migrationmodeler:Node" href="useCase.migrationmodeler#//@representations.3/@nodes.0"/>
<semanticElements xmi:type="migrationmodeler:Node" href="useCase.migrationmodeler#//@representations.3/@nodes.0"/>
- <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
- <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
- <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:Square" xmi:id="_1khq4BcgEeS6q5flLGbeyA">
<labelColor xmi:type="viewpoint:RGBValues" xmi:id="_1khq4RcgEeS6q5flLGbeyA"/>
<description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@nodeMappings[name='nodeImportCentered']/@style"/>
@@ -1262,9 +1259,6 @@
<ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_Ge6y0_xvEeOt05vz5woRZA" name="node2" incomingEdges="_CCzycBfPEeS4kvfS7sE6lQ" width="3" height="3" resizeKind="NSEW">
<target xmi:type="migrationmodeler:Node" href="useCase.migrationmodeler#//@representations.3/@nodes.1"/>
<semanticElements xmi:type="migrationmodeler:Node" href="useCase.migrationmodeler#//@representations.3/@nodes.1"/>
- <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
- <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
- <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:Square" xmi:id="_1kiR8BcgEeS6q5flLGbeyA">
<labelColor xmi:type="viewpoint:RGBValues" xmi:id="_1kiR8RcgEeS6q5flLGbeyA"/>
<description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@nodeMappings[name='nodeImportCentered']/@style"/>
@@ -1279,9 +1273,6 @@
<ownedBorderedNodes xmi:type="diagram:DNode" xmi:id="_Ge6y5fxvEeOt05vz5woRZA" name="border4" outgoingEdges="_pUes8BfNEeS4kvfS7sE6lQ" width="1" height="1" resizeKind="NSEW">
<target xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.3/@containers.0/@elements.1"/>
<semanticElements xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.3/@containers.0/@elements.1"/>
- <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
- <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
- <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:Square" xmi:id="_Ge6y5vxvEeOt05vz5woRZA">
<labelColor xmi:type="viewpoint:RGBValues" xmi:id="_Ge6y5_xvEeOt05vz5woRZA"/>
<description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered_centered']/@style"/>
@@ -1293,9 +1284,6 @@
<ownedBorderedNodes xmi:type="diagram:DNode" xmi:id="_Ge6y6vxvEeOt05vz5woRZA" name="border3" outgoingEdges="_F13NUBfPEeS4kvfS7sE6lQ" width="1" height="1" resizeKind="NSEW">
<target xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.3/@containers.0/@elements.0"/>
<semanticElements xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.3/@containers.0/@elements.0"/>
- <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
- <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
- <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:Square" xmi:id="_Ge6y6_xvEeOt05vz5woRZA">
<labelColor xmi:type="viewpoint:RGBValues" xmi:id="_Ge6y7PxvEeOt05vz5woRZA"/>
<description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered']/@style"/>
@@ -1304,9 +1292,6 @@
</ownedStyle>
<actualMapping xmi:type="description_1:NodeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered']"/>
</ownedBorderedNodes>
- <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
- <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
- <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_1knxgBcgEeS6q5flLGbeyA">
<labelColor xmi:type="viewpoint:RGBValues" xmi:id="_1knxgRcgEeS6q5flLGbeyA"/>
<description xmi:type="style:FlatContainerStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='containerImportCentered']/@style"/>
@@ -1322,9 +1307,6 @@
<ownedBorderedNodes xmi:type="diagram:DNode" xmi:id="_Ge6y9fxvEeOt05vz5woRZA" name="border1" incomingEdges="_F13NUBfPEeS4kvfS7sE6lQ" width="1" height="1" resizeKind="NSEW">
<target xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.3/@containers.1/@elements.0"/>
<semanticElements xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.3/@containers.1/@elements.0"/>
- <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
- <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
- <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:Square" xmi:id="_Ge6y9vxvEeOt05vz5woRZA">
<labelColor xmi:type="viewpoint:RGBValues" xmi:id="_Ge6y9_xvEeOt05vz5woRZA"/>
<description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered_centered']/@style"/>
@@ -1336,9 +1318,6 @@
<ownedBorderedNodes xmi:type="diagram:DNode" xmi:id="_Ge6y-vxvEeOt05vz5woRZA" name="border2" incomingEdges="_pUes8BfNEeS4kvfS7sE6lQ" width="1" height="1" resizeKind="NSEW">
<target xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.3/@containers.1/@elements.1"/>
<semanticElements xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.3/@containers.1/@elements.1"/>
- <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
- <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
- <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:Square" xmi:id="_Ge6y-_xvEeOt05vz5woRZA">
<labelColor xmi:type="viewpoint:RGBValues" xmi:id="_Ge6y_PxvEeOt05vz5woRZA"/>
<description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered']/@style"/>
@@ -1347,9 +1326,6 @@
</ownedStyle>
<actualMapping xmi:type="description_1:NodeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered']"/>
</ownedBorderedNodes>
- <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
- <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
- <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_1koYkBcgEeS6q5flLGbeyA">
<labelColor xmi:type="viewpoint:RGBValues" xmi:id="_1koYkRcgEeS6q5flLGbeyA"/>
<description xmi:type="style:FlatContainerStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='containerImportCentered']/@style"/>
@@ -1408,7 +1384,7 @@
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_qyVngBfMEeS4kvfS7sE6lQ" name="edge3" sourceNode="_Ge6y5PxvEeOt05vz5woRZA" targetNode="_1kvGQBcgEeS6q5flLGbeyA">
<target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.3/@edges.0"/>
<semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.3/@edges.0"/>
- <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_qyXcsBfMEeS4kvfS7sE6lQ" sourceCentered="true">
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_qyXcsBfMEeS4kvfS7sE6lQ" centered="Source" sourceCentered="true">
<description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
<strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_qyXcsRfMEeS4kvfS7sE6lQ" red="39" green="76" blue="114"/>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_qyXcshfMEeS4kvfS7sE6lQ">
@@ -1420,7 +1396,7 @@
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_twKDgBfMEeS4kvfS7sE6lQ" name="edge4" sourceNode="_1kvtUBcgEeS6q5flLGbeyA" targetNode="_Ge6y9PxvEeOt05vz5woRZA">
<target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.3/@edges.1"/>
<semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.3/@edges.1"/>
- <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_twKDgRfMEeS4kvfS7sE6lQ" targetCentered="true">
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_twKDgRfMEeS4kvfS7sE6lQ" centered="Target" targetCentered="true">
<description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
<strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_twKDghfMEeS4kvfS7sE6lQ" red="39" green="76" blue="114"/>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_twKDgxfMEeS4kvfS7sE6lQ">
@@ -1432,7 +1408,7 @@
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_pUes8BfNEeS4kvfS7sE6lQ" name="edge1" sourceNode="_Ge6y5fxvEeOt05vz5woRZA" targetNode="_Ge6y-vxvEeOt05vz5woRZA">
<target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.3/@edges.2"/>
<semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.3/@edges.2"/>
- <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_pUes8RfNEeS4kvfS7sE6lQ" sourceCentered="true">
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_pUes8RfNEeS4kvfS7sE6lQ" centered="Source" sourceCentered="true">
<description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
<strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_pUes8hfNEeS4kvfS7sE6lQ" red="39" green="76" blue="114"/>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_pUes8xfNEeS4kvfS7sE6lQ">
@@ -1444,7 +1420,7 @@
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_AeT50BfPEeS4kvfS7sE6lQ" name="edge5" sourceNode="_Ge6Ly_xvEeOt05vz5woRZA" targetNode="_1kkuMBcgEeS6q5flLGbeyA">
<target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.3/@edges.3"/>
<semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.3/@edges.3"/>
- <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_AeUg4BfPEeS4kvfS7sE6lQ" sourceCentered="true">
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_AeUg4BfPEeS4kvfS7sE6lQ" centered="Source" sourceCentered="true">
<description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
<strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_AeUg4RfPEeS4kvfS7sE6lQ" red="39" green="76" blue="114"/>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_AeUg4hfPEeS4kvfS7sE6lQ">
@@ -1456,7 +1432,7 @@
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_CCzycBfPEeS4kvfS7sE6lQ" name="edge6" sourceNode="_1kkHIBcgEeS6q5flLGbeyA" targetNode="_Ge6y0_xvEeOt05vz5woRZA">
<target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.3/@edges.4"/>
<semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.3/@edges.4"/>
- <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_CCzycRfPEeS4kvfS7sE6lQ" targetCentered="true">
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_CCzycRfPEeS4kvfS7sE6lQ" centered="Target" targetCentered="true">
<description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
<strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_CCzychfPEeS4kvfS7sE6lQ" red="39" green="76" blue="114"/>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_CCzycxfPEeS4kvfS7sE6lQ">
@@ -1468,7 +1444,7 @@
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_F13NUBfPEeS4kvfS7sE6lQ" name="edge2" sourceNode="_Ge6y6vxvEeOt05vz5woRZA" targetNode="_Ge6y9fxvEeOt05vz5woRZA">
<target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.3/@edges.5"/>
<semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.3/@edges.5"/>
- <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_F13NURfPEeS4kvfS7sE6lQ" targetCentered="true">
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_F13NURfPEeS4kvfS7sE6lQ" centered="Target" targetCentered="true">
<description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
<strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_F13NUhfPEeS4kvfS7sE6lQ" red="39" green="76" blue="114"/>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_F13NUxfPEeS4kvfS7sE6lQ">
@@ -1658,6 +1634,678 @@
<activatedLayers xmi:type="description_1:Layer" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer"/>
<target xmi:type="migrationmodeler:Diagram" href="useCase.migrationmodeler#//@representations.4"/>
</ownedRepresentations>
+ <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_uxfXIG_QEeSghrdvkfPlSQ" name="auto-size">
+ <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_uxmr4G_QEeSghrdvkfPlSQ" source="GMF_DIAGRAMS">
+ <data xmi:type="notation:Diagram" xmi:id="_uxmr4W_QEeSghrdvkfPlSQ" type="Sirius" element="_uxfXIG_QEeSghrdvkfPlSQ" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_uxpvMG_QEeSghrdvkfPlSQ" type="2001" element="_uxfXIW_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_uxuAoG_QEeSghrdvkfPlSQ" type="5002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uxuAoW_QEeSghrdvkfPlSQ" x="31"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ux8qIG_QEeSghrdvkfPlSQ" type="3003" element="_uxfXIm_QEeSghrdvkfPlSQ">
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ux8qIW_QEeSghrdvkfPlSQ" fontName="Cantarell"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ux8qIm_QEeSghrdvkfPlSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uxpvMW_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uxpvMm_QEeSghrdvkfPlSQ" x="581" y="433" width="30" height="30"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uxySEG_QEeSghrdvkfPlSQ" type="2001" element="_uxfXJm_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_uxy5IG_QEeSghrdvkfPlSQ" type="5002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uxy5IW_QEeSghrdvkfPlSQ" x="31"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ux8qI2_QEeSghrdvkfPlSQ" type="3003" element="_uxfXJ2_QEeSghrdvkfPlSQ">
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ux8qJG_QEeSghrdvkfPlSQ" fontName="Cantarell"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ux8qJW_QEeSghrdvkfPlSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uxySEW_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uxySEm_QEeSghrdvkfPlSQ" x="413" y="349" width="30" height="30"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uxzgMG_QEeSghrdvkfPlSQ" type="2001" element="_uxfXK2_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_ux0HQG_QEeSghrdvkfPlSQ" type="5002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ux0HQW_QEeSghrdvkfPlSQ" x="31"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ux9RMG_QEeSghrdvkfPlSQ" type="3003" element="_uxfXLG_QEeSghrdvkfPlSQ">
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ux9RMW_QEeSghrdvkfPlSQ" fontName="Cantarell"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ux9RMm_QEeSghrdvkfPlSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uxzgMW_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uxzgMm_QEeSghrdvkfPlSQ" x="521" y="433" width="30" height="30"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ux0uUG_QEeSghrdvkfPlSQ" type="2001" element="_uxfXMG_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_ux0uU2_QEeSghrdvkfPlSQ" type="5002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ux0uVG_QEeSghrdvkfPlSQ" x="31"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ux-fUG_QEeSghrdvkfPlSQ" type="3003" element="_uxfXMW_QEeSghrdvkfPlSQ">
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ux-fUW_QEeSghrdvkfPlSQ" fontName="Cantarell"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ux-fUm_QEeSghrdvkfPlSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ux0uUW_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ux0uUm_QEeSghrdvkfPlSQ" x="665" y="349" width="30" height="30"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ux3KkG_QEeSghrdvkfPlSQ" type="2002" element="_uxf-Mm_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_ux4YsG_QEeSghrdvkfPlSQ" type="5006"/>
+ <children xmi:type="notation:Node" xmi:id="_ux4_wG_QEeSghrdvkfPlSQ" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ux4_wW_QEeSghrdvkfPlSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ux4_wm_QEeSghrdvkfPlSQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uyAUgG_QEeSghrdvkfPlSQ" type="3012" element="_uxf-M2_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_uyA7kG_QEeSghrdvkfPlSQ" type="5010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uyA7kW_QEeSghrdvkfPlSQ" x="11" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uyDX0G_QEeSghrdvkfPlSQ" type="3003" element="_uxf-NG_QEeSghrdvkfPlSQ">
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uyDX0W_QEeSghrdvkfPlSQ" fontName="Cantarell"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uyDX0m_QEeSghrdvkfPlSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uyAUgW_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uyAUgm_QEeSghrdvkfPlSQ" x="-2" y="48" width="10" height="10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uyBioG_QEeSghrdvkfPlSQ" type="3012" element="_uxf-OG_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_uyCwwG_QEeSghrdvkfPlSQ" type="5010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uyCwwW_QEeSghrdvkfPlSQ" x="11" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uyDX02_QEeSghrdvkfPlSQ" type="3003" element="_uxf-OW_QEeSghrdvkfPlSQ">
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uyDX1G_QEeSghrdvkfPlSQ" fontName="Cantarell"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uyDX1W_QEeSghrdvkfPlSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uyBioW_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uyCJsG_QEeSghrdvkfPlSQ" x="-2" y="12" width="10" height="10"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ux3KkW_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ux3Kkm_QEeSghrdvkfPlSQ" x="701" y="25"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ux4_w2_QEeSghrdvkfPlSQ" type="2002" element="_uxf-Qm_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_ux5m0G_QEeSghrdvkfPlSQ" type="5006"/>
+ <children xmi:type="notation:Node" xmi:id="_ux5m0W_QEeSghrdvkfPlSQ" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ux5m0m_QEeSghrdvkfPlSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ux5m02_QEeSghrdvkfPlSQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uyD-4G_QEeSghrdvkfPlSQ" type="3012" element="_uxf-Q2_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_uyEl8G_QEeSghrdvkfPlSQ" type="5010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uyEl8W_QEeSghrdvkfPlSQ" x="11" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uyGbIG_QEeSghrdvkfPlSQ" type="3003" element="_uxf-RG_QEeSghrdvkfPlSQ">
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uyGbIW_QEeSghrdvkfPlSQ" fontName="Cantarell"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uyGbIm_QEeSghrdvkfPlSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uyD-4W_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uyD-4m_QEeSghrdvkfPlSQ" x="523" y="11" width="10" height="10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uyFNAG_QEeSghrdvkfPlSQ" type="3012" element="_uxf-SG_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_uyF0EG_QEeSghrdvkfPlSQ" type="5010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uyF0EW_QEeSghrdvkfPlSQ" x="11" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uyHCMG_QEeSghrdvkfPlSQ" type="3003" element="_uxf-SW_QEeSghrdvkfPlSQ">
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uyHCMW_QEeSghrdvkfPlSQ" fontName="Cantarell"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uyHCMm_QEeSghrdvkfPlSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uyFNAW_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uyFNAm_QEeSghrdvkfPlSQ" x="523" y="47" width="10" height="10"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ux4_xG_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ux4_xW_QEeSghrdvkfPlSQ" x="20" y="25"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ux6N4G_QEeSghrdvkfPlSQ" type="2002" element="_uxf-Um_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_ux6N42_QEeSghrdvkfPlSQ" type="5006"/>
+ <children xmi:type="notation:Node" xmi:id="_ux608G_QEeSghrdvkfPlSQ" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ux608W_QEeSghrdvkfPlSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ux608m_QEeSghrdvkfPlSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ux6N4W_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ux6N4m_QEeSghrdvkfPlSQ" x="677" y="193"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ux6082_QEeSghrdvkfPlSQ" type="2002" element="_uxf-WG_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_ux7cAG_QEeSghrdvkfPlSQ" type="5006"/>
+ <children xmi:type="notation:Node" xmi:id="_ux7cAW_QEeSghrdvkfPlSQ" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ux7cAm_QEeSghrdvkfPlSQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ux7cA2_QEeSghrdvkfPlSQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ux609G_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ux609W_QEeSghrdvkfPlSQ" x="329" y="157"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_uxmr4m_QEeSghrdvkfPlSQ"/>
+ <edges xmi:type="notation:Edge" xmi:id="_yGHwoG_QEeSghrdvkfPlSQ" type="4001" element="_yEIzoG_QEeSghrdvkfPlSQ" source="_ux3KkG_QEeSghrdvkfPlSQ" target="_ux6N4G_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_yGIXsG_QEeSghrdvkfPlSQ" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGIXsW_QEeSghrdvkfPlSQ" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_yGI-wG_QEeSghrdvkfPlSQ" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGI-wW_QEeSghrdvkfPlSQ" y="10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_yGI-wm_QEeSghrdvkfPlSQ" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGI-w2_QEeSghrdvkfPlSQ" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_yGHwoW_QEeSghrdvkfPlSQ" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_yGHwom_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yGHwo2_QEeSghrdvkfPlSQ" points="[0, 34, 190, -168]$[0, 108, 190, -94]$[-138, 108, 52, -94]$[-138, 134, 52, -68]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WUsboG_REeSghrdvkfPlSQ" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yGJl0W_QEeSghrdvkfPlSQ" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_yGKM4G_QEeSghrdvkfPlSQ" type="4001" element="_yEJasG_QEeSghrdvkfPlSQ" source="_ux6082_QEeSghrdvkfPlSQ" target="_ux4_w2_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_yGKM5G_QEeSghrdvkfPlSQ" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGKM5W_QEeSghrdvkfPlSQ" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_yGKM5m_QEeSghrdvkfPlSQ" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGKM52_QEeSghrdvkfPlSQ" y="10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_yGKM6G_QEeSghrdvkfPlSQ" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGKM6W_QEeSghrdvkfPlSQ" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_yGKM4W_QEeSghrdvkfPlSQ" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_yGKM4m_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yGKM42_QEeSghrdvkfPlSQ" points="[0, 0, 117, 98]$[0, -32, 117, 66]$[-117, -32, 0, 66]$[-117, -64, 0, 34]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yGKz8G_QEeSghrdvkfPlSQ" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WHftIG_REeSghrdvkfPlSQ" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_yGKz8m_QEeSghrdvkfPlSQ" type="4001" element="_yEKBxG_QEeSghrdvkfPlSQ" source="_uyAUgG_QEeSghrdvkfPlSQ" target="_uyFNAG_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_yGKz9m_QEeSghrdvkfPlSQ" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGKz92_QEeSghrdvkfPlSQ" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_yGKz-G_QEeSghrdvkfPlSQ" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGKz-W_QEeSghrdvkfPlSQ" y="10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_yGKz-m_QEeSghrdvkfPlSQ" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGLbAG_QEeSghrdvkfPlSQ" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_yGKz82_QEeSghrdvkfPlSQ" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_yGKz9G_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yGKz9W_QEeSghrdvkfPlSQ" points="[-5, 0, 151, 1]$[-270, 0, -114, 1]$[-270, -2, -114, -1]$[-161, -1, -5, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VkOoAG_REeSghrdvkfPlSQ" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yGMpIW_QEeSghrdvkfPlSQ" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_yGMpIm_QEeSghrdvkfPlSQ" type="4001" element="_yEKo1G_QEeSghrdvkfPlSQ" source="_uxpvMG_QEeSghrdvkfPlSQ" target="_ux0uUG_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_yGMpJm_QEeSghrdvkfPlSQ" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGMpJ2_QEeSghrdvkfPlSQ" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_yGMpKG_QEeSghrdvkfPlSQ" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGMpKW_QEeSghrdvkfPlSQ" y="10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_yGNQMG_QEeSghrdvkfPlSQ" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGNQMW_QEeSghrdvkfPlSQ" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_yGMpI2_QEeSghrdvkfPlSQ" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_yGMpJG_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yGMpJW_QEeSghrdvkfPlSQ" points="[15, 0, -69, 69]$[84, 0, 0, 69]$[84, -69, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CnWHQG_REeSghrdvkfPlSQ" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yGNQM2_QEeSghrdvkfPlSQ" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_yGNQNG_QEeSghrdvkfPlSQ" type="4001" element="_yELP5G_QEeSghrdvkfPlSQ" source="_uxzgMG_QEeSghrdvkfPlSQ" target="_uxySEG_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_yGN3QG_QEeSghrdvkfPlSQ" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGN3QW_QEeSghrdvkfPlSQ" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_yGN3Qm_QEeSghrdvkfPlSQ" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGN3Q2_QEeSghrdvkfPlSQ" y="10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_yGN3RG_QEeSghrdvkfPlSQ" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGN3RW_QEeSghrdvkfPlSQ" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_yGNQNW_QEeSghrdvkfPlSQ" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_yGNQNm_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yGNQN2_QEeSghrdvkfPlSQ" points="[0, 0, 108, 69]$[0, -69, 108, 0]$[-93, -69, 15, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yGN3Rm_QEeSghrdvkfPlSQ" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BttJgG_REeSghrdvkfPlSQ" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_yGOeUW_QEeSghrdvkfPlSQ" type="4001" element="_yEMeAG_QEeSghrdvkfPlSQ" source="_uyBioG_QEeSghrdvkfPlSQ" target="_uyD-4G_QEeSghrdvkfPlSQ">
+ <children xmi:type="notation:Node" xmi:id="_yGOeVW_QEeSghrdvkfPlSQ" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGOeVm_QEeSghrdvkfPlSQ" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_yGOeV2_QEeSghrdvkfPlSQ" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGOeWG_QEeSghrdvkfPlSQ" y="10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_yGOeWW_QEeSghrdvkfPlSQ" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGOeWm_QEeSghrdvkfPlSQ" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_yGOeUm_QEeSghrdvkfPlSQ" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_yGOeU2_QEeSghrdvkfPlSQ" fontName="Cantarell" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yGOeVG_QEeSghrdvkfPlSQ" points="[-5, -1, 151, 0]$[-192, -1, -36, 0]$[-192, -1, -36, 0]$[-161, -2, -5, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yGPFYG_QEeSghrdvkfPlSQ" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UH-scG_REeSghrdvkfPlSQ" id="(0.5,0.5)"/>
+ </edges>
+ </data>
+ </ownedAnnotationEntries>
+ <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_uxfXIW_QEeSghrdvkfPlSQ" name="node1" outgoingEdges="_yEKo1G_QEeSghrdvkfPlSQ" width="3" height="3" resizeKind="NSEW">
+ <target xmi:type="migrationmodeler:Node" href="useCase.migrationmodeler#//@representations.5/@nodes.0"/>
+ <semanticElements xmi:type="migrationmodeler:Node" href="useCase.migrationmodeler#//@representations.5/@nodes.0"/>
+ <ownedStyle xmi:type="diagram:Square" xmi:id="_uxfXIm_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_uxfXI2_QEeSghrdvkfPlSQ"/>
+ <description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@nodeMappings[name='nodeImportCentered']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_uxfXJG_QEeSghrdvkfPlSQ"/>
+ <color xmi:type="viewpoint:RGBValues" xmi:id="_uxfXJW_QEeSghrdvkfPlSQ" red="204" green="242" blue="166"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMappingImport" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@nodeMappings[name='nodeImportCentered']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_uxfXJm_QEeSghrdvkfPlSQ" name="node2" incomingEdges="_yELP5G_QEeSghrdvkfPlSQ" width="3" height="3" resizeKind="NSEW">
+ <target xmi:type="migrationmodeler:Node" href="useCase.migrationmodeler#//@representations.5/@nodes.1"/>
+ <semanticElements xmi:type="migrationmodeler:Node" href="useCase.migrationmodeler#//@representations.5/@nodes.1"/>
+ <ownedStyle xmi:type="diagram:Square" xmi:id="_uxfXJ2_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_uxfXKG_QEeSghrdvkfPlSQ"/>
+ <description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@nodeMappings[name='nodeImportCentered']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_uxfXKW_QEeSghrdvkfPlSQ"/>
+ <color xmi:type="viewpoint:RGBValues" xmi:id="_uxfXKm_QEeSghrdvkfPlSQ" red="204" green="242" blue="166"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMappingImport" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@nodeMappings[name='nodeImportCentered']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_uxfXK2_QEeSghrdvkfPlSQ" name="node3" outgoingEdges="_yELP5G_QEeSghrdvkfPlSQ" width="3" height="3" resizeKind="NSEW">
+ <target xmi:type="migrationmodeler:Node" href="useCase.migrationmodeler#//@representations.5/@nodes.2"/>
+ <semanticElements xmi:type="migrationmodeler:Node" href="useCase.migrationmodeler#//@representations.5/@nodes.2"/>
+ <ownedStyle xmi:type="diagram:Square" xmi:id="_uxfXLG_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_uxfXLW_QEeSghrdvkfPlSQ"/>
+ <description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@nodeMappings[name='node']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_uxfXLm_QEeSghrdvkfPlSQ"/>
+ <color xmi:type="viewpoint:RGBValues" xmi:id="_uxfXL2_QEeSghrdvkfPlSQ" red="246" green="139" blue="139"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@nodeMappings[name='node']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_uxfXMG_QEeSghrdvkfPlSQ" name="node4" incomingEdges="_yEKo1G_QEeSghrdvkfPlSQ" width="3" height="3" resizeKind="NSEW">
+ <target xmi:type="migrationmodeler:Node" href="useCase.migrationmodeler#//@representations.5/@nodes.3"/>
+ <semanticElements xmi:type="migrationmodeler:Node" href="useCase.migrationmodeler#//@representations.5/@nodes.3"/>
+ <ownedStyle xmi:type="diagram:Square" xmi:id="_uxfXMW_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_uxfXMm_QEeSghrdvkfPlSQ"/>
+ <description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@nodeMappings[name='node']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-MG_QEeSghrdvkfPlSQ"/>
+ <color xmi:type="viewpoint:RGBValues" xmi:id="_uxf-MW_QEeSghrdvkfPlSQ" red="246" green="139" blue="139"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@nodeMappings[name='node']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_uxf-Mm_QEeSghrdvkfPlSQ" name="container2container2container2container2container2container2container2container2container2" outgoingEdges="_yEIzoG_QEeSghrdvkfPlSQ">
+ <target xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.5/@containers.0"/>
+ <semanticElements xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.5/@containers.0"/>
+ <ownedBorderedNodes xmi:type="diagram:DNode" xmi:id="_uxf-M2_QEeSghrdvkfPlSQ" name="border4" outgoingEdges="_yEKBxG_QEeSghrdvkfPlSQ" width="1" height="1" resizeKind="NSEW">
+ <target xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.5/@containers.0/@elements.1"/>
+ <semanticElements xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.5/@containers.0/@elements.1"/>
+ <ownedStyle xmi:type="diagram:Square" xmi:id="_uxf-NG_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-NW_QEeSghrdvkfPlSQ"/>
+ <description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered_centered']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-Nm_QEeSghrdvkfPlSQ"/>
+ <color xmi:type="viewpoint:RGBValues" xmi:id="_uxf-N2_QEeSghrdvkfPlSQ" red="204" green="242" blue="166"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered_centered']"/>
+ </ownedBorderedNodes>
+ <ownedBorderedNodes xmi:type="diagram:DNode" xmi:id="_uxf-OG_QEeSghrdvkfPlSQ" name="border3" outgoingEdges="_yEMeAG_QEeSghrdvkfPlSQ" width="1" height="1" resizeKind="NSEW">
+ <target xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.5/@containers.0/@elements.0"/>
+ <semanticElements xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.5/@containers.0/@elements.0"/>
+ <ownedStyle xmi:type="diagram:Square" xmi:id="_uxf-OW_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-Om_QEeSghrdvkfPlSQ"/>
+ <description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-O2_QEeSghrdvkfPlSQ"/>
+ <color xmi:type="viewpoint:RGBValues" xmi:id="_uxf-PG_QEeSghrdvkfPlSQ" red="246" green="139" blue="139"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered']"/>
+ </ownedBorderedNodes>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_uxf-PW_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-Pm_QEeSghrdvkfPlSQ"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='containerImportCentered']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-P2_QEeSghrdvkfPlSQ"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-QG_QEeSghrdvkfPlSQ" red="255" green="255" blue="255"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-QW_QEeSghrdvkfPlSQ" red="204" green="242" blue="166"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMappingImport" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='containerImportCentered']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_uxf-Qm_QEeSghrdvkfPlSQ" name="container1container1container1container1container1container1container1container1container1container1" incomingEdges="_yEJasG_QEeSghrdvkfPlSQ">
+ <target xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.5/@containers.1"/>
+ <semanticElements xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.5/@containers.1"/>
+ <ownedBorderedNodes xmi:type="diagram:DNode" xmi:id="_uxf-Q2_QEeSghrdvkfPlSQ" name="border1" incomingEdges="_yEMeAG_QEeSghrdvkfPlSQ" width="1" height="1" resizeKind="NSEW">
+ <target xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.5/@containers.1/@elements.0"/>
+ <semanticElements xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.5/@containers.1/@elements.0"/>
+ <ownedStyle xmi:type="diagram:Square" xmi:id="_uxf-RG_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-RW_QEeSghrdvkfPlSQ"/>
+ <description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered_centered']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-Rm_QEeSghrdvkfPlSQ"/>
+ <color xmi:type="viewpoint:RGBValues" xmi:id="_uxf-R2_QEeSghrdvkfPlSQ" red="204" green="242" blue="166"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered_centered']"/>
+ </ownedBorderedNodes>
+ <ownedBorderedNodes xmi:type="diagram:DNode" xmi:id="_uxf-SG_QEeSghrdvkfPlSQ" name="border2" incomingEdges="_yEKBxG_QEeSghrdvkfPlSQ" width="1" height="1" resizeKind="NSEW">
+ <target xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.5/@containers.1/@elements.1"/>
+ <semanticElements xmi:type="migrationmodeler:Bordered" href="useCase.migrationmodeler#//@representations.5/@containers.1/@elements.1"/>
+ <ownedStyle xmi:type="diagram:Square" xmi:id="_uxf-SW_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-Sm_QEeSghrdvkfPlSQ"/>
+ <description xmi:type="style:SquareDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-S2_QEeSghrdvkfPlSQ"/>
+ <color xmi:type="viewpoint:RGBValues" xmi:id="_uxf-TG_QEeSghrdvkfPlSQ" red="246" green="139" blue="139"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@borderedNodeMappings[name='bordered']"/>
+ </ownedBorderedNodes>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_uxf-TW_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-Tm_QEeSghrdvkfPlSQ"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='containerImportCentered']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-T2_QEeSghrdvkfPlSQ"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-UG_QEeSghrdvkfPlSQ" red="255" green="255" blue="255"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-UW_QEeSghrdvkfPlSQ" red="204" green="242" blue="166"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMappingImport" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='containerImportCentered']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_uxf-Um_QEeSghrdvkfPlSQ" name="container3" incomingEdges="_yEIzoG_QEeSghrdvkfPlSQ">
+ <target xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.5/@containers.2"/>
+ <semanticElements xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.5/@containers.2"/>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_uxf-U2_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-VG_QEeSghrdvkfPlSQ"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-VW_QEeSghrdvkfPlSQ"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-Vm_QEeSghrdvkfPlSQ" red="255" green="255" blue="255"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-V2_QEeSghrdvkfPlSQ" red="246" green="139" blue="139"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_uxf-WG_QEeSghrdvkfPlSQ" name="container4" outgoingEdges="_yEJasG_QEeSghrdvkfPlSQ">
+ <target xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.5/@containers.3"/>
+ <semanticElements xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.5/@containers.3"/>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_uxf-WW_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-Wm_QEeSghrdvkfPlSQ"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-W2_QEeSghrdvkfPlSQ"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-XG_QEeSghrdvkfPlSQ" red="255" green="255" blue="255"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_uxf-XW_QEeSghrdvkfPlSQ" red="246" green="139" blue="139"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yEIzoG_QEeSghrdvkfPlSQ" name="edge3" sourceNode="_uxf-Mm_QEeSghrdvkfPlSQ" targetNode="_uxf-Um_QEeSghrdvkfPlSQ">
+ <target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.5/@edges.0"/>
+ <semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.5/@edges.0"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yEIzoW_QEeSghrdvkfPlSQ" routingStyle="manhattan" centered="Source">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
+ <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_yEIzom_QEeSghrdvkfPlSQ" red="39" green="76" blue="114"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yEIzo2_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_yEIzpG_QEeSghrdvkfPlSQ"/>
+ </centerLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yEJasG_QEeSghrdvkfPlSQ" name="edge4" sourceNode="_uxf-WG_QEeSghrdvkfPlSQ" targetNode="_uxf-Qm_QEeSghrdvkfPlSQ">
+ <target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.5/@edges.1"/>
+ <semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.5/@edges.1"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yEKBwG_QEeSghrdvkfPlSQ" routingStyle="manhattan" centered="Target">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
+ <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_yEKBwW_QEeSghrdvkfPlSQ" red="39" green="76" blue="114"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yEKBwm_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_yEKBw2_QEeSghrdvkfPlSQ"/>
+ </centerLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yEKBxG_QEeSghrdvkfPlSQ" name="edge1" sourceNode="_uxf-M2_QEeSghrdvkfPlSQ" targetNode="_uxf-SG_QEeSghrdvkfPlSQ">
+ <target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.5/@edges.2"/>
+ <semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.5/@edges.2"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yEKo0G_QEeSghrdvkfPlSQ" routingStyle="manhattan" centered="Source">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
+ <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_yEKo0W_QEeSghrdvkfPlSQ" red="39" green="76" blue="114"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yEKo0m_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_yEKo02_QEeSghrdvkfPlSQ"/>
+ </centerLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yEKo1G_QEeSghrdvkfPlSQ" name="edge5" sourceNode="_uxfXIW_QEeSghrdvkfPlSQ" targetNode="_uxfXMG_QEeSghrdvkfPlSQ">
+ <target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.5/@edges.3"/>
+ <semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.5/@edges.3"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yELP4G_QEeSghrdvkfPlSQ" routingStyle="manhattan" centered="Source">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
+ <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_yELP4W_QEeSghrdvkfPlSQ" red="39" green="76" blue="114"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yELP4m_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_yELP42_QEeSghrdvkfPlSQ"/>
+ </centerLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yELP5G_QEeSghrdvkfPlSQ" name="edge6" sourceNode="_uxfXK2_QEeSghrdvkfPlSQ" targetNode="_uxfXJm_QEeSghrdvkfPlSQ">
+ <target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.5/@edges.4"/>
+ <semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.5/@edges.4"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yEL28G_QEeSghrdvkfPlSQ" routingStyle="manhattan" centered="Target">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
+ <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_yEL28W_QEeSghrdvkfPlSQ" red="39" green="76" blue="114"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yEL28m_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_yEL282_QEeSghrdvkfPlSQ"/>
+ </centerLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yEMeAG_QEeSghrdvkfPlSQ" name="edge2" sourceNode="_uxf-OG_QEeSghrdvkfPlSQ" targetNode="_uxf-Q2_QEeSghrdvkfPlSQ">
+ <target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.5/@edges.5"/>
+ <semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.5/@edges.5"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yEMeAW_QEeSghrdvkfPlSQ" routingStyle="manhattan" centered="Target">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
+ <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_yEMeAm_QEeSghrdvkfPlSQ" red="39" green="76" blue="114"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yEMeA2_QEeSghrdvkfPlSQ">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_yEMeBG_QEeSghrdvkfPlSQ"/>
+ </centerLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']"/>
+ </ownedDiagramElements>
+ <description xmi:type="description_1:DiagramDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']"/>
+ <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_uxf-Xm_QEeSghrdvkfPlSQ"/>
+ <activatedLayers xmi:type="description_1:Layer" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer"/>
+ <target xmi:type="migrationmodeler:Diagram" href="useCase.migrationmodeler#//@representations.5"/>
+ </ownedRepresentations>
+ <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_ho0BAHGOEeSvg6fRMkuJuw" name="rectilinearCases">
+ <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_ho6usHGOEeSvg6fRMkuJuw" source="GMF_DIAGRAMS">
+ <data xmi:type="notation:Diagram" xmi:id="_ho6usXGOEeSvg6fRMkuJuw" type="Sirius" element="_ho0BAHGOEeSvg6fRMkuJuw" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_jfnKkHGOEeSvg6fRMkuJuw" type="2002" element="_jfeAoHGOEeSvg6fRMkuJuw">
+ <children xmi:type="notation:Node" xmi:id="_jfrcAHGOEeSvg6fRMkuJuw" type="5006"/>
+ <children xmi:type="notation:Node" xmi:id="_jfsDEHGOEeSvg6fRMkuJuw" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jfsDEXGOEeSvg6fRMkuJuw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jfsDEnGOEeSvg6fRMkuJuw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_jfnKkXGOEeSvg6fRMkuJuw" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jfnKknGOEeSvg6fRMkuJuw" x="20" y="45" width="255" height="141"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_pIzAoHGOEeSvg6fRMkuJuw" type="2002" element="_pIv9UHGOEeSvg6fRMkuJuw">
+ <children xmi:type="notation:Node" xmi:id="_pIzAo3GOEeSvg6fRMkuJuw" type="5006"/>
+ <children xmi:type="notation:Node" xmi:id="_pIznsHGOEeSvg6fRMkuJuw" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_pIznsXGOEeSvg6fRMkuJuw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_pIznsnGOEeSvg6fRMkuJuw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_pIzAoXGOEeSvg6fRMkuJuw" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pIzAonGOEeSvg6fRMkuJuw" x="536" y="75" width="363" height="135"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_1zGwEHGOEeSvg6fRMkuJuw" type="2002" element="_1zDswHGOEeSvg6fRMkuJuw">
+ <children xmi:type="notation:Node" xmi:id="_1zHXIHGOEeSvg6fRMkuJuw" type="5006"/>
+ <children xmi:type="notation:Node" xmi:id="_1zHXIXGOEeSvg6fRMkuJuw" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1zHXInGOEeSvg6fRMkuJuw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1zHXI3GOEeSvg6fRMkuJuw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_1zGwEXGOEeSvg6fRMkuJuw" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1zGwEnGOEeSvg6fRMkuJuw" x="156" y="264" width="291"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_4qE9MHGOEeSvg6fRMkuJuw" type="2002" element="_4qBS0HGOEeSvg6fRMkuJuw">
+ <children xmi:type="notation:Node" xmi:id="_4qFkQHGOEeSvg6fRMkuJuw" type="5006"/>
+ <children xmi:type="notation:Node" xmi:id="_4qFkQXGOEeSvg6fRMkuJuw" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4qFkQnGOEeSvg6fRMkuJuw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4qFkQ3GOEeSvg6fRMkuJuw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_4qE9MXGOEeSvg6fRMkuJuw" fontName="Cantarell" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4qE9MnGOEeSvg6fRMkuJuw" x="392" y="291" width="579"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_ho6usnGOEeSvg6fRMkuJuw"/>
+ <edges xmi:type="notation:Edge" xmi:id="_txJEwHGOEeSvg6fRMkuJuw" type="4001" element="_twyfcHGOEeSvg6fRMkuJuw" source="_jfnKkHGOEeSvg6fRMkuJuw" target="_pIzAoHGOEeSvg6fRMkuJuw">
+ <children xmi:type="notation:Node" xmi:id="_txKS4HGOEeSvg6fRMkuJuw" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_txKS4XGOEeSvg6fRMkuJuw" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_txK58HGOEeSvg6fRMkuJuw" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_txK58XGOEeSvg6fRMkuJuw" y="10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_txMIEHGOEeSvg6fRMkuJuw" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_txMIEXGOEeSvg6fRMkuJuw" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_txJEwXGOEeSvg6fRMkuJuw" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_txJEwnGOEeSvg6fRMkuJuw" fontName="Cantarell" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_txJEw3GOEeSvg6fRMkuJuw" points="[127, -63, -443, -90]$[571, -63, 1, -90]$[571, -39, 1, -66]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_txUq8HGOEeSvg6fRMkuJuw" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_txUq8XGOEeSvg6fRMkuJuw" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_8ThJEHGOEeSvg6fRMkuJuw" type="4001" element="_8TEdIHGOEeSvg6fRMkuJuw" source="_pIzAoHGOEeSvg6fRMkuJuw" target="_4qE9MHGOEeSvg6fRMkuJuw">
+ <children xmi:type="notation:Node" xmi:id="_8ThwIHGOEeSvg6fRMkuJuw" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8ThwIXGOEeSvg6fRMkuJuw" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_8ThwInGOEeSvg6fRMkuJuw" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8ThwI3GOEeSvg6fRMkuJuw" y="10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_8TiXMHGOEeSvg6fRMkuJuw" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8TiXMXGOEeSvg6fRMkuJuw" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_8ThJEXGOEeSvg6fRMkuJuw" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8ThJEnGOEeSvg6fRMkuJuw" fontName="Cantarell" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8ThJE3GOEeSvg6fRMkuJuw" points="[181, 1, -51, -149]$[232, 1, 0, -149]$[232, 150, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8TjlUHGOEeSvg6fRMkuJuw" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8TiXM3GOEeSvg6fRMkuJuw" id="(0.9636048526863085,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_BbGG4HGPEeSvg6fRMkuJuw" type="4001" element="_Ba1oMHGPEeSvg6fRMkuJuw" source="_4qE9MHGOEeSvg6fRMkuJuw" target="_pIzAoHGOEeSvg6fRMkuJuw">
+ <children xmi:type="notation:Node" xmi:id="_BbGt8HGPEeSvg6fRMkuJuw" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BbGt8XGPEeSvg6fRMkuJuw" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_BbGt8nGPEeSvg6fRMkuJuw" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BbGt83GPEeSvg6fRMkuJuw" y="10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_BbGt9HGPEeSvg6fRMkuJuw" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BbGt9XGPEeSvg6fRMkuJuw" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_BbGG4XGPEeSvg6fRMkuJuw" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_BbGG4nGPEeSvg6fRMkuJuw" fontName="Cantarell" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BbGG43GPEeSvg6fRMkuJuw" points="[-132, 0, -152, 150]$[-132, -83, -152, 67]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BbGt9nGPEeSvg6fRMkuJuw" id="(0.5268630849220104,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BxdYcHGPEeSvg6fRMkuJuw" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IRJYsHGPEeSvg6fRMkuJuw" type="4001" element="_IQ4S8HGPEeSvg6fRMkuJuw" source="_1zGwEHGOEeSvg6fRMkuJuw" target="_jfnKkHGOEeSvg6fRMkuJuw">
+ <children xmi:type="notation:Node" xmi:id="_IRJ_wHGPEeSvg6fRMkuJuw" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IRJ_wXGPEeSvg6fRMkuJuw" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IRJ_wnGPEeSvg6fRMkuJuw" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IRJ_w3GPEeSvg6fRMkuJuw" y="10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IRJ_xHGPEeSvg6fRMkuJuw" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IRJ_xXGPEeSvg6fRMkuJuw" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IRJYsXGPEeSvg6fRMkuJuw" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IRJYsnGPEeSvg6fRMkuJuw" fontName="Cantarell" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IRJYs3GPEeSvg6fRMkuJuw" points="[-51, 0, 43, 150]$[-51, -80, 43, 70]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IRKm0HGPEeSvg6fRMkuJuw" id="(0.2906574394463668,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IRKm0nGPEeSvg6fRMkuJuw" id="(0.5,0.5)"/>
+ </edges>
+ </data>
+ </ownedAnnotationEntries>
+ <ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_jfeAoHGOEeSvg6fRMkuJuw" name="container1" outgoingEdges="_twyfcHGOEeSvg6fRMkuJuw" incomingEdges="_IQ4S8HGPEeSvg6fRMkuJuw">
+ <target xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.6/@containers.0"/>
+ <semanticElements xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.6/@containers.0"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_jfensHGOEeSvg6fRMkuJuw">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_jfensXGOEeSvg6fRMkuJuw"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='containerImportCentered']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_jfensnGOEeSvg6fRMkuJuw"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_jfens3GOEeSvg6fRMkuJuw" red="255" green="255" blue="255"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_jfentHGOEeSvg6fRMkuJuw" red="204" green="242" blue="166"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMappingImport" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='containerImportCentered']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_pIv9UHGOEeSvg6fRMkuJuw" name="container2" outgoingEdges="_8TEdIHGOEeSvg6fRMkuJuw" incomingEdges="_twyfcHGOEeSvg6fRMkuJuw _Ba1oMHGPEeSvg6fRMkuJuw">
+ <target xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.6/@containers.1"/>
+ <semanticElements xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.6/@containers.1"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_pIv9UXGOEeSvg6fRMkuJuw">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_pIv9UnGOEeSvg6fRMkuJuw"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='containerImportCentered']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_pIv9U3GOEeSvg6fRMkuJuw"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_pIv9VHGOEeSvg6fRMkuJuw" red="255" green="255" blue="255"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_pIv9VXGOEeSvg6fRMkuJuw" red="204" green="242" blue="166"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMappingImport" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='containerImportCentered']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_twyfcHGOEeSvg6fRMkuJuw" name="edge1" sourceNode="_jfeAoHGOEeSvg6fRMkuJuw" targetNode="_pIv9UHGOEeSvg6fRMkuJuw">
+ <target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.6/@edges.0"/>
+ <semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.6/@edges.0"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_twztkHGOEeSvg6fRMkuJuw" routingStyle="manhattan">
+ <customFeatures>centered</customFeatures>
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
+ <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_twztkXGOEeSvg6fRMkuJuw" red="39" green="76" blue="114"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_twztknGOEeSvg6fRMkuJuw">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_twztk3GOEeSvg6fRMkuJuw"/>
+ </centerLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_1zDswHGOEeSvg6fRMkuJuw" name="container4" outgoingEdges="_IQ4S8HGPEeSvg6fRMkuJuw">
+ <target xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.6/@containers.2"/>
+ <semanticElements xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.6/@containers.2"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_1zDswXGOEeSvg6fRMkuJuw">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_1zDswnGOEeSvg6fRMkuJuw"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_1zDsw3GOEeSvg6fRMkuJuw"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_1zDsxHGOEeSvg6fRMkuJuw" red="255" green="255" blue="255"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_1zDsxXGOEeSvg6fRMkuJuw" red="246" green="139" blue="139"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_4qBS0HGOEeSvg6fRMkuJuw" name="container3" outgoingEdges="_Ba1oMHGPEeSvg6fRMkuJuw" incomingEdges="_8TEdIHGOEeSvg6fRMkuJuw">
+ <target xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.6/@containers.3"/>
+ <semanticElements xmi:type="migrationmodeler:Container" href="useCase.migrationmodeler#//@representations.6/@containers.3"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_4qB54HGOEeSvg6fRMkuJuw">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_4qB54XGOEeSvg6fRMkuJuw"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_4qB54nGOEeSvg6fRMkuJuw"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_4qB543GOEeSvg6fRMkuJuw" red="255" green="255" blue="255"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_4qB55HGOEeSvg6fRMkuJuw" red="246" green="139" blue="139"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@containerMappings[name='container']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_8TEdIHGOEeSvg6fRMkuJuw" name="edge2" sourceNode="_pIv9UHGOEeSvg6fRMkuJuw" targetNode="_4qBS0HGOEeSvg6fRMkuJuw">
+ <target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.6/@edges.1"/>
+ <semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.6/@edges.1"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_8TEdIXGOEeSvg6fRMkuJuw" routingStyle="manhattan">
+ <customFeatures>centered</customFeatures>
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
+ <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_8TEdInGOEeSvg6fRMkuJuw" red="39" green="76" blue="114"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_8TEdI3GOEeSvg6fRMkuJuw">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_8TEdJHGOEeSvg6fRMkuJuw"/>
+ </centerLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Ba1oMHGPEeSvg6fRMkuJuw" name="edge3" sourceNode="_4qBS0HGOEeSvg6fRMkuJuw" targetNode="_pIv9UHGOEeSvg6fRMkuJuw">
+ <target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.6/@edges.2"/>
+ <semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.6/@edges.2"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Ba1oMXGPEeSvg6fRMkuJuw" routingStyle="manhattan">
+ <customFeatures>routingStyle</customFeatures>
+ <customFeatures>centered</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
+ <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_Ba1oMnGPEeSvg6fRMkuJuw" red="39" green="76" blue="114"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Ba1oM3GPEeSvg6fRMkuJuw">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_Ba1oNHGPEeSvg6fRMkuJuw"/>
+ </centerLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_IQ4S8HGPEeSvg6fRMkuJuw" name="edge4" sourceNode="_1zDswHGOEeSvg6fRMkuJuw" targetNode="_jfeAoHGOEeSvg6fRMkuJuw">
+ <target xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.6/@edges.3"/>
+ <semanticElements xmi:type="migrationmodeler:Edge" href="useCase.migrationmodeler#//@representations.6/@edges.3"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_IQ46AHGPEeSvg6fRMkuJuw" routingStyle="manhattan">
+ <customFeatures>centered</customFeatures>
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']/@style"/>
+ <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_IQ46AXGPEeSvg6fRMkuJuw" red="39" green="76" blue="114"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_IQ46AnGPEeSvg6fRMkuJuw">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_IQ46A3GPEeSvg6fRMkuJuw"/>
+ </centerLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer/@edgeMappings[name='edge']"/>
+ </ownedDiagramElements>
+ <description xmi:type="description_1:DiagramDescription" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']"/>
+ <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_ho0BAXGOEeSvg6fRMkuJuw"/>
+ <activatedLayers xmi:type="description_1:Layer" href="useCase.odesign#//@ownedViewpoints[name='centered']/@ownedRepresentations[name='useCase']/@defaultLayer"/>
+ <target xmi:type="migrationmodeler:Diagram" href="useCase.migrationmodeler#//@representations.6"/>
+ </ownedRepresentations>
<viewpoint xmi:type="description:Viewpoint" href="useCase.odesign#//@ownedViewpoints[name='centered']"/>
</ownedViews>
</viewpoint:DAnalysis>
diff --git a/plugins/org.eclipse.sirius.tests.swtbot/data/unit/centeredEdge/useCase.migrationmodeler b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/centeredEdge/useCase.migrationmodeler
index 10eaa6fe54..eab1260fc6 100644
--- a/plugins/org.eclipse.sirius.tests.swtbot/data/unit/centeredEdge/useCase.migrationmodeler
+++ b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/centeredEdge/useCase.migrationmodeler
@@ -80,4 +80,36 @@
<containers id="container2"/>
<edges id="edge1" source="//@representations.4/@containers.1" target="//@representations.4/@containers.0"/>
</representations>
+ <representations xsi:type="migrationmodeler:Diagram" name="diagram5">
+ <containers id="container2container2container2container2container2container2container2container2container2">
+ <elements xsi:type="migrationmodeler:Bordered" id="border3"/>
+ <elements xsi:type="migrationmodeler:Bordered" id="border4"/>
+ </containers>
+ <containers id="container1container1container1container1container1container1container1container1container1container1">
+ <elements xsi:type="migrationmodeler:Bordered" id="border1"/>
+ <elements xsi:type="migrationmodeler:Bordered" id="border2"/>
+ </containers>
+ <containers id="container3"/>
+ <containers id="container4"/>
+ <nodes id="node1"/>
+ <nodes id="node2"/>
+ <nodes id="node3"/>
+ <nodes id="node4"/>
+ <edges id="edge3" source="//@representations.5/@containers.0" target="//@representations.5/@containers.2"/>
+ <edges id="edge4" source="//@representations.5/@containers.3" target="//@representations.5/@containers.1"/>
+ <edges id="edge1" source="//@representations.5/@containers.0/@elements.1" target="//@representations.5/@containers.1/@elements.1"/>
+ <edges id="edge5" source="//@representations.5/@nodes.0" target="//@representations.5/@nodes.3"/>
+ <edges id="edge6" source="//@representations.5/@nodes.2" target="//@representations.5/@nodes.1"/>
+ <edges id="edge2" source="//@representations.5/@containers.0/@elements.0" target="//@representations.5/@containers.1/@elements.0"/>
+ </representations>
+ <representations xsi:type="migrationmodeler:Diagram" name="diagram6">
+ <containers id="container1"/>
+ <containers id="container2"/>
+ <containers id="container4"/>
+ <containers id="container3"/>
+ <edges id="edge1" source="//@representations.6/@containers.0" target="//@representations.6/@containers.1"/>
+ <edges id="edge2" source="//@representations.6/@containers.1" target="//@representations.6/@containers.3"/>
+ <edges id="edge3" source="//@representations.6/@containers.3" target="//@representations.6/@containers.1"/>
+ <edges id="edge4" source="//@representations.6/@containers.2" target="//@representations.6/@containers.0"/>
+ </representations>
</migrationmodeler:TestCase>
diff --git a/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/CenteredEdgesTest.java b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/CenteredEdgesTest.java
index a43149b38e..27c8358687 100644
--- a/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/CenteredEdgesTest.java
+++ b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/CenteredEdgesTest.java
@@ -19,13 +19,19 @@ import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d.geometry.PointList;
import org.eclipse.draw2d.geometry.PrecisionPoint;
import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.gef.GraphicalEditPart;
import org.eclipse.gef.NodeEditPart;
import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart;
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
import org.eclipse.gmf.runtime.gef.ui.figures.SlidableAnchor;
+import org.eclipse.gmf.runtime.notation.Edge;
import org.eclipse.sirius.business.api.preferences.SiriusPreferencesKeys;
import org.eclipse.sirius.diagram.DDiagram;
+import org.eclipse.sirius.diagram.DEdge;
+import org.eclipse.sirius.diagram.EdgeStyle;
+import org.eclipse.sirius.diagram.description.CenteringStyle;
import org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramEdgeEditPart.ViewEdgeFigure;
import org.eclipse.sirius.diagram.ui.internal.edit.parts.DEdgeEditPart;
import org.eclipse.sirius.diagram.ui.internal.edit.parts.DNode4EditPart;
@@ -75,6 +81,10 @@ public class CenteredEdgesTest extends AbstractSiriusSwtBotGefTestCase {
private static final String REPRESENTATION_NAME_RESIZE_2 = "resizeTest2";
+ private static final String REPRESENTATION_NAME_AUTO_SIZE = "auto-size";
+
+ private static final String REPRESENTATION_NAME_RECTILINEAR_CASES = "rectilinearCases";
+
private static final String RECTILINEAR_STYLE_ROUTING = "Rectilinear Style Routing";
@Override
@@ -155,8 +165,6 @@ public class CenteredEdgesTest extends AbstractSiriusSwtBotGefTestCase {
DEdgeEditPart editPart = getSingleDEdgeFrom((NodeEditPart) srcEditPart.part());
assertEdgeHasExpectedSrcAnchor(editPart, (NodeEditPart) srcEditPart.part(), new PrecisionPoint(0.5, 0.5));
- // assertEdgeHasExpectedSrcAnchor(editPart, srcEditPart, new
- // PrecisionPoint(0.5, 0.5), new PrecisionPoint(0.5, 1));
}
/**
@@ -490,6 +498,104 @@ public class CenteredEdgesTest extends AbstractSiriusSwtBotGefTestCase {
}
/**
+ * Test that the arrange all keep the edge centered.
+ */
+ public void testArrangeAllOnStraightEdges() {
+ openDiagram(REPRESENTATION_NAME_MOVING);
+ editor.clickContextMenu("Arrange All");
+ SWTBotUtils.waitAllUiEvents();
+
+ SWTBotGefConnectionEditPart edge3BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge3", DEdgeEditPart.class);
+ assertEdgeHasExpectedSrcAnchor(edge3BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+
+ SWTBotGefConnectionEditPart edge1BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge1", DEdgeEditPart.class);
+ assertEdgeHasExpectedSrcAnchor(edge1BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+
+ SWTBotGefConnectionEditPart edge2BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge2", DEdgeEditPart.class);
+ assertEdgeHasExpectedTgtAnchor(edge2BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+
+ SWTBotGefConnectionEditPart edge4BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge4", DEdgeEditPart.class);
+ assertEdgeHasExpectedTgtAnchor(edge4BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+
+ SWTBotGefConnectionEditPart edge5BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge5", DEdgeEditPart.class);
+ assertEdgeHasExpectedSrcAnchor(edge5BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+
+ SWTBotGefConnectionEditPart edge6BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge6", DEdgeEditPart.class);
+ assertEdgeHasExpectedTgtAnchor(edge6BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+
+ }
+
+ /**
+ * Test that rectilinear edges with two or tree bend-points are centered for
+ * both ends when changing the style from NONE to BOTH.
+ */
+ public void testRectilinearSpecificCases() {
+ openDiagram(REPRESENTATION_NAME_RECTILINEAR_CASES);
+ SWTBotUtils.waitAllUiEvents();
+
+ SWTBotGefConnectionEditPart edge3BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge3", DEdgeEditPart.class);
+ centerEdgeEnds(edge3BotGefConnectionEditPart);
+ assertEdgeHasExpectedSrcAnchor(edge3BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+ assertEdgeHasExpectedTgtAnchor(edge3BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+
+ SWTBotGefConnectionEditPart edge1BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge1", DEdgeEditPart.class);
+ centerEdgeEnds(edge1BotGefConnectionEditPart);
+ assertEdgeHasExpectedSrcAnchor(edge1BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+ assertEdgeHasExpectedTgtAnchor(edge1BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+
+ SWTBotGefConnectionEditPart edge2BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge2", DEdgeEditPart.class);
+ centerEdgeEnds(edge2BotGefConnectionEditPart);
+ assertEdgeHasExpectedTgtAnchor(edge2BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+ assertEdgeHasExpectedSrcAnchor(edge2BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+
+ SWTBotGefConnectionEditPart edge4BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge4", DEdgeEditPart.class);
+ centerEdgeEnds(edge4BotGefConnectionEditPart);
+ assertEdgeHasExpectedTgtAnchor(edge4BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+ assertEdgeHasExpectedSrcAnchor(edge4BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+
+ }
+
+ private void centerEdgeEnds(SWTBotGefConnectionEditPart connectionEditPart) {
+
+ final DEdgeEditPart editPart = (DEdgeEditPart) connectionEditPart.part();
+ TransactionalEditingDomain transactionalEditingDomain = editPart.getEditingDomain();
+ transactionalEditingDomain.getCommandStack().execute(new RecordingCommand(transactionalEditingDomain) {
+ @Override
+ protected void doExecute() {
+ EdgeStyle edgeStyle = ((DEdge) ((Edge) editPart.getModel()).getElement()).getOwnedStyle();
+ edgeStyle.setCentered(CenteringStyle.BOTH);
+ }
+ });
+
+ bot.waitUntil(new WaitEdgeCenteringCondition((ViewEdgeFigure) connectionEditPart.part().getFigure()));
+ }
+
+ /**
+ * Test that the arrange all keep the edge centered.
+ */
+ public void testArrangeAllOnRectilinearEdges() {
+ openDiagram(REPRESENTATION_NAME_AUTO_SIZE);
+
+ editor.clickContextMenu("Arrange All");
+ SWTBotUtils.waitAllUiEvents();
+
+ SWTBotGefConnectionEditPart edge3BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge3", DEdgeEditPart.class);
+ SWTBotGefConnectionEditPart edge1BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge1", DEdgeEditPart.class);
+ SWTBotGefConnectionEditPart edge2BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge2", DEdgeEditPart.class);
+ SWTBotGefConnectionEditPart edge4BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge4", DEdgeEditPart.class);
+ SWTBotGefConnectionEditPart edge5BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge5", DEdgeEditPart.class);
+ SWTBotGefConnectionEditPart edge6BotGefConnectionEditPart = (SWTBotGefConnectionEditPart) editor.getEditPart("edge6", DEdgeEditPart.class);
+
+ assertEdgeHasExpectedSrcAnchor(edge3BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+ assertEdgeHasExpectedSrcAnchor(edge1BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+ assertEdgeHasExpectedTgtAnchor(edge2BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+ assertEdgeHasExpectedTgtAnchor(edge4BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+ assertEdgeHasExpectedSrcAnchor(edge5BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+ assertEdgeHasExpectedTgtAnchor(edge6BotGefConnectionEditPart, new PrecisionPoint(0.5, 0.5));
+
+ }
+
+ /**
*
* @param gefConnectionEditPart
* @param routingStyle
@@ -719,4 +825,45 @@ public class CenteredEdgesTest extends AbstractSiriusSwtBotGefTestCase {
}
+ /**
+ * Condition to wait until an edge is centered on both ends.
+ *
+ * @author fbarbin
+ *
+ */
+ private class WaitEdgeCenteringCondition extends DefaultCondition {
+
+ private ViewEdgeFigure figure;
+
+ /**
+ * Constructor.
+ *
+ * @param figure
+ * the edge figure.
+ */
+ public WaitEdgeCenteringCondition(ViewEdgeFigure figure) {
+ this.figure = figure;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.swtbot.swt.finder.waits.ICondition#test()
+ */
+ @Override
+ public boolean test() throws Exception {
+ return figure.isSourceCentered() && figure.isTargetCentered();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
+ * org.eclipse.swtbot.swt.finder.waits.ICondition#getFailureMessage()
+ */
+ @Override
+ public String getFailureMessage() {
+ return "the edge should be centered for both source and target";
+ }
+
+ }
+
}

Back to the top