Skip to content

Commit 43b3eb5

Browse files
wbilemAxelRICHARD
authored andcommitted
[196] Implementation of ViewpointDefinition in export to textual files
Bug: #196 Signed-off-by: Walid Bilem <walid.bilem@obeosoft.com>
1 parent 45268f8 commit 43b3eb5

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

backend/application/syson-sysml-export/src/main/java/org/eclipse/syson/sysml/export/SysMLElementSerializer.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@
109109
import org.eclipse.syson.sysml.Type;
110110
import org.eclipse.syson.sysml.Usage;
111111
import org.eclipse.syson.sysml.UseCaseDefinition;
112+
import org.eclipse.syson.sysml.ViewpointDefinition;
112113
import org.eclipse.syson.sysml.VisibilityKind;
113114
import org.eclipse.syson.sysml.export.utils.Appender;
114115
import org.eclipse.syson.sysml.export.utils.NameDeresolver;
@@ -827,6 +828,21 @@ public String caseRequirementDefinition(RequirementDefinition requirement) {
827828
return builder.toString();
828829
}
829830

831+
@Override
832+
public String caseViewpointDefinition(ViewpointDefinition vp) {
833+
Appender builder = this.newAppender();
834+
835+
this.appendDefinitionPrefix(builder, vp);
836+
837+
builder.appendSpaceIfNeeded().append("viewpoint def");
838+
839+
this.appendDefinitionDeclaration(builder, vp);
840+
841+
this.appendChildrenContent(builder, vp, vp.getOwnedMembership());
842+
843+
return builder.toString();
844+
}
845+
830846
@Override
831847
public String caseMetadataDefinition(MetadataDefinition metadata) {
832848
Appender builder = this.newAppender();

backend/application/syson-sysml-export/src/test/java/org/eclipse/syson/sysml/export/SysMLElementSerializerTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
import org.eclipse.syson.sysml.SysmlFactory;
7979
import org.eclipse.syson.sysml.UseCaseDefinition;
8080
import org.eclipse.syson.sysml.VerificationCaseUsage;
81+
import org.eclipse.syson.sysml.ViewpointDefinition;
8182
import org.eclipse.syson.sysml.VisibilityKind;
8283
import org.eclipse.syson.sysml.export.models.AssertConstraintUsageWithOperatorExpressionTestModel;
8384
import org.eclipse.syson.sysml.export.models.AttributeUsageWithBinaryOperatorExpressionTestModel;
@@ -1122,6 +1123,17 @@ public void literalInfinity() {
11221123
this.assertTextualFormEquals("*", literalInf);
11231124
}
11241125

1126+
@Test
1127+
public void viewpointDefinition() {
1128+
ViewpointDefinition vp = this.builder.createWithName(ViewpointDefinition.class, "vpdef");
1129+
1130+
this.builder.createIn(Documentation.class, vp).setBody("A comment");
1131+
this.assertTextualFormEquals("""
1132+
viewpoint def vpdef {
1133+
doc/* A comment */
1134+
}""", vp);
1135+
}
1136+
11251137
@Test
11261138
public void metadataDefinition() {
11271139
MetadataDefinition metadata = this.builder.createWithName(MetadataDefinition.class, "mtdef");

0 commit comments

Comments
 (0)