Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCamille Letavernier2014-10-16 16:28:17 +0000
committerGerrit Code Review @ Eclipse.org2014-10-16 16:28:17 +0000
commit86ff76287b3cf82048736d5c2ecf6e63b5befd52 (patch)
tree77f49c1fb8eba918781d04c7de12bbb1049facc3 /plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence
parent3ac407a51ebb6e9d20450135382e4e5eca595225 (diff)
parent43487834d7320c7355b1b38ce069aae61156519e (diff)
downloadorg.eclipse.papyrus-86ff76287b3cf82048736d5c2ecf6e63b5befd52.tar.gz
org.eclipse.papyrus-86ff76287b3cf82048736d5c2ecf6e63b5befd52.tar.xz
org.eclipse.papyrus-86ff76287b3cf82048736d5c2ecf6e63b5befd52.zip
Merge "Bug 442441 - [Sequence Diagram] CCE after DnD InterationOperand into another one"
Diffstat (limited to 'plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence')
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/InteractionOperandLayoutEditPolicy.java3
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/HighlightUtil.java10
2 files changed, 11 insertions, 2 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/InteractionOperandLayoutEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/InteractionOperandLayoutEditPolicy.java
index b84b2131e1a..e5ad83c43ae 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/InteractionOperandLayoutEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/InteractionOperandLayoutEditPolicy.java
@@ -53,6 +53,9 @@ public class InteractionOperandLayoutEditPolicy extends XYLayoutEditPolicy {
@Override
public Command getCommand(Request request) {
EditPart combinedFragmentCompartment = getHost().getParent();
+ if (combinedFragmentCompartment == null) {
+ return null;
+ }
EditPart combinedFragment = combinedFragmentCompartment.getParent();
EditPart interactionCompartment = combinedFragment.getParent();
if (REQ_CREATE.equals(request.getType()) && request instanceof CreateUnspecifiedTypeRequest) {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/HighlightUtil.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/HighlightUtil.java
index c7a9a251d16..3df8f89ea30 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/HighlightUtil.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/HighlightUtil.java
@@ -74,8 +74,14 @@ public class HighlightUtil {
figures.add(part.getPrimaryShape().getFigureLifelineDotLineFigure());
} else if (host instanceof InteractionOperandEditPart) {
InteractionOperandEditPart op = (InteractionOperandEditPart) host;
- CombinedFragmentEditPart cep = (CombinedFragmentEditPart) op.getParent().getParent();
- figures.add(cep.getPrimaryShape());
+ EditPart parent = op.getParent();
+ while (parent != null) {
+ if (parent instanceof CombinedFragmentEditPart) {
+ figures.add(((CombinedFragmentEditPart) parent).getPrimaryShape());
+ break;
+ }
+ parent = parent.getParent();
+ }
} else if (host != null) {
try {
Method getMethod = getGetPrimaryShapeMethod(host.getClass());

Back to the top