[ONOS-5723][ONOS-5763] Get request is printing only one object +
onos-app-yms YCH includes the Module name when encoding Java to XML
Change-Id: I453b7d879038511d1a184c0043c2659898c29df5
diff --git a/apps/yms/ut/src/test/java/org/onosproject/yms/app/ych/DefaultYangCodecHandlerTest.java b/apps/yms/ut/src/test/java/org/onosproject/yms/app/ych/DefaultYangCodecHandlerTest.java
index 7a1c8ea..dea5877 100644
--- a/apps/yms/ut/src/test/java/org/onosproject/yms/app/ych/DefaultYangCodecHandlerTest.java
+++ b/apps/yms/ut/src/test/java/org/onosproject/yms/app/ych/DefaultYangCodecHandlerTest.java
@@ -91,9 +91,8 @@
*/
private static String customsXml() {
return "<filter xmlns=\"ydt.filter-type\" type=\"subtree\">" +
- "<customssupervisor xmlns=\"ydt.customs-supervisor\">" +
- "<supervisor>Customssupervisor</supervisor>" +
- "</customssupervisor>" +
+ "<supervisor xmlns=\"ydt.customs-supervisor\">" +
+ "Customssupervisor</supervisor>" +
"</filter>";
}
@@ -104,10 +103,8 @@
*/
private static String merchandXml() {
return "<config xmlns=\"ydt.root\">" +
- "<merchandisersupervisor xmlns=\"ydt.Merchandiser-" +
- "supervisor\">" +
- "<supervisor>Merchandisersupervisor</supervisor>" +
- "</merchandisersupervisor>" +
+ "<supervisor xmlns=\"ydt.Merchandiser-supervisor\">" +
+ "Merchandisersupervisor</supervisor>" +
"</config>";
}
@@ -118,9 +115,8 @@
*/
private static String tradingXml() {
return "<config xmlns=\"ydt.root\">" +
- "<tradingsupervisor xmlns=\"ydt.trading-supervisor\">" +
- "<supervisor>Tradingsupervisor</supervisor>" +
- "</tradingsupervisor>" +
+ "<supervisor xmlns=\"ydt.trading-supervisor\">" +
+ "Tradingsupervisor</supervisor>" +
"</config>";
}
@@ -130,10 +126,9 @@
* @return the xml string for customssupervisor module
*/
private static String customsCompositeXml() {
- return "<filter xmlns=\"ydt.filter-type\"><customssupervisor " +
- "xmlns=\"ydt.customs-supervisor\">" +
- "<supervisor>Customssupervisor</supervisor>" +
- "</customssupervisor></filter>";
+ return "<filter xmlns=\"ydt.filter-type\">" +
+ "<supervisor xmlns=\"ydt.customs-supervisor\">" +
+ "Customssupervisor</supervisor></filter>";
}
/**
@@ -143,7 +138,6 @@
*/
private static String customsEmptyXml() {
return "<filter xmlns=\"ydt.filter-type\" type=\"subtree\">" +
- "<customssupervisor xmlns=\"ydt.customs-supervisor\"/>" +
"</filter>";
}
@@ -154,19 +148,21 @@
*/
private static String materialXml() {
return "<filter xmlns=\"ydt.filter-type\" type=\"subtree\">" +
- "<materialsupervisor xmlns=\"ydt.material-supervisor\">" +
- "<supervisor>" +
+ "<supervisor xmlns=\"ydt.material-supervisor\">" +
"<name>abc1</name><departmentId>xyz1</departmentId>" +
"</supervisor>" +
- "<supervisor><name>abc2</name><departmentId>xyz2</departmentId>" +
+ "<supervisor xmlns=\"ydt.material-supervisor\"" +
+ "><name>abc2</name><departmentId>xyz2</departmentId>" +
"</supervisor>" +
- "<supervisor><name>abc3</name><departmentId>xyz3</departmentId>" +
+ "<supervisor xmlns=\"ydt.material-supervisor\"" +
+ "><name>abc3</name><departmentId>xyz3</departmentId>" +
"</supervisor>" +
- "<supervisor><name>abc4</name><departmentId>xyz4</departmentId>" +
+ "<supervisor xmlns=\"ydt.material-supervisor\"" +
+ "><name>abc4</name><departmentId>xyz4</departmentId>" +
"</supervisor>" +
- "<supervisor><name>abc5</name><departmentId>xyz5</departmentId>" +
+ "<supervisor xmlns=\"ydt.material-supervisor\"" +
+ "><name>abc5</name><departmentId>xyz5</departmentId>" +
"</supervisor>" +
- "</materialsupervisor>" +
"</filter>";
}
@@ -177,7 +173,6 @@
*/
private static String containerEmptyXml() {
return "<filter xmlns=\"ydt.filter-type\" type=\"subtree\">" +
- "<EmptyContainer xmlns=\"ych.Empty.Container\"/>" +
"</filter>";
}
@@ -188,7 +183,7 @@
*/
private static String listTestXml() {
return "<filter xmlns=\"ydt.filter-type\" type=\"subtree\">" +
- "<Combined xmlns=\"ych:combined\"><attributes>" +
+ "<attributes xmlns=\"ych:combined\">" +
"<origin><value>123</value></origin>" +
"<multi-exit-disc><med>456</med></multi-exit-disc>" +
"<local-pref><pref>23</pref></local-pref>" +
@@ -225,7 +220,7 @@
"<optional-capabilities><c-parameters><as4-bytes-capability>" +
"<as-number>33</as-number></as4-bytes-capability>" +
"</c-parameters></optional-capabilities>" +
- "</bgp-parameters></attributes></Combined></filter>";
+ "</bgp-parameters></attributes></filter>";
}
/**
@@ -342,6 +337,27 @@
}
/**
+ * Returns the xml string for more than one module.
+ *
+ * @return the xml string for more than one module
+ */
+ private String multipleAppxml() {
+ return "<filter xmlns=\"ydt.filter-type\" type=\"subtree\"><supervisor" +
+ " xmlns=\"ydt.customs-supervisor\">Customssupervisor" +
+ "</supervisor><supervisor xmlns=\"ydt.material-supervisor\"" +
+ "><name>abc1</name><departmentId>xyz1</departmentId" +
+ "></supervisor><supervisor xmlns=\"ydt.material-supervisor\">" +
+ "<name>abc2</name><departmentId>xyz2</departmentId>" +
+ "</supervisor><supervisor xmlns=\"ydt" +
+ ".material-supervisor\"><name>abc3</name><departmentId>xyz3" +
+ "</departmentId></supervisor><supervisor xmlns=\"ydt" +
+ ".material-supervisor\"><name>abc4</name><departmentId>xyz4" +
+ "</departmentId></supervisor><supervisor xmlns=\"ydt" +
+ ".material-supervisor\"><name>abc5</name><departmentId>xyz5" +
+ "</departmentId></supervisor></filter>";
+ }
+
+ /**
* Unit test case in which verifying xml string for module object with leaf
* for composite encode.
*/
@@ -487,6 +503,57 @@
}
/**
+ * Unit test case in which verifying xml string for more than one module
+ * object.
+ */
+ @Test
+ public void proceessCodecHandlerForMultipleApp() {
+ testYangSchemaNodeProvider.processSchemaRegistry(null);
+ DefaultYangSchemaRegistry schemaRegistry = testYangSchemaNodeProvider
+ .getDefaultYangSchemaRegistry();
+ List<Object> yangModuleList = new ArrayList<>();
+
+ // Creating the object
+ Object object = CustomssupervisorOpParam.builder()
+ .supervisor("Customssupervisor").build();
+ yangModuleList.add(object);
+
+ // Creating the object
+ Supervisor supervisor1 = new DefaultSupervisor.SupervisorBuilder()
+ .name("abc1").departmentId("xyz1").build();
+ Supervisor supervisor2 = new DefaultSupervisor.SupervisorBuilder()
+ .name("abc2").departmentId("xyz2").build();
+ Supervisor supervisor3 = new DefaultSupervisor.SupervisorBuilder()
+ .name("abc3").departmentId("xyz3").build();
+ Supervisor supervisor4 = new DefaultSupervisor.SupervisorBuilder()
+ .name("abc4").departmentId("xyz4").build();
+ Supervisor supervisor5 = new DefaultSupervisor.SupervisorBuilder()
+ .name("abc5").departmentId("xyz5").build();
+
+ Object object1 = MaterialsupervisorOpParam.builder()
+ .addToSupervisor(supervisor1)
+ .addToSupervisor(supervisor2)
+ .addToSupervisor(supervisor3)
+ .addToSupervisor(supervisor4)
+ .addToSupervisor(supervisor5).build();
+ yangModuleList.add(object1);
+
+ // Get the xml string and compare
+ Map<String, String> tagAttr = new HashMap<String, String>();
+ tagAttr.put("type", "subtree");
+
+ YangCodecRegistry.initializeDefaultCodec();
+ DefaultYangCodecHandler codecHandler =
+ new DefaultYangCodecHandler(schemaRegistry);
+ String xml = codecHandler.encodeOperation("filter", "ydt.filter-type",
+ tagAttr, yangModuleList,
+ XML, null);
+
+ assertEquals(AM_XML + "for multiple applications",
+ multipleAppxml(), xml);
+ }
+
+ /**
* Unit test case in which verifying xml string for module object with list.
*/
@Test