Skip to content

Commit afa2ca3

Browse files
committed
ST6RI-521 Restored AnnotatingElement owning Annotation transform.
1 parent 6231e9b commit afa2ca3

4 files changed

Lines changed: 54 additions & 1 deletion

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
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+
}

org.omg.sysml/src/org/omg/sysml/adapter/ElementAdapterFactory.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff 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);

org.omg.sysml/src/org/omg/sysml/adapter/MetadataFeatureAdapter.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff 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
}

org.omg.sysml/src/org/omg/sysml/adapter/MetadataUsageAdapter.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff 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+
}

0 commit comments

Comments
 (0)