Mock YdtBuilder and YdtNode to do UT for Restconf

fix the java code problems.
add more test cases

Change-Id: I034d35e8a41a6c12e293fad867d6540dd5f37e95
diff --git a/protocols/restconf/server/utils/src/main/java/org/onosproject/protocol/restconf/server/utils/parser/json/JsonToYdtListener.java b/protocols/restconf/server/utils/src/main/java/org/onosproject/protocol/restconf/server/utils/parser/json/JsonToYdtListener.java
index 7c59e11..1118116 100755
--- a/protocols/restconf/server/utils/src/main/java/org/onosproject/protocol/restconf/server/utils/parser/json/JsonToYdtListener.java
+++ b/protocols/restconf/server/utils/src/main/java/org/onosproject/protocol/restconf/server/utils/parser/json/JsonToYdtListener.java
@@ -110,21 +110,26 @@
 
     @Override
     public void exitJsonNode(JsonNode jsonNode) {
-        if (jsonNode.getNodeType() == ARRAY && nameStack.empty()) {
+
+        if (isListArray) {
+            isListArray = false;
+            ydtBuilder.traverseToParent();
             return;
         }
 
-        if (jsonNode.getNodeType() == ARRAY && !isListArray) {
+        if (jsonNode.getNodeType() == ARRAY) {
+            //check empty before pop
+            if (nameStack.empty()) {
+                return;
+            }
             nameStack.pop();
+            //check empty after pop
             if (nameStack.empty()) {
                 return;
             }
             defaultMultiInsNode = nameStack.get(nameStack.size() - 1);
             return;
         }
-        if (isListArray) {
-            isListArray = false;
-        }
 
         ydtBuilder.traverseToParent();
     }