File tree Expand file tree Collapse file tree
org.omg.sysml/src/org/omg/sysml/adapter Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package org .omg .sysml .adapter ;
2+
3+ import org .eclipse .emf .common .util .EList ;
4+ import org .omg .sysml .lang .sysml .AnnotatingElement ;
5+ import org .omg .sysml .lang .sysml .Annotation ;
6+ import org .omg .sysml .lang .sysml .Relationship ;
7+
8+ public class AnnotatingElementAdapter extends ElementAdapter {
9+
10+ public AnnotatingElementAdapter (AnnotatingElement element ) {
11+ super (element );
12+ }
13+
14+ public AnnotatingElement getTarget () {
15+ return (AnnotatingElement )super .getTarget ();
16+ }
17+
18+ public static void transformAnnotatingElement (AnnotatingElement annotatingElement ) {
19+ EList <Annotation > annotations = annotatingElement .getAnnotation ();
20+ if (annotations .isEmpty ()) {
21+ Relationship owningRelationship = annotatingElement .getOwningRelationship ();
22+ if (owningRelationship instanceof Annotation ) {
23+ annotations .add ((Annotation )owningRelationship );
24+ }
25+ }
26+ }
27+
28+ @ Override
29+ public void doTransform () {
30+ super .doTransform ();
31+ transformAnnotatingElement (getTarget ());
32+ }
33+
34+ }
Original file line number Diff line number Diff line change @@ -76,6 +76,11 @@ public ElementAdapter caseActionUsage(ActionUsage element) {
7676 return new ActionUsageAdapter (element );
7777 }
7878
79+ @ Override
80+ public ElementAdapter caseAnnotatingElement (AnnotatingElement element ) {
81+ return new AnnotatingElementAdapter (element );
82+ }
83+
7984 @ Override
8085 public ElementAdapter caseAssertConstraintUsage (AssertConstraintUsage element ) {
8186 return new AssertConstraintUsageAdapter (element );
Original file line number Diff line number Diff line change @@ -46,4 +46,11 @@ protected String getDefaultSupertype() {
4646 protected List <Type > getBaseTypes () {
4747 return Collections .emptyList ();
4848 }
49+
50+ @ Override
51+ public void doTransform () {
52+ super .doTransform ();
53+ AnnotatingElementAdapter .transformAnnotatingElement (getTarget ());
54+ }
55+
4956}
Original file line number Diff line number Diff line change @@ -37,4 +37,11 @@ public MetadataUsage getTarget() {
3737 protected String getDefaultSupertype () {
3838 return getDefaultSupertype ("base" );
3939 }
40- }
40+
41+ @ Override
42+ public void doTransform () {
43+ super .doTransform ();
44+ AnnotatingElementAdapter .transformAnnotatingElement (getTarget ());
45+ }
46+
47+ }
You can’t perform that action at this time.
0 commit comments