Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@

public abstract class VBehavior extends VDefault {
protected boolean isDoneAction(Feature f) {
return "Actions::Action::done".equals(f.getQualifiedName());
return f != null && f.specializesFromLibrary("Actions::Action::done");
}

protected boolean isStartAction(Feature f) {
return "Actions::Action::start".equals(f.getQualifiedName());
return f != null && f.specializesFromLibrary("Actions::Action::start");
}

protected boolean isEntryAction(ActionUsage au) {
Expand Down
15 changes: 8 additions & 7 deletions org.omg.sysml.plantuml/src/org/omg/sysml/plantuml/VCase.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@

import java.util.List;

import org.omg.sysml.lang.sysml.CaseDefinition;
import org.omg.sysml.lang.sysml.ActionUsage;
import org.omg.sysml.lang.sysml.CaseUsage;
import org.omg.sysml.lang.sysml.Membership;
import org.omg.sysml.lang.sysml.Namespace;
Expand All @@ -39,7 +39,7 @@
import org.omg.sysml.plantuml.SysML2PlantUMLStyle.StyleRelSwitch;
import org.omg.sysml.plantuml.SysML2PlantUMLStyle.StyleSwitch;

public class VCase extends VTree {
public class VCase extends VMixed {
private static final SysML2PlantUMLStyle style
= new SysML2PlantUMLStyle
("VCase",
Expand All @@ -66,7 +66,7 @@ protected VTree newVTree(Namespace namespace, Membership membership) {
return new VCase(this, namespace, membership);
}

private String addCase(Type typ) {
private String addAction(Type typ) {
String name = extractTitleName(typ);
int id = addRecLine(name, typ, true);
addSpecializations(id, typ);
Expand Down Expand Up @@ -104,13 +104,14 @@ public String caseSubjectMembership(SubjectMembership sm) {
}

@Override
public String caseCaseUsage(CaseUsage ucu) {
return addCase(ucu);
public String caseActionUsage(ActionUsage au) {
return addAction(au);
}

@Override
public String caseCaseDefinition(CaseDefinition ucd) {
return addCase(ucd);
public String caseCaseUsage(CaseUsage cu) {
// We MUST override VMixed.caseCaseUsage()
return addAction(cu);
}

VCase(Visitor vt, Namespace namespace, Membership membership) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@
import java.util.ArrayList;
import java.util.List;

import org.omg.sysml.lang.sysml.CaseDefinition;
import org.omg.sysml.lang.sysml.CaseUsage;
import org.omg.sysml.lang.sysml.ActionUsage;
import org.omg.sysml.lang.sysml.Element;
import org.omg.sysml.lang.sysml.Membership;
import org.omg.sysml.lang.sysml.ObjectiveMembership;
Expand Down Expand Up @@ -66,25 +65,20 @@ private void recElement(Element e, boolean inside) {
rec(new VCase(this), e, inside);
}

private String addCase(Type typ) {
private String addAction(Type typ) {
recElement(typ, true);
return "";
}

@Override
public String caseCaseUsage(CaseUsage ucu) {
return addCase(ucu);
}

@Override
public String caseCaseDefinition(CaseDefinition ucd) {
return addCase(ucd);
public String caseActionUsage(ActionUsage ucu) {
return addAction(ucu);
}

@Override
public String caseMembership(Membership m) {
Element e = m.getMemberElement();
if ((e instanceof CaseUsage)
if ((e instanceof ActionUsage) // Action-like elements are recursively rendered.
|| (e instanceof Relationship)) {
return super.caseMembership(m);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ public String caseCaseDefinition(CaseDefinition ucd) {
}


private VMixed(VTree vt, Namespace namespace, Membership membership) {
protected VMixed(Visitor vt, Namespace namespace, Membership membership) {
super(vt, namespace, membership);
}

Expand Down