Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Jira Legacy
serverONAP System Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a4733707d-557c2057-3c0c3a0f-b515ae5e-579789cceedb4fd8aff50176
keyCPS-461

Table of Contents

Introduction

Yang module used for testing

...

For the JSON output of Get DataNode we need to alter the DataMapUtils class. The function toDataMap translates a datanode object to a JSON output:


public static Map<String, Object> toDataMap(final DataNode dataNode) {
final boolean isTopLevelNode = dataNode.getXpath().lastIndexOf('/') == 0;
if (isTopLevelNode) {
String containerName = dataNode.getXpath().substring(1);
return ImmutableMap.<String, Object>builder().put(containerName,
ImmutableMap.<String, Object>builder()
.putAll(dataNode.getLeaves())
.putAll(listElementsAsMap(dataNode.getChildDataNodes()))
.putAll(containerElementsAsMap(dataNode.getChildDataNodes()))
.build()
).build();
} else {
return ImmutableMap.<String, Object>builder()
.putAll(dataNode.getLeaves())
.putAll(listElementsAsMap(dataNode.getChildDataNodes()))
.putAll(containerElementsAsMap(dataNode.getChildDataNodes()))
.build();
}
}

We only want the container name on the top level of the JSON output and as such have to distinguish between a top level node and non top level node. We create an outer map to wrap the inner map which creates the appropriate levels in the JSON output. 

This produces the following response in the Post Request output:

{
    "bookstore": {
        "bookstore-name": "Easons",
        "categories": [
            {
                "code": "01",
                "name": "SciFi"
            }
        ]
    }
}

Tests would need to be updated to accept the new JSON output which is returned. Examples would need to be updated in openapi

...