|
61 | 61 | import org.omg.sysml.lang.sysml.Redefinition; |
62 | 62 | import org.omg.sysml.lang.sysml.ReferenceSubsetting; |
63 | 63 | import org.omg.sysml.lang.sysml.Relationship; |
| 64 | +import org.omg.sysml.lang.sysml.RequirementUsage; |
| 65 | +import org.omg.sysml.lang.sysml.SatisfyRequirementUsage; |
64 | 66 | import org.omg.sysml.lang.sysml.Specialization; |
65 | 67 | import org.omg.sysml.lang.sysml.SubjectMembership; |
66 | 68 | import org.omg.sysml.lang.sysml.Subsetting; |
@@ -339,7 +341,7 @@ private static boolean isEmpty(Feature f) { |
339 | 341 | } |
340 | 342 |
|
341 | 343 | // Shorthand notation |
342 | | - protected boolean addShorthandRelation(Usage u, String title) { |
| 344 | + private boolean addShorthandRelation(Usage u, String title) { |
343 | 345 | if (u.getDeclaredName() != null) return false; |
344 | 346 | if (u.getDeclaredShortName() != null) return false; |
345 | 347 | ReferenceSubsetting rs = u.getOwnedReferenceSubsetting(); |
@@ -398,6 +400,19 @@ public String caseAssertConstraintUsage(AssertConstraintUsage acu) { |
398 | 400 | return null; |
399 | 401 | } |
400 | 402 |
|
| 403 | + @Override |
| 404 | + public String caseSatisfyRequirementUsage(SatisfyRequirementUsage sru) { |
| 405 | + RequirementUsage ru = sru.getSatisfiedRequirement(); |
| 406 | + Feature target = sru.getSatisfyingFeature(); |
| 407 | + if ((ru != null) && (target != null)) { |
| 408 | + addPRelation(target, ru, sru, "<<satisfy>>"); |
| 409 | + if (getSpecialReference(sru) != null) return ""; |
| 410 | + } else { |
| 411 | + if (addShorthandRelation(sru, "<<satisfy>>")) return ""; |
| 412 | + } |
| 413 | + return null; |
| 414 | + } |
| 415 | + |
401 | 416 | @Override |
402 | 417 | public String caseImport(Import imp) { |
403 | 418 | VImport v = new VImport(this); |
|
0 commit comments