Include namespace in output element of json rpc responses 58/79558/1
authorTomas Cere <tomas.cere@pantheon.tech>
Mon, 14 Jan 2019 11:04:39 +0000 (12:04 +0100)
committerJakub Morvay <jakub.morvay@gmail.com>
Wed, 16 Jan 2019 08:59:12 +0000 (08:59 +0000)
According to the rfc these should be present.

JIRA: NETCONF-592
Change-Id: I461a04726ce8ab5bd4963902070000f5f78d5d45
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
(cherry picked from commit 957041a9007098020d9123aec2768adf1e980b53)

restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/NormalizedNodeJsonBodyWriter.java
restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/JSONRestconfServiceRfc8040ImplTest.java

index 59a976743cb9ee1c5f0b35f5a76af63f0c7965a0..8ee8db363a58841564dae7cb15c15cfb6fd0e13b 100644 (file)
@@ -42,6 +42,7 @@ import org.opendaylight.yangtools.yang.data.codec.gson.JSONNormalizedNodeStreamW
 import org.opendaylight.yangtools.yang.data.codec.gson.JsonWriterFactory;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
+import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaNode;
@@ -113,7 +114,8 @@ public class NormalizedNodeJsonBodyWriter implements MessageBodyWriter<Normalize
                     jsonWriter,
                     depth,
                     fields);
-            jsonWriter.name("output");
+            final Module module = context.getSchemaContext().findModule(data.getNodeType().getModule()).get();
+            jsonWriter.name(module.getName() + ":output");
             jsonWriter.beginObject();
             writeChildren(nnWriter, (ContainerNode) data);
             jsonWriter.endObject();
index 7e82357cf53c4a6c3d48fb98081ed7c81a372ff8..7814c4419e80b51273e26fe2d60e7f6619ea5ef8 100644 (file)
@@ -523,6 +523,7 @@ public class JSONRestconfServiceRfc8040ImplTest {
 
         assertEquals("Output present", true, output.isPresent());
         assertNotNull("Returned null response", output.get());
+        assertThat("Output element is missing namespace", output.get(), containsString("\"toaster:output\""));
         assertThat("Missing \"textOut\"", output.get(), containsString("\"textOut\":\"foo\""));
 
         verify(mockRpcService).invokeRpc(eq(path), isNull(NormalizedNode.class));