Skip to content

Commit 75c40e3

Browse files
author
socadk
committed
Bug fix: JSON export of genmodels if data type placeholder P is present
1 parent 76ed889 commit 75c40e3

File tree

4 files changed

+100
-3
lines changed

4 files changed

+100
-3
lines changed

dsl-core/io.mdsl.tests/test-data/exporter/simple-generation-input-2.mdsl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
API description TestAPI
22

3+
data type TestType0 P
4+
data type TestType1 "nameOnly"
5+
data type TestType2 D
6+
data type TestType3 D<string>
7+
data type TestType4 "aNumber": D<int>
8+
39
data type VersionedType version "0.1" "uri": Link<string> default is "http://localhost:8080"
10+
411
event type workTrigger
512
command type work
613

dsl-core/io.mdsl.tests/test-data/exporter/simple-generation-input-2_GeneratorModel.json

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,54 @@
11
{
22
"apiName" : "TestAPI",
33
"dataTypes" : [ {
4+
"name" : "TestType0",
5+
"fields" : [ ],
6+
"version" : "N/A",
7+
"defaultValue" : null,
8+
"atomic" : false
9+
}, {
10+
"name" : "TestType1",
11+
"fields" : [ ],
12+
"version" : "N/A",
13+
"defaultValue" : null,
14+
"atomic" : false
15+
}, {
16+
"name" : "TestType2",
17+
"fields" : [ {
18+
"name" : "anonymous1",
19+
"type" : "VOID",
20+
"list" : false,
21+
"nullable" : false,
22+
"typeAsString" : "void"
23+
} ],
24+
"version" : "N/A",
25+
"defaultValue" : null,
26+
"atomic" : true
27+
}, {
28+
"name" : "TestType3",
29+
"fields" : [ {
30+
"name" : "anonymous2",
31+
"type" : "STRING",
32+
"list" : false,
33+
"nullable" : false,
34+
"typeAsString" : "string"
35+
} ],
36+
"version" : "N/A",
37+
"defaultValue" : null,
38+
"atomic" : true
39+
}, {
40+
"name" : "TestType4",
41+
"fields" : [ {
42+
"name" : "aNumber",
43+
"type" : "INTEGER",
44+
"list" : false,
45+
"nullable" : false,
46+
"typeAsString" : "int"
47+
} ],
48+
"version" : "N/A",
49+
"defaultValue" : null,
50+
"atomic" : true
51+
}, {
452
"name" : "VersionedType",
553
"fields" : [ {
654
"name" : "uri",

dsl-core/io.mdsl.tests/test-data/exporter/simple-generation-input-2_GeneratorModel.yaml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,45 @@
11
apiName: "TestAPI"
22
dataTypes:
3+
- name: "TestType0"
4+
fields: []
5+
version: "N/A"
6+
defaultValue: null
7+
atomic: false
8+
- name: "TestType1"
9+
fields: []
10+
version: "N/A"
11+
defaultValue: null
12+
atomic: false
13+
- name: "TestType2"
14+
fields:
15+
- name: "anonymous1"
16+
type: "VOID"
17+
list: false
18+
nullable: false
19+
typeAsString: "void"
20+
version: "N/A"
21+
defaultValue: null
22+
atomic: true
23+
- name: "TestType3"
24+
fields:
25+
- name: "anonymous2"
26+
type: "STRING"
27+
list: false
28+
nullable: false
29+
typeAsString: "string"
30+
version: "N/A"
31+
defaultValue: null
32+
atomic: true
33+
- name: "TestType4"
34+
fields:
35+
- name: "aNumber"
36+
type: "INTEGER"
37+
list: false
38+
nullable: false
39+
typeAsString: "int"
40+
version: "N/A"
41+
defaultValue: null
42+
atomic: true
343
- name: "VersionedType"
444
fields:
545
- name: "uri"

dsl-core/io.mdsl/src/io/mdsl/generator/model/DataType.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,11 @@ public boolean isAtomic() {
9090
if(fields.size()>1) {
9191
return false;
9292
}
93-
94-
if(fields.get(0).getType() instanceof BasicType) {
95-
return true;
93+
// bug fix in v546:
94+
else if (fields.size()==1) {
95+
if(fields.get(0).getType() instanceof BasicType) {
96+
return true;
97+
}
9698
}
9799

98100
return false;

0 commit comments

Comments
 (0)