Skip to content
This repository was archived by the owner on Jan 13, 2021. It is now read-only.

Commit ea49c4a

Browse files
First selection of message and signal
1 parent ff0e37b commit ea49c4a

10 files changed

+44
-17
lines changed

org.activiti.designer.gui/src/main/java/org/activiti/designer/property/MessagePropertyUtil.java

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@
77
import org.activiti.bpmn.model.Event;
88
import org.activiti.bpmn.model.Message;
99
import org.activiti.bpmn.model.MessageEventDefinition;
10+
import org.activiti.designer.util.eclipse.ActivitiUiUtil;
1011
import org.activiti.designer.util.editor.BpmnMemoryModel;
1112
import org.activiti.designer.util.editor.ModelHandler;
1213
import org.apache.commons.lang.StringUtils;
1314
import org.eclipse.emf.ecore.util.EcoreUtil;
15+
import org.eclipse.emf.transaction.TransactionalEditingDomain;
1416
import org.eclipse.graphiti.mm.pictograms.Diagram;
17+
import org.eclipse.graphiti.platform.IDiagramContainer;
1518
import org.eclipse.swt.events.SelectionListener;
1619
import org.eclipse.swt.widgets.Combo;
1720

@@ -37,20 +40,31 @@ public static String[] fillMessageCombo(Combo messageCombo, SelectionListener se
3740
}
3841

3942

40-
public static String getMessageValue(Event event, Diagram diagram) {
43+
public static String getMessageValue(final Event event, final Diagram diagram, final IDiagramContainer diagramContainer) {
4144
if (event.getEventDefinitions().get(0) != null) {
42-
MessageEventDefinition messageDefinition = (MessageEventDefinition) event.getEventDefinitions().get(0);
45+
final MessageEventDefinition messageDefinition = (MessageEventDefinition) event.getEventDefinitions().get(0);
46+
final BpmnMemoryModel memoryModel = ModelHandler.getModel(EcoreUtil.getURI(diagram));
47+
final BpmnModel model = memoryModel.getBpmnModel();
4348
if (StringUtils.isNotEmpty(messageDefinition.getMessageRef())) {
44-
BpmnMemoryModel memoryModel = ModelHandler.getModel(EcoreUtil.getURI(diagram));
45-
BpmnModel model = memoryModel.getBpmnModel();
4649
for (Message message : model.getMessages()) {
4750
if (message.getId() != null && message.getId().equals(messageDefinition.getMessageRef())) {
4851
return message.getName() + " (" + message.getId() + ")";
4952
}
5053
}
5154

5255
} else {
53-
return "message";
56+
if (model.getMessages().size() > 0) {
57+
final Runnable runnable = new Runnable() {
58+
public void run() {
59+
Message message = model.getMessages().iterator().next();
60+
messageDefinition.setMessageRef(message.getId());
61+
}
62+
};
63+
64+
TransactionalEditingDomain editingDomain = diagramContainer.getDiagramBehavior().getEditingDomain();
65+
ActivitiUiUtil.runModelChange(runnable, editingDomain, "Model Update");
66+
67+
}
5468
}
5569
}
5670
return null;

org.activiti.designer.gui/src/main/java/org/activiti/designer/property/PropertyBoundaryMessageSection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ protected Object getModelValueForControl(Control control, Object businessObject)
3636
return String.valueOf(event.isCancelActivity());
3737

3838
} else if (control == messageCombo) {
39-
return MessagePropertyUtil.getMessageValue(event, getDiagram());
39+
return MessagePropertyUtil.getMessageValue(event, getDiagram(), getDiagramContainer());
4040
}
4141
return null;
4242
}

org.activiti.designer.gui/src/main/java/org/activiti/designer/property/PropertyBoundarySignalSection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ protected Object getModelValueForControl(Control control, Object businessObject)
3838
return String.valueOf(event.isCancelActivity());
3939

4040
} else if (control == signalCombo) {
41-
return SignalPropertyUtil.getSignalValue(event, getDiagram());
41+
return SignalPropertyUtil.getSignalValue(event, getDiagram(), getDiagramContainer());
4242
}
4343
return null;
4444
}

