Skip to content

Commit 2a20389

Browse files
committed
* VCase: Inherit from VMixed to support action as well. *VCaseMembers: Recursively render actions as well
1 parent d102053 commit 2a20389

3 files changed

Lines changed: 15 additions & 18 deletions

File tree

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

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
import java.util.List;
2828

29-
import org.omg.sysml.lang.sysml.CaseDefinition;
29+
import org.omg.sysml.lang.sysml.ActionUsage;
3030
import org.omg.sysml.lang.sysml.CaseUsage;
3131
import org.omg.sysml.lang.sysml.Membership;
3232
import org.omg.sysml.lang.sysml.Namespace;
@@ -39,7 +39,7 @@
3939
import org.omg.sysml.plantuml.SysML2PlantUMLStyle.StyleRelSwitch;
4040
import org.omg.sysml.plantuml.SysML2PlantUMLStyle.StyleSwitch;
4141

42-
public class VCase extends VTree {
42+
public class VCase extends VMixed {
4343
private static final SysML2PlantUMLStyle style
4444
= new SysML2PlantUMLStyle
4545
("VCase",
@@ -66,7 +66,7 @@ protected VTree newVTree(Namespace namespace, Membership membership) {
6666
return new VCase(this, namespace, membership);
6767
}
6868

69-
private String addCase(Type typ) {
69+
private String addAction(Type typ) {
7070
String name = extractTitleName(typ);
7171
int id = addRecLine(name, typ, true);
7272
addSpecializations(id, typ);
@@ -104,13 +104,14 @@ public String caseSubjectMembership(SubjectMembership sm) {
104104
}
105105

106106
@Override
107-
public String caseCaseUsage(CaseUsage ucu) {
108-
return addCase(ucu);
107+
public String caseActionUsage(ActionUsage au) {
108+
return addAction(au);
109109
}
110110

111111
@Override
112-
public String caseCaseDefinition(CaseDefinition ucd) {
113-
return addCase(ucd);
112+
public String caseCaseUsage(CaseUsage cu) {
113+
// We MUST override VMixed.caseCaseUsage()
114+
return addAction(cu);
114115
}
115116

116117
VCase(Visitor vt, Namespace namespace, Membership membership) {

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

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@
2727
import java.util.ArrayList;
2828
import java.util.List;
2929

30-
import org.omg.sysml.lang.sysml.CaseDefinition;
30+
import org.omg.sysml.lang.sysml.ActionDefinition;
31+
import org.omg.sysml.lang.sysml.ActionUsage;
3132
import org.omg.sysml.lang.sysml.CaseUsage;
3233
import org.omg.sysml.lang.sysml.Element;
3334
import org.omg.sysml.lang.sysml.Membership;
@@ -66,25 +67,20 @@ private void recElement(Element e, boolean inside) {
6667
rec(new VCase(this), e, inside);
6768
}
6869

69-
private String addCase(Type typ) {
70+
private String addAction(Type typ) {
7071
recElement(typ, true);
7172
return "";
7273
}
7374

7475
@Override
75-
public String caseCaseUsage(CaseUsage ucu) {
76-
return addCase(ucu);
77-
}
78-
79-
@Override
80-
public String caseCaseDefinition(CaseDefinition ucd) {
81-
return addCase(ucd);
76+
public String caseActionUsage(ActionUsage ucu) {
77+
return addAction(ucu);
8278
}
8379

8480
@Override
8581
public String caseMembership(Membership m) {
8682
Element e = m.getMemberElement();
87-
if ((e instanceof CaseUsage)
83+
if ((e instanceof ActionUsage) // Action-like elements are recursively rendered.
8884
|| (e instanceof Relationship)) {
8985
return super.caseMembership(m);
9086
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public String caseCaseDefinition(CaseDefinition ucd) {
110110
}
111111

112112

113-
private VMixed(VTree vt, Namespace namespace, Membership membership) {
113+
protected VMixed(Visitor vt, Namespace namespace, Membership membership) {
114114
super(vt, namespace, membership);
115115
}
116116

0 commit comments

Comments
 (0)