Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathalie Lepine2020-10-19 14:08:16 +0000
committerMaxime Porhel2021-02-22 20:05:33 +0000
commitb4963e8b55063bc4ff1ff68185f78537974307b5 (patch)
treead8577e86111e590d3b69342deb0ba47089b2461
parentfe81d0ca7d80e2d56c3e5600f75e49a303cf36c4 (diff)
downloadorg.eclipse.sirius-b4963e8b55063bc4ff1ff68185f78537974307b5.tar.gz
org.eclipse.sirius-b4963e8b55063bc4ff1ff68185f78537974307b5.tar.xz
org.eclipse.sirius-b4963e8b55063bc4ff1ff68185f78537974307b5.zip
[571400] Activate Sequence caches from drag trackers
- Activate SequenceDiagram and CacheHelper between handleButtonDown and handleButtonUp in order to improve performances during all the "dragInProgress" computations (validtors, feedback, build command, ...) and disable cache before the command execution. - Customize all sequence event resize and move drag trackers. Bug: 571400 Cherry-picked-from: 567517 Change-Id: I113b078c748a8c936795c2072e7d8fe83025f548 Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/part/LifelineEditPart.java17
-rw-r--r--plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/AbstractFrameResizableEditPolicy.java10
-rw-r--r--plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/ExecutionSelectionEditPolicy.java6
-rw-r--r--plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/OperandResizableEditPolicy.java9
-rw-r--r--plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/tools/SequenceMessageSelectConnectionEditPartTracker.java14
-rw-r--r--plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/ui/SequenceDragEditPartsTrackerEx.java66
-rw-r--r--plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/ui/SequenceNoCopyDragEditPartsTrackerEx.java7
7 files changed, 100 insertions, 29 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/part/LifelineEditPart.java b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/part/LifelineEditPart.java
index 63f5e8b98c..0e838e08a6 100644
--- a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/part/LifelineEditPart.java
+++ b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/part/LifelineEditPart.java
@@ -23,6 +23,7 @@ import org.eclipse.gef.EditPolicy;
import org.eclipse.gef.Request;
import org.eclipse.gef.editpolicies.ResizableEditPolicy;
import org.eclipse.gef.requests.SelectionRequest;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
import org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx;
import org.eclipse.gmf.runtime.draw2d.ui.figures.IBorderItemLocator;
import org.eclipse.gmf.runtime.gef.ui.figures.DefaultSizeNodeFigure;
@@ -33,7 +34,6 @@ import org.eclipse.sirius.diagram.DDiagramElement;
import org.eclipse.sirius.diagram.DNode;
import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceElementAccessor;
import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceEvent;
-import org.eclipse.sirius.diagram.sequence.business.internal.util.CacheHelper;
import org.eclipse.sirius.diagram.sequence.description.EndOfLifeMapping;
import org.eclipse.sirius.diagram.sequence.description.ExecutionMapping;
import org.eclipse.sirius.diagram.sequence.description.StateMapping;
@@ -42,6 +42,7 @@ import org.eclipse.sirius.diagram.sequence.ui.tool.internal.figure.ExecutionItem
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.figure.LifelineNodeFigure;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.figure.SouthCenteredBorderItemLocator;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.layout.LayoutEditPartConstants;
+import org.eclipse.sirius.diagram.sequence.ui.tool.internal.ui.SequenceDragEditPartsTrackerEx.SequenceCacheDragTrackerHelper;
import org.eclipse.sirius.diagram.ui.edit.internal.part.DiagramBorderNodeEditPartOperation;
import org.eclipse.sirius.diagram.ui.tools.api.figure.anchor.AnchorProvider;
import org.eclipse.sirius.diagram.ui.tools.api.graphical.edit.styles.IStyleConfigurationRegistry;
@@ -284,10 +285,9 @@ public class LifelineEditPart extends AbstractSequenceBorderedEditPart {
* @see org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx#handleButtonDown(int) {@inheritDoc}
*/
@Override
- protected boolean handleButtonDown(int button) {
- boolean handleButtonDown = super.handleButtonDown(button);
- CacheHelper.initCaches();
- return handleButtonDown;
+ protected boolean handleButtonUp(int button) {
+ SequenceCacheDragTrackerHelper.handleButtonUp((IGraphicalEditPart) getSourceEditPart());
+ return super.handleButtonUp(button);
}
/**
@@ -296,9 +296,10 @@ public class LifelineEditPart extends AbstractSequenceBorderedEditPart {
* @see org.eclipse.gef.tools.DragEditPartsTracker#handleButtonUp(int) {@inheritDoc}
*/
@Override
- protected boolean handleButtonUp(int button) {
- CacheHelper.clearCaches();
- return super.handleButtonUp(button);
+ protected boolean handleButtonDown(int button) {
+ boolean handleButtonDown = super.handleButtonDown(button);
+ SequenceCacheDragTrackerHelper.handleButtonDown((IGraphicalEditPart) getSourceEditPart());
+ return handleButtonDown;
}
}
}
diff --git a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/AbstractFrameResizableEditPolicy.java b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/AbstractFrameResizableEditPolicy.java
index 174c73a600..893abff35f 100644
--- a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/AbstractFrameResizableEditPolicy.java
+++ b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/AbstractFrameResizableEditPolicy.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES and others.
+ * Copyright (c) 2010, 2021 THALES GLOBAL SERVICES and others.
* 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
@@ -29,15 +29,16 @@ import org.eclipse.gef.requests.AlignmentRequest;
import org.eclipse.gef.requests.ChangeBoundsRequest;
import org.eclipse.gef.tools.ResizeTracker;
import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
import org.eclipse.sirius.diagram.sequence.business.internal.RangeHelper;
import org.eclipse.sirius.diagram.sequence.business.internal.elements.AbstractFrame;
import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceEvent;
-import org.eclipse.sirius.diagram.sequence.business.internal.util.CacheHelper;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.ISequenceEventEditPart;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.validator.AbstractInteractionFrameValidator;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.validator.ISEComplexMoveValidator;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.figure.HorizontalGuide;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.figure.RangeGuide;
+import org.eclipse.sirius.diagram.sequence.ui.tool.internal.ui.SequenceDragEditPartsTrackerEx.SequenceCacheDragTrackerHelper;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.util.RequestQuery;
import org.eclipse.sirius.diagram.sequence.util.Range;
import org.eclipse.sirius.diagram.ui.graphical.edit.policies.AirResizableEditPolicy;
@@ -280,16 +281,17 @@ public abstract class AbstractFrameResizableEditPolicy extends AirResizableEditP
@Override
protected ResizeTracker getResizeTracker(int direction) {
return new SiriusResizeTracker((GraphicalEditPart) getHost(), direction) {
+
@Override
protected boolean handleButtonUp(int button) {
- CacheHelper.clearCaches();
+ SequenceCacheDragTrackerHelper.handleButtonUp((IGraphicalEditPart) getOwner());
return super.handleButtonUp(button);
}
@Override
protected boolean handleButtonDown(int button) {
boolean handleButtonDown = super.handleButtonDown(button);
- CacheHelper.initCaches();
+ SequenceCacheDragTrackerHelper.handleButtonDown((IGraphicalEditPart) getOwner());
return handleButtonDown;
}
};
diff --git a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/ExecutionSelectionEditPolicy.java b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/ExecutionSelectionEditPolicy.java
index 443e3ea4c2..d5b0f0bb5a 100644
--- a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/ExecutionSelectionEditPolicy.java
+++ b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/ExecutionSelectionEditPolicy.java
@@ -57,7 +57,6 @@ import org.eclipse.sirius.diagram.sequence.business.internal.operation.ShiftDire
import org.eclipse.sirius.diagram.sequence.business.internal.operation.VerticalSpaceExpansion;
import org.eclipse.sirius.diagram.sequence.business.internal.ordering.EventEndHelper;
import org.eclipse.sirius.diagram.sequence.business.internal.query.ISequenceEventQuery;
-import org.eclipse.sirius.diagram.sequence.business.internal.util.CacheHelper;
import org.eclipse.sirius.diagram.sequence.business.internal.util.EventFinder;
import org.eclipse.sirius.diagram.sequence.ordering.CompoundEventEnd;
import org.eclipse.sirius.diagram.sequence.ordering.EventEnd;
@@ -72,6 +71,7 @@ import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.validator.Abstr
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.validator.ISEComplexMoveValidator;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.figure.HorizontalGuide;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.figure.RangeGuide;
+import org.eclipse.sirius.diagram.sequence.ui.tool.internal.ui.SequenceDragEditPartsTrackerEx.SequenceCacheDragTrackerHelper;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.util.EditPartsHelper;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.util.RequestQuery;
import org.eclipse.sirius.diagram.sequence.util.Range;
@@ -745,14 +745,14 @@ public class ExecutionSelectionEditPolicy extends SpecificBorderItemSelectionEdi
@Override
protected boolean handleButtonUp(int button) {
- CacheHelper.clearCaches();
+ SequenceCacheDragTrackerHelper.handleButtonUp((IGraphicalEditPart) getOwner());
return super.handleButtonUp(button);
}
@Override
protected boolean handleButtonDown(int button) {
boolean handleButtonDown = super.handleButtonDown(button);
- CacheHelper.initCaches();
+ SequenceCacheDragTrackerHelper.handleButtonDown((IGraphicalEditPart) getOwner());
return handleButtonDown;
}
};
diff --git a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/OperandResizableEditPolicy.java b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/OperandResizableEditPolicy.java
index 12154312ac..a2e1cee576 100644
--- a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/OperandResizableEditPolicy.java
+++ b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/policy/OperandResizableEditPolicy.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2017 THALES GLOBAL SERVICES and others.
+ * Copyright (c) 2010, 2021 THALES GLOBAL SERVICES and others.
* 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
@@ -39,12 +39,12 @@ import org.eclipse.gmf.runtime.notation.Size;
import org.eclipse.sirius.diagram.DNodeContainer;
import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceElementAccessor;
import org.eclipse.sirius.diagram.sequence.business.internal.elements.Operand;
-import org.eclipse.sirius.diagram.sequence.business.internal.util.CacheHelper;
import org.eclipse.sirius.diagram.sequence.ui.Messages;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.operation.SequenceEditPartsOperations;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.CombinedFragmentEditPart;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.OperandEditPart;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.validator.OperandResizeValidator;
+import org.eclipse.sirius.diagram.sequence.ui.tool.internal.ui.SequenceDragEditPartsTrackerEx.SequenceCacheDragTrackerHelper;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.util.RequestQuery;
import org.eclipse.sirius.diagram.sequence.util.Range;
import org.eclipse.sirius.diagram.ui.graphical.edit.policies.AirResizableEditPolicy;
@@ -359,16 +359,17 @@ public class OperandResizableEditPolicy extends AirResizableEditPolicy {
@Override
protected ResizeTracker getResizeTracker(int direction) {
return new SiriusResizeTracker((GraphicalEditPart) getHost(), direction) {
+
@Override
protected boolean handleButtonUp(int button) {
- CacheHelper.clearCaches();
+ SequenceCacheDragTrackerHelper.handleButtonUp((IGraphicalEditPart) getOwner());
return super.handleButtonUp(button);
}
@Override
protected boolean handleButtonDown(int button) {
boolean handleButtonDown = super.handleButtonDown(button);
- CacheHelper.initCaches();
+ SequenceCacheDragTrackerHelper.handleButtonDown((IGraphicalEditPart) getOwner());
return handleButtonDown;
}
};
diff --git a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/tools/SequenceMessageSelectConnectionEditPartTracker.java b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/tools/SequenceMessageSelectConnectionEditPartTracker.java
index 71679a2f07..d404647f8b 100644
--- a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/tools/SequenceMessageSelectConnectionEditPartTracker.java
+++ b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/tools/SequenceMessageSelectConnectionEditPartTracker.java
@@ -18,9 +18,11 @@ import org.eclipse.gef.ConnectionEditPart;
import org.eclipse.gef.DragTracker;
import org.eclipse.gef.Request;
import org.eclipse.gef.requests.BendpointRequest;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceEvent;
import org.eclipse.sirius.diagram.sequence.business.internal.query.ISequenceEventQuery;
-import org.eclipse.sirius.diagram.sequence.business.internal.util.CacheHelper;
import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.SequenceMessageEditPart;
+import org.eclipse.sirius.diagram.sequence.ui.tool.internal.ui.SequenceDragEditPartsTrackerEx.SequenceCacheDragTrackerHelper;
import org.eclipse.sirius.diagram.sequence.util.Range;
import org.eclipse.sirius.diagram.ui.tools.internal.ui.SelectConnectionEditPartTracker;
import org.eclipse.sirius.ext.gmf.runtime.editparts.GraphicalHelper;
@@ -75,10 +77,12 @@ public class SequenceMessageSelectConnectionEditPartTracker extends SelectConnec
@Override
protected boolean handleButtonDown(int button) {
boolean res = super.handleButtonDown(button);
- CacheHelper.initCaches();
SequenceMessageEditPart smep = (SequenceMessageEditPart) getSourceEditPart();
- if (new ISequenceEventQuery(smep.getISequenceEvent()).isReflectiveMessage()) {
- Range range = smep.getISequenceEvent().getVerticalRange();
+ SequenceCacheDragTrackerHelper.handleButtonDown(smep);
+
+ ISequenceEvent iSequenceEvent = smep.getISequenceEvent();
+ if (new ISequenceEventQuery(iSequenceEvent).isReflectiveMessage()) {
+ Range range = iSequenceEvent.getVerticalRange();
Point location = getLocation().getCopy();
GraphicalHelper.screen2logical(location, smep);
@@ -101,7 +105,7 @@ public class SequenceMessageSelectConnectionEditPartTracker extends SelectConnec
*/
@Override
protected boolean handleButtonUp(int button) {
- CacheHelper.clearCaches();
+ SequenceCacheDragTrackerHelper.handleButtonUp((IGraphicalEditPart) getSourceEditPart());
return super.handleButtonUp(button);
}
diff --git a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/ui/SequenceDragEditPartsTrackerEx.java b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/ui/SequenceDragEditPartsTrackerEx.java
index 501865da24..b8bfeac72f 100644
--- a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/ui/SequenceDragEditPartsTrackerEx.java
+++ b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/ui/SequenceDragEditPartsTrackerEx.java
@@ -11,8 +11,14 @@
package org.eclipse.sirius.diagram.sequence.ui.tool.internal.ui;
import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceElement;
+import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceElementAccessor;
+import org.eclipse.sirius.diagram.sequence.business.internal.elements.SequenceDiagram;
import org.eclipse.sirius.diagram.sequence.business.internal.util.CacheHelper;
import org.eclipse.sirius.diagram.ui.tools.internal.ui.SiriusDragEditPartsTrackerEx;
+import org.eclipse.sirius.ext.base.Option;
/**
* Specific implementation of {@link org.eclipse.sirius.diagram.ui.tools.internal.ui.SiriusDragEditPartsTrackerEx}.
@@ -34,14 +40,70 @@ public class SequenceDragEditPartsTrackerEx extends SiriusDragEditPartsTrackerEx
@Override
protected boolean handleButtonUp(int button) {
- CacheHelper.clearCaches();
+ SequenceCacheDragTrackerHelper.handleButtonUp((IGraphicalEditPart) getSourceEditPart());
return super.handleButtonUp(button);
}
@Override
protected boolean handleButtonDown(int button) {
boolean handleButtonDown = super.handleButtonDown(button);
- CacheHelper.initCaches();
+ SequenceCacheDragTrackerHelper.handleButtonDown((IGraphicalEditPart) getSourceEditPart());
return handleButtonDown;
}
+
+ /**
+ * Helper to share cache activation and deactivation among all Sequence drag trackers.
+ */
+ public static final class SequenceCacheDragTrackerHelper {
+
+ /**
+ * Private constructor.
+ */
+ private SequenceCacheDragTrackerHelper() {
+ // prevent instantiation
+ }
+
+ /**
+ * Disable and clear the caches used during the drag.
+ *
+ * @param smep
+ * the drag tracker source/owner edit part.
+ */
+ public static void handleButtonUp(IGraphicalEditPart smep) {
+ SequenceDiagram diagram = getSequenceDiagram(smep);
+ if (diagram != null) {
+ diagram.useCache(false);
+ diagram.clearAllCaches();
+ }
+
+ CacheHelper.clearCaches();
+ }
+
+ /**
+ * Enable the caches to use during drag.
+ *
+ * @param smep
+ * the drag tracker source/owner edit part.
+ */
+ public static void handleButtonDown(IGraphicalEditPart smep) {
+ CacheHelper.initCaches();
+
+ SequenceDiagram diagram = getSequenceDiagram(smep);
+ if (diagram != null) {
+ diagram.useCache(true);
+ }
+ }
+
+ private static SequenceDiagram getSequenceDiagram(IGraphicalEditPart smep) {
+ SequenceDiagram diagram = null;
+ if (smep != null) {
+ View notationView = smep.getNotationView();
+ Option<ISequenceElement> iSequenceElement = ISequenceElementAccessor.getISequenceElement(notationView);
+ if (iSequenceElement.some()) {
+ diagram = iSequenceElement.get().getDiagram();
+ }
+ }
+ return diagram;
+ }
+ }
}
diff --git a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/ui/SequenceNoCopyDragEditPartsTrackerEx.java b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/ui/SequenceNoCopyDragEditPartsTrackerEx.java
index d7b2e5e4cd..c6d79e2f2c 100644
--- a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/ui/SequenceNoCopyDragEditPartsTrackerEx.java
+++ b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/ui/SequenceNoCopyDragEditPartsTrackerEx.java
@@ -11,7 +11,8 @@
package org.eclipse.sirius.diagram.sequence.ui.tool.internal.ui;
import org.eclipse.gef.EditPart;
-import org.eclipse.sirius.diagram.sequence.business.internal.util.CacheHelper;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.sirius.diagram.sequence.ui.tool.internal.ui.SequenceDragEditPartsTrackerEx.SequenceCacheDragTrackerHelper;
import org.eclipse.sirius.diagram.ui.tools.internal.ui.NoCopyDragEditPartsTrackerEx;
/**
@@ -33,14 +34,14 @@ public class SequenceNoCopyDragEditPartsTrackerEx extends NoCopyDragEditPartsTra
@Override
protected boolean handleButtonUp(int button) {
- CacheHelper.clearCaches();
+ SequenceCacheDragTrackerHelper.handleButtonUp((IGraphicalEditPart) getSourceEditPart());
return super.handleButtonUp(button);
}
@Override
protected boolean handleButtonDown(int button) {
boolean handleButtonDown = super.handleButtonDown(button);
- CacheHelper.initCaches();
+ SequenceCacheDragTrackerHelper.handleButtonDown((IGraphicalEditPart) getSourceEditPart());
return handleButtonDown;
}

Back to the top