Skip to content

Commit 6dc0cd8

Browse files
authored
Merge pull request #710 from Systems-Modeling/ST6RI-892
ST6RI-892 State transition visualization cause null pointer exception (PlantUML)
2 parents f7def18 + d049b28 commit 6dc0cd8

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

org.omg.sysml.plantuml/src/org/omg/sysml/plantuml/VBehavior.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -259,8 +259,9 @@ private String triggerToText(AcceptActionUsage aau) {
259259
StringBuilder sb = new StringBuilder();
260260

261261
Expression payload = aau.getPayloadArgument();
262-
if (payload != null) {
263-
sb.append(getText(payload));
262+
String payloadText = getText(payload);
263+
if (payloadText != null) {
264+
sb.append(payloadText);
264265
} else {
265266
ReferenceUsage ru = aau.getPayloadParameter();
266267
appendNameAndType(sb, ru, "payload");
@@ -281,31 +282,31 @@ private String convertToDescription(TransitionUsage tu) {
281282

282283
List<AcceptActionUsage> triggerActions = tu.getTriggerAction();
283284
if (!triggerActions.isEmpty()) {
284-
String triggerString = triggerToText(triggerActions.get(0)).trim();
285-
if (!(triggerString.isEmpty())) {
286-
ls.append(triggerString);
285+
String triggerString = triggerToText(triggerActions.get(0));
286+
if (triggerString != null && !(triggerString.isEmpty())) {
287+
ls.append(triggerString.trim());
287288
ls.append(' ');
288289
}
289290
}
290291

291292
List<Expression> guardExpressions = tu.getGuardExpression();
292293
if (!guardExpressions.isEmpty()) {
293-
String guardString = getText(guardExpressions.get(0)).trim();
294-
if (!guardString.isEmpty()) {
294+
String guardString = getText(guardExpressions.get(0));
295+
if (guardString != null && !guardString.isEmpty()) {
295296
ls.fold();
296297
ls.append('[');
297-
ls.append(guardString);
298+
ls.append(guardString.trim());
298299
ls.append(']');
299300
}
300301
}
301302

302303
List<ActionUsage> effectActions = tu.getEffectAction();
303304
if (!effectActions.isEmpty()) {
304-
String effectString = getText(effectActions.get(0)).trim();
305-
if (!effectString.isEmpty()) {
305+
String effectString = getText(effectActions.get(0));
306+
if (effectString != null && !effectString.isEmpty()) {
306307
ls.fold();
307308
ls.append('/');
308-
ls.append(effectString);
309+
ls.append(effectString.trim());
309310
}
310311
}
311312

0 commit comments

Comments
 (0)