1616package org .openbpmn .bpmn .util ;
1717
1818import org .openbpmn .bpmn .BPMNModel ;
19+ import org .openbpmn .bpmn .elements .DataObject ;
20+ import org .openbpmn .bpmn .elements .DataStoreReference ;
1921import org .openbpmn .bpmn .elements .Event ;
2022import org .openbpmn .bpmn .elements .Gateway ;
23+ import org .openbpmn .bpmn .elements .Message ;
2124import org .openbpmn .bpmn .elements .core .BPMNElementNode ;
2225import org .openbpmn .bpmn .elements .core .BPMNLabel ;
2326import org .openbpmn .bpmn .exceptions .BPMNMissingElementException ;
@@ -42,11 +45,24 @@ public class BPMNModelUtil {
4245 public static void resetLabelBounds (final BPMNElementNode flowElement ) throws BPMNMissingElementException {
4346 double x = 0 ;
4447 double y = 0 ;
48+
4549 if (BPMNModel .isGateway (flowElement )) {
46- // gateway dimensions...
4750 x = flowElement .getBounds ().getPosition ().getX () + (Gateway .DEFAULT_WIDTH / 2 )
4851 - (BPMNLabel .DEFAULT_WIDTH / 2 );
4952 y = flowElement .getBounds ().getPosition ().getY () + Gateway .DEFAULT_HEIGHT + Gateway .LABEL_OFFSET ;
53+ } else if (BPMNModel .isDataObject (flowElement )) {
54+ x = flowElement .getBounds ().getPosition ().getX () + (DataObject .DEFAULT_WIDTH / 2 )
55+ - (BPMNLabel .DEFAULT_WIDTH / 2 );
56+ y = flowElement .getBounds ().getPosition ().getY () + DataObject .DEFAULT_HEIGHT + DataObject .LABEL_OFFSET ;
57+ } else if (BPMNModel .isDataStore (flowElement )) {
58+ x = flowElement .getBounds ().getPosition ().getX () + (DataStoreReference .DEFAULT_WIDTH / 2 )
59+ - (BPMNLabel .DEFAULT_WIDTH / 2 );
60+ y = flowElement .getBounds ().getPosition ().getY () + DataStoreReference .DEFAULT_HEIGHT
61+ + DataStoreReference .LABEL_OFFSET ;
62+ } else if (BPMNModel .isMessage (flowElement )) {
63+ x = flowElement .getBounds ().getPosition ().getX () + (Message .DEFAULT_WIDTH / 2 )
64+ - (BPMNLabel .DEFAULT_WIDTH / 2 );
65+ y = flowElement .getBounds ().getPosition ().getY () + Message .DEFAULT_HEIGHT + Message .LABEL_OFFSET ;
5066 } else {
5167 // default (events)
5268 x = flowElement .getBounds ().getPosition ().getX () + (Event .DEFAULT_WIDTH / 2 )
0 commit comments