[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