Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Barbin2016-11-24 17:01:57 +0000
committerFlorian Barbin2016-11-24 17:24:44 +0000
commit605dee44afab884e9cf545138edf99b976cfbb00 (patch)
tree568ba88a944bd1b90e3c2ef0bd71b19b5b9774e3
parent3003c5b7b7ea0628ce2a01f94a63f28f49ab0962 (diff)
downloadorg.eclipse.sirius-605dee44afab884e9cf545138edf99b976cfbb00.tar.gz
org.eclipse.sirius-605dee44afab884e9cf545138edf99b976cfbb00.tar.xz
org.eclipse.sirius-605dee44afab884e9cf545138edf99b976cfbb00.zip
[508135] Attach DEdge after creation to record feature modifications.
Bug: 508135 cherry-picked-from: 1353d01ae1997a7f814c9f8c464835a47dcf44e2 Change-Id: I5a4801cb298d7c199d68e063b7b45aca63583722 Signed-off-by: Florian Barbin <florian.barbin@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/experimental/sync/DDiagramElementSynchronizer.java6
1 files changed, 3 insertions, 3 deletions
diff --git a/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/experimental/sync/DDiagramElementSynchronizer.java b/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/experimental/sync/DDiagramElementSynchronizer.java
index bb8fd4cad6..7b3cea3279 100644
--- a/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/experimental/sync/DDiagramElementSynchronizer.java
+++ b/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/experimental/sync/DDiagramElementSynchronizer.java
@@ -305,8 +305,7 @@ public class DDiagramElementSynchronizer {
final Map<EdgeMapping, Collection<MappingBasedDecoration>> edgeToMappingBasedDecoration, final Map<String, Collection<SemanticBasedDecoration>> edgeToSemanticBasedDecoration) {
DslCommonPlugin.PROFILER.startWork(SiriusTasksKey.CREATE_MISSING_EDGES_KEY);
- DEdge newEdge = createEdge(candidate);
- diagram.getOwnedDiagramElements().add(newEdge);
+ DEdge newEdge = createAndAttachEdge(candidate);
Option<EdgeMapping> edgeMapping = new IEdgeMappingQuery(candidate.getMapping()).getEdgeMapping();
if (edgeMapping.some()) {
@@ -331,8 +330,9 @@ public class DDiagramElementSynchronizer {
* semantic target (among other things).
* @return the newly created edge.
*/
- private DEdge createEdge(final DEdgeCandidate candidate) {
+ private DEdge createAndAttachEdge(final DEdgeCandidate candidate) {
final DEdge newEdge = DiagramFactory.eINSTANCE.createDEdge();
+ diagram.getOwnedDiagramElements().add(newEdge);
newEdge.setTarget(candidate.getSemantic());
newEdge.setActualMapping(candidate.getMapping());
newEdge.setSourceNode(candidate.getSourceView());

Back to the top