org.activiti.designer.gui/src/main/java/org/activiti/designer/property/PropertyIntermediateCatchMessageSection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ protected void populateControl(Control control, Object businessObject) {
2929
protected Object getModelValueForControl(Control control, Object businessObject) {
3030
Event event = (Event) businessObject;
3131
if (control == messageCombo) {
32-
return MessagePropertyUtil.getMessageValue(event, getDiagram());
32+
return MessagePropertyUtil.getMessageValue(event, getDiagram(), getDiagramContainer());
3333
}
3434
return null;
3535
}

org.activiti.designer.gui/src/main/java/org/activiti/designer/property/PropertyIntermediateCatchSignalSection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ protected void populateControl(Control control, Object businessObject) {
2929
protected Object getModelValueForControl(Control control, Object businessObject) {
3030
Event event = (Event) businessObject;
3131
if (control == signalCombo) {
32-
return SignalPropertyUtil.getSignalValue(event, getDiagram());
32+
return SignalPropertyUtil.getSignalValue(event, getDiagram(), getDiagramContainer());
3333
}
3434
return null;
3535
}

org.activiti.designer.gui/src/main/java/org/activiti/designer/property/PropertyIntermediateThrowSignalSection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ protected void populateControl(Control control, Object businessObject) {
2929
protected Object getModelValueForControl(Control control, Object businessObject) {
3030
Event event = (Event) businessObject;
3131
if (control == signalCombo) {
32-
return SignalPropertyUtil.getSignalValue(event, getDiagram());
32+
return SignalPropertyUtil.getSignalValue(event, getDiagram(), getDiagramContainer());
3333
}
3434
return null;
3535
}

org.activiti.designer.gui/src/main/java/org/activiti/designer/property/PropertyMessageStartEventSection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ protected void populateControl(Control control, Object businessObject) {
3333
protected Object getModelValueForControl(Control control, Object businessObject) {
3434
Event event = (Event) businessObject;
3535
if (control == messageCombo) {
36-
return MessagePropertyUtil.getMessageValue(event, getDiagram());
36+
return MessagePropertyUtil.getMessageValue(event, getDiagram(), getDiagramContainer());
3737
}
3838
return null;
3939
}

org.activiti.designer.gui/src/main/java/org/activiti/designer/property/PropertySignalStartEventSection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ protected void populateControl(Control control, Object businessObject) {
2929
protected Object getModelValueForControl(Control control, Object businessObject) {
3030
Event event = (Event) businessObject;
3131
if (control == signalCombo) {
32-
return SignalPropertyUtil.getSignalValue(event, getDiagram());
32+
return SignalPropertyUtil.getSignalValue(event, getDiagram(), getDiagramContainer());
3333
}
3434
return null;
3535
}

org.activiti.designer.gui/src/main/java/org/activiti/designer/property/SignalPropertyUtil.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,14 @@
66
import org.activiti.bpmn.model.Event;
77
import org.activiti.bpmn.model.Signal;
88
import org.activiti.bpmn.model.SignalEventDefinition;
9+
import org.activiti.designer.util.eclipse.ActivitiUiUtil;
910
import org.activiti.designer.util.editor.BpmnMemoryModel;
1011
import org.activiti.designer.util.editor.ModelHandler;
1112
import org.apache.commons.lang.StringUtils;
1213
import org.eclipse.emf.ecore.util.EcoreUtil;
14+
import org.eclipse.emf.transaction.TransactionalEditingDomain;
1315
import org.eclipse.graphiti.mm.pictograms.Diagram;
16+
import org.eclipse.graphiti.platform.IDiagramContainer;
1417
import org.eclipse.swt.events.SelectionListener;
1518
import org.eclipse.swt.widgets.Combo;
1619

@@ -33,20 +36,30 @@ public static String[] fillSignalCombo(Combo signalCombo, SelectionListener sele
3336
}
3437

3538

36-
public static String getSignalValue(Event event, Diagram diagram) {
39+
public static String getSignalValue(final Event event, final Diagram diagram, final IDiagramContainer diagramContainer) {
3740
if (event.getEventDefinitions().get(0) != null) {
38-
SignalEventDefinition signalDefinition = (SignalEventDefinition) event.getEventDefinitions().get(0);
41+
final SignalEventDefinition signalDefinition = (SignalEventDefinition) event.getEventDefinitions().get(0);
42+
final BpmnMemoryModel memoryModel = ModelHandler.getModel(EcoreUtil.getURI(diagram));
43+
final BpmnModel model = memoryModel.getBpmnModel();
3944
if (StringUtils.isNotEmpty(signalDefinition.getSignalRef())) {
40-
BpmnMemoryModel memoryModel = ModelHandler.getModel(EcoreUtil.getURI(diagram));
41-
BpmnModel model = memoryModel.getBpmnModel();
4245
for (Signal signal : model.getSignals()) {
4346
if (signal.getId() != null && signal.getId().equals(signalDefinition.getSignalRef())) {
4447
return signal.getName() + " (" + signal.getId() + ")";
4548
}
4649
}
4750

4851
} else {
49-
return "signal";
52+
if (model.getSignals().size() > 0) {
53+
final Runnable runnable = new Runnable() {
54+
public void run() {
55+
Signal signal = model.getSignals().iterator().next();
56+
signalDefinition.setSignalRef(signal.getId());
57+
}
58+
};
59+
60+
TransactionalEditingDomain editingDomain = diagramContainer.getDiagramBehavior().getEditingDomain();
61+
ActivitiUiUtil.runModelChange(runnable, editingDomain, "Model Update");
62+
}
5063
}
5164
}
5265
return null;

0 commit comments

Comments
 (0)