Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorptessier2012-10-17 08:51:57 +0000
committerptessier2012-10-17 08:51:57 +0000
commit02b82aef751ef8b973bd54edde1fdfceaf0590fc (patch)
treed01afcc422bf756502cdc468cef9fc5bd991d83f /plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine
parentdda122651c05d219faf4597a096fc8ed310aa079 (diff)
downloadorg.eclipse.papyrus-02b82aef751ef8b973bd54edde1fdfceaf0590fc.tar.gz
org.eclipse.papyrus-02b82aef751ef8b973bd54edde1fdfceaf0590fc.tar.xz
org.eclipse.papyrus-02b82aef751ef8b973bd54edde1fdfceaf0590fc.zip
383720: [StateMachine] Incorrect implementation of StateBehaviorsListener
https://bugs.eclipse.org/bugs/show_bug.cgi?id=383720
Diffstat (limited to 'plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine')
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine/custom-src/org/eclipse/papyrus/uml/diagram/statemachine/custom/listeners/StateBehaviorsListener.java43
1 files changed, 23 insertions, 20 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine/custom-src/org/eclipse/papyrus/uml/diagram/statemachine/custom/listeners/StateBehaviorsListener.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine/custom-src/org/eclipse/papyrus/uml/diagram/statemachine/custom/listeners/StateBehaviorsListener.java
index 9ba1051abf8..05d021a820b 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine/custom-src/org/eclipse/papyrus/uml/diagram/statemachine/custom/listeners/StateBehaviorsListener.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine/custom-src/org/eclipse/papyrus/uml/diagram/statemachine/custom/listeners/StateBehaviorsListener.java
@@ -73,27 +73,30 @@ public class StateBehaviorsListener extends AbstractModifcationTriggerListener {
Object oldObject = notif.getOldValue();
StateEditPart stateEditPart = getContainingEditPart(notif.getNotifier());
- if(object instanceof Behavior) {
- //Get the request to create the editPart
- createRequest = getCreateRequest(object, stateEditPart);
- }
- //Get the request to delete the editPart
- deleteRequest = getDeleteRequest(oldObject, stateEditPart);
- //handle both request if needed
- CompositeCommand cc = new CompositeCommand("Modification command triggered by modedication of one of the behaviros of selected state");//$NON-NLS-0$
- org.eclipse.gef.commands.Command cmd1 = getCommandFromRequest(createRequest, stateEditPart);
- if(cmd1 != null && cmd1.canExecute()) {
- cc.compose(new CommandProxy(cmd1));
- }
- org.eclipse.gef.commands.Command cmd2 = getCommandFromRequest(deleteRequest, stateEditPart);
- if(cmd2 != null && cmd2.canExecute()) {
- cc.compose(new CommandProxy(cmd2));
- }
- refreshEditParts(cc, Collections.singleton((IGraphicalEditPart)stateEditPart));
-
-
- return cc;
+ if (stateEditPart!=null){
+ if(object instanceof Behavior) {
+ //Get the request to create the editPart
+ createRequest = getCreateRequest(object, stateEditPart);
+ }
+ //Get the request to delete the editPart
+ deleteRequest = getDeleteRequest(oldObject, stateEditPart);
+ //handle both request if needed
+ CompositeCommand cc = new CompositeCommand("Modification command triggered by modedication of one of the behaviros of selected state");//$NON-NLS-0$
+ org.eclipse.gef.commands.Command cmd1 = getCommandFromRequest(createRequest, stateEditPart);
+ if(cmd1 != null && cmd1.canExecute()) {
+ cc.compose(new CommandProxy(cmd1));
+ }
+ org.eclipse.gef.commands.Command cmd2 = getCommandFromRequest(deleteRequest, stateEditPart);
+ if(cmd2 != null && cmd2.canExecute()) {
+ cc.compose(new CommandProxy(cmd2));
+ }
+
+ refreshEditParts(cc, Collections.singleton((IGraphicalEditPart)stateEditPart));
+
+
+ return cc;
+ }
}
return null;
}

Back to the top