[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/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecYdtListener.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecYdtListener.java
index 98a8ccb..61c2f00 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecYdtListener.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecYdtListener.java
@@ -50,6 +50,11 @@
     private YdtExtendedContext rootYdtNode;
 
     /**
+     * Module YDT node.
+     */
+    private YdtExtendedContext currentModule;
+
+    /**
      * Creates a new codec listener.
      *
      * @param format   protocol data format
@@ -59,6 +64,7 @@
                         YdtExtendedContext rootNode) {
         dataFormat = format;
         rootYdtNode = rootNode;
+        currentModule = ((YdtExtendedContext) rootNode.getFirstChild());
     }
 
     /**
@@ -70,10 +76,29 @@
         return elementStack;
     }
 
+    /**
+     * Returns true, if YDT node is module node; false otherwise.
+     *
+     * @param ydtContext YDT node
+     * @return true if YDT node is module; false otherwise
+     */
+    private boolean isModuleNode(YdtExtendedContext ydtContext,
+                                 boolean isExit) {
+        if (Objects.equals(currentModule, ydtContext)) {
+            if (isExit) {
+                currentModule = (YdtExtendedContext) currentModule
+                        .getNextSibling();
+            }
+            return true;
+        }
+        return false;
+    }
+
     @Override
     public void enterYdtNode(YdtExtendedContext ydtContext) {
 
-        if (!Objects.equals(rootYdtNode, ydtContext)) {
+        if (!Objects.equals(rootYdtNode, ydtContext) &&
+                !isModuleNode(ydtContext, false)) {
 
             CodecHandlerFactory factory = CodecHandlerFactory.instance();
             XmlCodecHandler handler =
@@ -94,7 +119,8 @@
 
     @Override
     public void exitYdtNode(YdtExtendedContext ydtExtendedContext) {
-        if (!Objects.equals(rootYdtNode, ydtExtendedContext)) {
+        if (!Objects.equals(rootYdtNode, ydtExtendedContext) &&
+                !isModuleNode(ydtExtendedContext, true)) {
             elementStack.pop();
         }
     }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ytb/YdtBuilderFromYo.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ytb/YdtBuilderFromYo.java
index 10874f0..4faa58b 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ytb/YdtBuilderFromYo.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ytb/YdtBuilderFromYo.java
@@ -345,12 +345,30 @@
                 }
                 curTraversal = PARENT;
                 traverseToParent(curNode);
-                curNode = curNode.getParent();
+                curNode = getParentSchemaNode(curNode);
             }
         }
     }
 
     /**
+     * Returns parent schema node of current node.
+     *
+     * @param curNode current schema node
+     * @return parent schema node
+     */
+    private YangNode getParentSchemaNode(YangNode curNode) {
+        if (curNode instanceof YangAugment) {
+            /*
+             * If curNode is augment, either next augment or augmented node
+             * has to be processed. So traversal type is changed to parent,
+             * but node is not changed.
+             */
+            return curNode;
+        }
+        return curNode.getParent();
+    }
+
+    /**
      * Processes root YANG node and adds it as a child to the YDT
      * extended builder which is created earlier.
      */
@@ -372,7 +390,8 @@
      * @param curNode current YANG node
      */
     private void traverseToParent(YangNode curNode) {
-        if (curNode instanceof YangCase || curNode instanceof YangChoice) {
+        if (curNode instanceof YangCase || curNode instanceof YangChoice
+                || curNode instanceof YangAugment) {
             return;
         }
         extBuilder.traverseToParentWithoutValidation();