Skip to content
This repository was archived by the owner on Nov 5, 2024. It is now read-only.

Commit 78c44f1

Browse files
[ONOS-7875]Json serializer issue for boolean data type
Change-Id: I9a5f112573b4bfc2ad658aeee829516f8f45270f
1 parent 7482534 commit 78c44f1

File tree

6 files changed

+16
-5
lines changed

6 files changed

+16
-5
lines changed

serializers/json/src/main/java/org/onosproject/yang/serializers/json/DefaultJsonBuilder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ private void appendLeafValue(LeafType type, String v, String ns) {
106106
case INT32:
107107
case UINT16:
108108
case UINT32:
109+
case BOOLEAN:
109110
treeString.append(v);
110111
break;
111112
default:

serializers/json/src/main/java/org/onosproject/yang/serializers/json/DefaultJsonWalker.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,8 @@ private void addLeafListNodeToDataTree(String fieldName,
186186
JsonNode element = elements.next();
187187
JsonNodeType eleType = element.getNodeType();
188188

189-
if (eleType == JsonNodeType.STRING || eleType == JsonNodeType.NUMBER) {
189+
if (eleType == JsonNodeType.STRING || eleType == JsonNodeType.NUMBER ||
190+
eleType == JsonNodeType.BOOLEAN) {
190191
addLeafDataNode(fieldName, element.asText(),
191192
MULTI_INSTANCE_LEAF_VALUE_NODE);
192193
dataNodeBuilder = SerializerHelper.exitDataNode(dataNodeBuilder);
@@ -202,7 +203,8 @@ private boolean isJsonNodeLeafList(ArrayNode jsonNode) {
202203
while (elements.hasNext()) {
203204
JsonNode element = elements.next();
204205
JsonNodeType eleType = element.getNodeType();
205-
if (eleType != JsonNodeType.STRING && eleType != JsonNodeType.NUMBER) {
206+
if (eleType != JsonNodeType.STRING && eleType != JsonNodeType.NUMBER &&
207+
eleType != JsonNodeType.BOOLEAN) {
206208
return false;
207209
}
208210
}

serializers/json/src/test/java/org/onosproject/yang/serializers/json/JsonSerializerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,10 @@ public class JsonSerializerTest {
7676
private static String outputIdTestJson1 = "{\"jsonlist:c2\":{\"leaflist1" +
7777
"\":[\"a\",\"b\",\"c\"],\"leaf1\":1,\"leaf2\":2,\"leaf3\":3," +
7878
"\"leaf4\":4,\"leaf5\":5,\"leaf6\":6,\"leaf7\":\"7\",\"leaf8\"" +
79-
":\"8\",\"leaf9\":\"true\",\"leaf10\":\"-922337203685477580.8\"" +
79+
":\"8\",\"leaf9\":true,\"leaf10\":\"-922337203685477580.8\"" +
8080
",\"ll1\":[1,10],\"ll2\":[2,20],\"ll3\":[3,30],\"ll4\":[4,40],\"" +
8181
"ll5\":[5,50],\"ll6\":[6,60],\"ll7\":[\"7\",\"70\"],\"ll8\":[\"" +
82-
"8\",\"80\"],\"ll9\":[\"true\",\"false\"],\"ll10\":[" +
82+
"8\",\"80\"],\"ll9\":[true,false],\"ll10\":[" +
8383
"\"-922337203685477580.8\",\"-922337203685477480.8\"]}}";
8484
@Rule
8585
public ExpectedException thrown = ExpectedException.none();

serializers/json/src/test/resources/demo1.yang

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@ module demo1 {
7979
type string;
8080
}
8181
}
82+
container cont8 {
83+
leaf leaf9 {
84+
type boolean;
85+
}
86+
}
8287
}
8388
}
8489

serializers/json/src/test/resources/test.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@
4444
"string82",
4545
"string83"
4646
]
47+
},
48+
"cont8" : {
49+
"leaf9" : true
4750
}
4851
}
4952
]

serializers/json/src/test/resources/testinput1.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"leaf6": 6,
1414
"leaf7": "7",
1515
"leaf8": "8",
16-
"leaf9": "true",
16+
"leaf9": true,
1717
"leaf10": "-922337203685477580.8",
1818
"ll1": [
1919
1,

0 commit comments

Comments
 (0)