YMS migration to onos-yangtool 1.10

Change-Id: I22ddf23f813840e0afec1e7713a86891f2a52f28
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/DefaultYangCodecHandler.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/DefaultYangCodecHandler.java
index 45eb37f..8847c41 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/DefaultYangCodecHandler.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/DefaultYangCodecHandler.java
@@ -30,14 +30,13 @@
 import org.onosproject.yms.ydt.YdtBuilder;
 import org.onosproject.yms.ydt.YdtContext;
 import org.onosproject.yms.ydt.YmsOperationType;
+import org.onosproject.yms.ysr.YangModuleLibrary;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static org.onosproject.yms.app.ych.defaultcodecs.utils.DefaultCodecUtils.isNonEmpty;
-
 
 /**
  * Represents implementation of YANG SBI broker interfaces.
@@ -54,6 +53,7 @@
      * Schema registry for driver.
      */
     private final YangSchemaRegistry schemaRegistry;
+    private YangModuleLibrary library;
 
     /**
      * Default codecs.
@@ -90,8 +90,9 @@
             YangProtocolEncodingFormat dataFormat) {
         YangDataTreeCodec codec = defaultCodecs.get(dataFormat);
 
+        int size = overrideCodecs.size();
         // Check over ridden codec handler is exist or not.
-        if (overrideCodecs != null) {
+        if (size != 0) {
             YangDataTreeCodec overrideCodec = overrideCodecs.get(dataFormat);
             if (overrideCodec != null) {
                 codec = overrideCodec;
@@ -103,6 +104,7 @@
     @Override
     public void addDeviceSchema(Class<?> yangModule) {
         schemaRegistry.registerApplication(null, yangModule);
+        schemaRegistry.processModuleLibrary(yangModule.getName(), library);
     }
 
     @Override
@@ -166,7 +168,6 @@
                                            opType,
                                            schemaRegistry);
 
-
         // Get the composite response from codec handler.
         return codec.encodeYdtToCompositeProtocolFormat(extBuilder);
     }
@@ -176,15 +177,20 @@
                                YangProtocolEncodingFormat dataFormat,
                                YmsOperationType opType) {
 
+        YdtBuilder ydtBuilder;
         YangDataTreeCodec codec = getAppropriateCodec(dataFormat);
         if (codec == null) {
             throw new YchException(E_DATA_TREE_CODEC);
         }
 
-        // Get the YANG data tree
-        YdtBuilder ydtBuilder = codec.decodeProtocolDataToYdt(inputString,
-                                                              schemaRegistry,
-                                                              opType);
+        try {
+            // Get the YANG data tree
+            ydtBuilder = codec.decodeProtocolDataToYdt(inputString,
+                                                       schemaRegistry,
+                                                       opType);
+        } catch (Exception e) {
+            throw new YchException(e.getLocalizedMessage());
+        }
 
         if (ydtBuilder != null) {
             return getObjectList(ydtBuilder.getRootNode());
@@ -210,10 +216,7 @@
 
         // Get the module object by using YANG data tree
         if (ydtBuilder != null) {
-            List<Object> objectList = getObjectList(ydtBuilder.getRootNode());
-            if (isNonEmpty(objectList)) {
-                return objectList.get(0);
-            }
+            return getObjectList(ydtBuilder.getRootNode());
         }
 
         return null;
@@ -260,4 +263,22 @@
 
         return objectList;
     }
+
+    /**
+     * Returns module library for YSR.
+     *
+     * @return module library for YSR
+     */
+    public YangModuleLibrary getLibrary() {
+        return library;
+    }
+
+    /**
+     * Sets module library for YSR.
+     *
+     * @param library module library for YSR
+     */
+    public void setLibrary(YangModuleLibrary library) {
+        this.library = library;
+    }
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/netconf/NetconfCodec.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/netconf/NetconfCodec.java
index 8b50d33..5e5d731 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/netconf/NetconfCodec.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/netconf/NetconfCodec.java
@@ -82,7 +82,6 @@
                 //TODO
             }
         }
-
     }
 
     /**
@@ -100,7 +99,9 @@
         try {
             validateOpType(elementName, opType);
             // If config tag name is found then set the root element node.
-            if (ALLOWABLE_NAMES.contains(elementName)) {
+            if (DATA.equals(elementName)
+                    || CONFIG.equals(elementName)
+                    || FILTER.equals(elementName)) {
                 return rootElement;
             }
 
@@ -113,7 +114,6 @@
                     retElement = getDataRootElement(childElement, opType);
                 }
             }
-
         } catch (Exception e) {
             // TODO
         }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/utils/DefaultCodecUtils.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/utils/DefaultCodecUtils.java
index 1d9e339..873d7bb 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/utils/DefaultCodecUtils.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/utils/DefaultCodecUtils.java
@@ -78,16 +78,6 @@
     }
 
     /**
-     * Returns true, if the list is not null and non-empty; false otherwise.
-     *
-     * @param object list object
-     * @return true, if the list is not null and non-empty; false otherwise
-     */
-    public static boolean isNonEmpty(List object) {
-        return object != null && !object.isEmpty();
-    }
-
-    /**
      * Converts a list of path segments to a YDT builder tree.
      *
      * @param paths     the list of path segments split from URI
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecListener.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecListener.java
index 6b6ba38..1c6536a 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecListener.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecListener.java
@@ -69,6 +69,10 @@
             nameSpace = element.getNamespace().getURI();
         }
 
+        if (nodeType == OBJECT_NODE && element.content() == null || element
+                .content().isEmpty()) {
+            nodeType = TEXT_NODE;
+        }
         if (nodeType == OBJECT_NODE) {
             if (ydtExtBuilder != null) {
                 ydtExtBuilder.addChild(element.getName(), nameSpace, opType);
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecSingleInstanceLeafHandler.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecSingleInstanceLeafHandler.java
index f44f9b2..e7b786e 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecSingleInstanceLeafHandler.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecSingleInstanceLeafHandler.java
@@ -29,6 +29,9 @@
     @Override
     public void setXmlValue(YdtContext ydtContext,
                             Stack<Element> elementStack) {
-        elementStack.peek().setText(ydtContext.getValue());
+
+        if (ydtContext.getValue() != null) {
+            elementStack.peek().setText(ydtContext.getValue());
+        }
     }
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AppData.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AppData.java
index 8fee570..79d9581 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AppData.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AppData.java
@@ -17,9 +17,6 @@
 package org.onosproject.yms.app.ydt;
 
 import org.onosproject.yangutils.datamodel.YangSchemaNode;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.util.List;
 
 /**
  * Maintains application data, which will be used by Application broker to
@@ -28,48 +25,6 @@
 public interface AppData {
 
     /**
-     * Returns the list of nodes with operation type delete.
-     *
-     * @return list of nodes with operation type delete
-     */
-    List<YdtContext> getDeleteNodes();
-
-    /**
-     * Adds the ydt node with operation type delete in module delete node list.
-     *
-     * @param node ydt node with operation type delete/remove
-     */
-    void addDeleteNodes(YdtContext node);
-
-    /**
-     * Returns application's root ydtContext.
-     *
-     * @return YdtContext of application root node
-     */
-    YdtContext getModuleContext();
-
-    /**
-     * Sets the application's ydtContext.
-     *
-     * @param moduleNode application's ydtContext
-     */
-    void setModuleContext(YdtContext moduleNode);
-
-    /**
-     * Returns the YangSchemaNode of augmenting application.
-     *
-     * @return YangSchemaNode of augmenting application
-     */
-    YangSchemaNode getAugmentingSchemaNode();
-
-    /**
-     * Sets the YangSchemaNode of augmenting application root node.
-     *
-     * @param schemaNode YangSchemaNode of augmenting application module
-     */
-    void setAugmentingSchemaNode(YangSchemaNode schemaNode);
-
-    /**
      * Returns the schema node current context.
      *
      * @return schema node
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AppNodeFactory.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AppNodeFactory.java
index 621eda6..98187aa 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AppNodeFactory.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AppNodeFactory.java
@@ -16,9 +16,6 @@
 
 package org.onosproject.yms.app.ydt;
 
-import static org.onosproject.yms.app.ydt.DefaultYdtAppContext.getAugmentAppContext;
-import static org.onosproject.yms.app.ydt.DefaultYdtAppContext.getModuleAppContext;
-
 /**
  * Represents an application tree node factory to create different types of
  * application tree node.
@@ -33,10 +30,11 @@
      * Returns the appropriate application context on the basis of provided
      * isAugmented flag for given request.
      *
-     * @param isAugmented true for augmented context; false for module context
+     * @param flag true for augmented context; false for module context
      * @return appContext application context
      */
-    public static DefaultYdtAppContext getAppContext(boolean isAugmented) {
-        return isAugmented ? getAugmentAppContext() : getModuleAppContext();
+    public static DefaultYdtAppContext getAppContext(boolean flag) {
+        return flag ? new DefaultYdtAppContext(new AugmentedSchemaData()) :
+                new DefaultYdtAppContext(new ModuleSchemaData());
     }
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AugmentAppData.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AugmentAppData.java
new file mode 100644
index 0000000..1a43cb7
--- /dev/null
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AugmentAppData.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onosproject.yms.app.ydt;
+
+import org.onosproject.yangutils.datamodel.YangSchemaNode;
+
+/**
+ * Represents an augmented node in application tree.
+ */
+interface AugmentAppData extends AppData {
+
+    /**
+     * Returns the YangSchemaNode of augmenting application.
+     *
+     * @return YangSchemaNode of augmenting application
+     */
+    YangSchemaNode getAugmentingSchemaNode();
+
+    /**
+     * Sets the YangSchemaNode of augmenting application root node.
+     *
+     * @param schemaNode YangSchemaNode of augmenting application module
+     */
+    void setAugmentingSchemaNode(YangSchemaNode schemaNode);
+}
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AugmentedSchemaData.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AugmentedSchemaData.java
index 6a45cad..dd4eabb 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AugmentedSchemaData.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/AugmentedSchemaData.java
@@ -18,23 +18,12 @@
 
 import org.onosproject.yangutils.datamodel.YangNode;
 import org.onosproject.yangutils.datamodel.YangSchemaNode;
-import org.onosproject.yms.app.ydt.exceptions.YdtException;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.util.List;
 
 /**
  * Manages the application information required for schema nodes defined in
  * the module (sub-module).
  */
-public class AugmentedSchemaData implements AppData {
-
-    private static final String E_NOT_ROOTAPP =
-            "Augmented application depends on root app.";
-    private static final String E_NOT_EXIST =
-            "Augmented nodes are not part of the schema.";
-    private static final String E_NOT_MAINTAINED =
-            "Module context is not maintained.";
+public class AugmentedSchemaData implements AugmentAppData {
 
     /*
      * Reference for schema node of augmenting application.
@@ -42,25 +31,6 @@
     private YangSchemaNode augModSchema;
 
     @Override
-    public List<YdtContext> getDeleteNodes() {
-        throw new YdtException(E_NOT_ROOTAPP);
-    }
-
-    @Override
-    public void addDeleteNodes(YdtContext deletedNode) {
-    }
-
-    @Override
-    public YdtContext getModuleContext() {
-        throw new YdtException(E_NOT_EXIST);
-    }
-
-    @Override
-    public void setModuleContext(YdtContext moduleContext) {
-        throw new YdtException(E_NOT_MAINTAINED);
-    }
-
-    @Override
     public YangSchemaNode getAugmentingSchemaNode() {
         return augModSchema;
     }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/DefaultYdtAppContext.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/DefaultYdtAppContext.java
index f75fc9c..03502d4 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/DefaultYdtAppContext.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/DefaultYdtAppContext.java
@@ -16,26 +16,19 @@
 
 package org.onosproject.yms.app.ydt;
 
-import org.onosproject.yangutils.datamodel.YangAugment;
 import org.onosproject.yangutils.datamodel.YangSchemaNode;
-import org.onosproject.yangutils.datamodel.YangSchemaNodeContextInfo;
-import org.onosproject.yangutils.datamodel.YangSchemaNodeIdentifier;
-import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
-import org.onosproject.yms.app.ydt.exceptions.YdtException;
 import org.onosproject.yms.ydt.YdtContext;
 import org.onosproject.yms.ydt.YdtContextOperationType;
 
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 
 import static org.onosproject.yms.app.ydt.YdtAppNodeOperationType.BOTH;
-import static org.onosproject.yms.app.ydt.YdtNodeFactory.getAppOpTypeFromYdtOpType;
+import static org.onosproject.yms.app.ydt.YdtUtils.getAppOpTypeFromYdtOpType;
 
 /**
- * Represents YANG request work bench which contains all parameters for
- * request handling and methods to build and obtain YANG application data tree
- * which is data (sub)instance representation, abstract of protocol.
+ * Abstraction of an entity which represents YDT application context
+ * information. This context information will be used by protocol to obtain
+ * the information associated with YDT application tree node.
  */
 public final class DefaultYdtAppContext<T extends AppData>
         implements YdtAppContext {
@@ -68,35 +61,19 @@
     /*
      * YDT application tree extended information.
      */
-    private T appData;
+    private final T appData;
 
     /*
      * Reference for operation type for application root node.
      */
     private YdtAppNodeOperationType operationType;
 
-    /*
-     * Reference application node set.
-     */
-    private Set<YangSchemaNode> appSet;
-
     /**
      * Creates an instance of YANG application tree which is used by all node
      * needs delete list.
      */
-    private DefaultYdtAppContext() {
-        appSet = new HashSet<>();
-    }
-
-    /**
-     * Adds schema node of new requested augmented node in current context of
-     * application tree.
-     *
-     * @param schemaNode schema node of requested node
-     * @return addition result(true/false)
-     */
-    public boolean addSchemaToAppSet(YangSchemaNode schemaNode) {
-        return appSet.add(schemaNode);
+    DefaultYdtAppContext(T data) {
+        appData = data;
     }
 
     @Override
@@ -119,9 +96,9 @@
     @Override
     public void setAppData(YdtNode moduleNode, YangSchemaNode augmentNode) {
         if (augmentNode != null) {
-            appData.setAugmentingSchemaNode(augmentNode);
+            ((AugmentAppData) appData).setAugmentingSchemaNode(augmentNode);
         } else {
-            appData.setModuleContext(moduleNode);
+            ((ModuleAppData) appData).setModuleContext(moduleNode);
         }
     }
 
@@ -145,8 +122,12 @@
         return child;
     }
 
-    @Override
-    public void setChild(YdtAppContext child) {
+    /**
+     * Sets the context of first child.
+     *
+     * @param child node
+     */
+    private void setChild(YdtAppContext child) {
         this.child = child;
     }
 
@@ -156,8 +137,8 @@
     }
 
     @Override
-    public void setNextSibling(YdtAppContext nextSibling) {
-        this.nextSibling = nextSibling;
+    public void setNextSibling(YdtAppContext context) {
+        this.nextSibling = context;
     }
 
     @Override
@@ -166,8 +147,8 @@
     }
 
     @Override
-    public void setPreviousSibling(YdtAppContext previousSibling) {
-        this.previousSibling = previousSibling;
+    public void setPreviousSibling(YdtAppContext context) {
+        this.previousSibling = context;
     }
 
     @Override
@@ -182,61 +163,31 @@
 
     @Override
     public List<YdtContext> getDeleteNodes() {
-        return appData.getDeleteNodes();
+        return ((ModuleAppData) appData).getDeleteNodes();
     }
 
-
     @Override
     public void addDeleteNode(YdtNode node) {
         DefaultYdtAppContext<?> curNode = this;
         while (curNode.getParent().getParent() != null) {
             curNode = (DefaultYdtAppContext<?>) curNode.getParent();
         }
-
-        curNode.appData.addDeleteNodes(node);
+        ((ModuleAppData) curNode.appData).addDeleteNodes(node);
     }
 
     @Override
     public YdtContext getModuleContext() {
-        return appData.getModuleContext();
-    }
-
-    @Override
-    public void setModuleContext(YdtContext moduleNode) {
-        appData.setModuleContext(moduleNode);
+        return ((ModuleAppData) appData).getModuleContext();
     }
 
     @Override
     public YangSchemaNode getAugmentingSchemaNode() {
-        return appData.getAugmentingSchemaNode();
+        return ((AugmentAppData) appData).getAugmentingSchemaNode();
     }
 
     @Override
     public void setAugmentingSchemaNode(YangSchemaNode schemaNode) {
-        appData.setAugmentingSchemaNode(schemaNode);
-    }
-
-
-    @Override
-    public YangSchemaNode getAugmentingSchemaNode(
-            YangSchemaNodeIdentifier id,
-            YangSchemaNodeContextInfo contextInfo) {
-        YangSchemaNode lastAugMod = null;
-        YangSchemaNode switchedNode =
-                contextInfo.getContextSwitchedNode();
-
-        while (switchedNode != null) {
-            if (switchedNode instanceof YangAugment) {
-                lastAugMod = switchedNode;
-            }
-            try {
-                switchedNode = switchedNode.getChildSchema(id)
-                        .getContextSwitchedNode();
-            } catch (DataModelException e) {
-                throw new YdtException(e.getMessage());
-            }
-        }
-        return lastAugMod;
+        ((AugmentAppData) appData).setAugmentingSchemaNode(schemaNode);
     }
 
     @Override
@@ -244,9 +195,13 @@
         return lastChild;
     }
 
-    @Override
-    public void setLastChild(YdtAppContext lastChild) {
-        this.lastChild = lastChild;
+    /**
+     * Sets the context of last child.
+     *
+     * @param child node
+     */
+    private void setLastChild(YdtAppContext child) {
+        lastChild = child;
     }
 
     @Override
@@ -275,28 +230,4 @@
     public YangSchemaNode getYangSchemaNode() {
         return appData.getSchemaNode();
     }
-
-    /**
-     * Creates an instance of application tree context with module schema data.
-     *
-     * @return application tree context
-     */
-    public static DefaultYdtAppContext getModuleAppContext() {
-        DefaultYdtAppContext context =
-                new DefaultYdtAppContext<ModuleSchemaData>();
-        context.appData = new ModuleSchemaData();
-        return context;
-    }
-
-    /**
-     * Creates an instance of application tree context with augment schema data.
-     *
-     * @return application tree context
-     */
-    public static DefaultYdtAppContext getAugmentAppContext() {
-        DefaultYdtAppContext context =
-                new DefaultYdtAppContext<AugmentedSchemaData>();
-        context.appData = new AugmentedSchemaData();
-        return context;
-    }
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/ModuleAppData.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/ModuleAppData.java
new file mode 100644
index 0000000..5bafe24
--- /dev/null
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/ModuleAppData.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onosproject.yms.app.ydt;
+
+import org.onosproject.yms.ydt.YdtContext;
+
+import java.util.List;
+
+/**
+ * Represents a module/sub-module node in application tree.
+ */
+interface ModuleAppData extends AppData {
+
+    /**
+     * Returns the list of nodes with operation type delete.
+     *
+     * @return list of nodes with operation type delete
+     */
+    List<YdtContext> getDeleteNodes();
+
+    /**
+     * Adds the ydt node with operation type delete in module delete node list.
+     *
+     * @param node ydt node with operation type delete/remove
+     */
+    void addDeleteNodes(YdtContext node);
+
+    /**
+     * Returns application's root ydtContext.
+     *
+     * @return YdtContext of application root node
+     */
+    YdtContext getModuleContext();
+
+    /**
+     * Sets the application's ydtContext.
+     *
+     * @param moduleNode application's ydtContext
+     */
+    void setModuleContext(YdtExtendedContext moduleNode);
+}
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/ModuleSchemaData.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/ModuleSchemaData.java
index fd4f1b6..0823190 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/ModuleSchemaData.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/ModuleSchemaData.java
@@ -17,7 +17,6 @@
 package org.onosproject.yms.app.ydt;
 
 import org.onosproject.yangutils.datamodel.YangSchemaNode;
-import org.onosproject.yms.app.ydt.exceptions.YdtException;
 import org.onosproject.yms.ydt.YdtContext;
 
 import java.util.ArrayList;
@@ -27,20 +26,17 @@
  * Manages the application information required for schema nodes defined in
  * the module (sub-module).
  */
-public class ModuleSchemaData implements AppData {
-
-    private static final String E_NOT_MAINTAINED =
-            "Augmented info is not maintained.";
+public class ModuleSchemaData implements ModuleAppData {
 
     /*
      * Reference for application's root ydtContext.
      */
-    private YdtContext moduleContext;
+    private YdtExtendedContext moduleContext;
 
     /*
      * Reference for list of nodes with operation type delete.
      */
-    private List<YdtContext> deleteNodes = new ArrayList<>();
+    private final List<YdtContext> deleteNodes = new ArrayList<>();
 
     @Override
     public List<YdtContext> getDeleteNodes() {
@@ -59,27 +55,17 @@
     }
 
     @Override
-    public void setModuleContext(YdtContext moduleContext) {
+    public void setModuleContext(YdtExtendedContext moduleContext) {
         this.moduleContext = moduleContext;
     }
 
     @Override
-    public YangSchemaNode getAugmentingSchemaNode() {
-        throw new YdtException(E_NOT_MAINTAINED);
-    }
-
-    @Override
-    public void setAugmentingSchemaNode(YangSchemaNode schemaNode) {
-        throw new YdtException(E_NOT_MAINTAINED);
-    }
-
-    @Override
     public YangSchemaNode getSchemaNode() {
-        return ((YdtExtendedContext) moduleContext).getYangSchemaNode();
+        return moduleContext.getYangSchemaNode();
     }
 
     @Override
     public YangSchemaNode getRootSchemaNode() {
-        return getSchemaNode();
+        return moduleContext.getYangSchemaNode();
     }
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/NameSpace.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/NameSpace.java
new file mode 100644
index 0000000..b446457
--- /dev/null
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/NameSpace.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onosproject.yms.app.ydt;
+
+import org.onosproject.yangutils.datamodel.YangNamespace;
+
+class NameSpace implements YangNamespace {
+
+    /*
+     * Reference for namespace.
+     */
+    private final String nameSpace;
+
+    /**
+     * Creates an instance of namespace which is used to initialize the
+     * nameSpace for requested YDT node.
+     *
+     * @param nameSpace namespace of the requested node
+     */
+    public NameSpace(String nameSpace) {
+        this.nameSpace = nameSpace;
+    }
+
+    @Override
+    public String getModuleNamespace() {
+        return nameSpace;
+    }
+
+    @Override
+    public String getModuleName() {
+        return nameSpace;
+    }
+}
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/RequestedCallType.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/RequestedCallType.java
index ace971b..4c1a16c 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/RequestedCallType.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/RequestedCallType.java
@@ -27,9 +27,9 @@
     LEAF,
 
     /**
-     * Requested Node is of type single/multi instance node.
+     * Requested Node is of type single/multi instance non leaf node.
      */
-    OTHER,
+    NON_LEAF,
 
     /**
      * Requested Node is of type multi instance leaf/node.
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YangRequestWorkBench.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YangRequestWorkBench.java
index 625f1ed..dc36028 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YangRequestWorkBench.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YangRequestWorkBench.java
@@ -17,34 +17,42 @@
 package org.onosproject.yms.app.ydt;
 
 import com.google.common.collect.ImmutableMap;
+import org.onosproject.yangutils.datamodel.YangAugment;
+import org.onosproject.yangutils.datamodel.YangLeaf;
 import org.onosproject.yangutils.datamodel.YangList;
 import org.onosproject.yangutils.datamodel.YangSchemaNode;
 import org.onosproject.yangutils.datamodel.YangSchemaNodeContextInfo;
 import org.onosproject.yangutils.datamodel.YangSchemaNodeIdentifier;
+import org.onosproject.yms.app.ydt.exceptions.YdtException;
 import org.onosproject.yms.app.ysr.YangSchemaRegistry;
 import org.onosproject.yms.ydt.YdtContext;
 import org.onosproject.yms.ydt.YdtContextOperationType;
 import org.onosproject.yms.ydt.YdtType;
 import org.onosproject.yms.ydt.YmsOperationType;
 
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import static org.onosproject.yangutils.datamodel.YangSchemaNodeType.YANG_MULTI_INSTANCE_LEAF_NODE;
 import static org.onosproject.yms.app.ydt.AppNodeFactory.getAppContext;
 import static org.onosproject.yms.app.ydt.RequestedCallType.LEAF;
-import static org.onosproject.yms.app.ydt.RequestedCallType.OTHER;
+import static org.onosproject.yms.app.ydt.RequestedCallType.NON_LEAF;
 import static org.onosproject.yms.app.ydt.RequestedCardinality.MULTI_INSTANCE;
 import static org.onosproject.yms.app.ydt.RequestedCardinality.MULTI_INSTANCE_LEAF;
 import static org.onosproject.yms.app.ydt.RequestedCardinality.SINGLE_INSTANCE;
 import static org.onosproject.yms.app.ydt.RequestedCardinality.UNKNOWN;
 import static org.onosproject.yms.app.ydt.YdtConstants.errorMsg;
-import static org.onosproject.yms.app.ydt.YdtNodeFactory.getAppOpTypeFromYdtOpType;
-import static org.onosproject.yms.ydt.YdtContextOperationType.CREATE;
+import static org.onosproject.yms.app.ydt.YdtNodeFactory.getNode;
+import static org.onosproject.yms.app.ydt.YdtNodeFactory.getYangSchemaNodeTypeSpecificContext;
+import static org.onosproject.yms.app.ydt.YdtUtils.checkElementCount;
+import static org.onosproject.yms.app.ydt.YdtUtils.freeRestResources;
+import static org.onosproject.yms.app.ydt.YdtUtils.getAppOpTypeFromYdtOpType;
+import static org.onosproject.yms.app.ydt.YdtUtils.getAugmentingSchemaNode;
+import static org.onosproject.yms.app.ydt.YdtUtils.getNodeIdentifier;
+import static org.onosproject.yms.app.ydt.YdtUtils.getValidOpType;
 import static org.onosproject.yms.ydt.YdtContextOperationType.DELETE;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
 import static org.onosproject.yms.ydt.YdtContextOperationType.REMOVE;
 import static org.onosproject.yms.ydt.YdtType.MULTI_INSTANCE_LEAF_VALUE_NODE;
 import static org.onosproject.yms.ydt.YdtType.MULTI_INSTANCE_NODE;
@@ -56,45 +64,34 @@
  */
 public class YangRequestWorkBench implements YdtExtendedBuilder {
 
-    // ydt formatted error string
+    // Ydt formatted error string
     private static final String FMT_NOT_EXIST =
             "Application with name \"%s\" doesn't exist.";
-    private static final String E_USE_ADDLEAF =
-            "Requested Node should be created using addLeaf interface";
-    private static final String E_MULTI_INS =
-            "Adds an instance of type list or leaf-list node only";
-    private static final String E_CREATE =
-            "Create request is not allowed under delete operation";
-    private static final String E_DEL =
-            "Delete request is not allowed under create operation";
+
+    // Ydt error strings.
+    private static final String E_USE_ADD_LEAF =
+            "Requested Node should be created using addLeaf interface.";
+
     private static final String E_INVOKE_PARENT =
-            "Can't invoke get parent at logical root node";
-    private static final String FMT_TOO_FEW =
-            "Too few key parameters in %s. Expected %d; actual %d.";
-    private static final String FMT_TOO_MANY =
-            "Too many key parameters in %s. Expected %d; actual %d.";
+            "Can't invoke get parent at logical root node.";
 
     /*
-     * Current node in YANG data tree, kept to maintain the
-     * current context in YDT.
+     * Reference for the current context node in YANG data tree.
      */
     private YdtNode curNode;
 
     /*
-     * Root node in YANG data tree, kept to maintain the root context in
-     * YDT.
+     * Reference for the logical root node in YANG data tree.
      */
     private YdtNode rootNode;
 
     /*
-     * Current node in YANG data tree, kept to maintain the current context
-     * in ydt application tree.
+     * Reference for the current context in ydt application tree.
      */
     private YdtAppContext appCurNode;
 
     /*
-     * Root node in YANG data tree, kept to maintain the root context in ydt
-     * application tree.
+     * Reference for the logical root node context in ydt application tree.
      */
     private YdtAppContext appRootNode;
 
@@ -129,6 +126,13 @@
     // TODO validate need to be handle later with interaction type basis in
     // future when it will be supported
 
+    /*
+     * Reference for application tree node set.
+     * This set contains the method name's generated for an augmented
+     * target node to avoid the duplicate entries in YDT application tree for
+     * multiple augmented nodes under a single XPATH.
+     */
+    private Set<String> augGenMethodSet;
 
     /**
      * Creates an instance of YANG request work bench which is use to initialize
@@ -139,47 +143,27 @@
      * @param namespace  namespace of logical container
      * @param opType     type of operation done by using YANG
      *                   interface
-     * @param registry   Yang schema registry
+     * @param reg        Yang schema registry
      * @param isValidate Flag to identify data validation need to be
      *                   done by YDT or not
      */
     public YangRequestWorkBench(String name, String namespace,
                                 YmsOperationType opType,
-                                YangSchemaRegistry registry,
+                                YangSchemaRegistry reg,
                                 boolean isValidate) {
-        YdtNode newNode;
-        YangSchemaNodeIdentifier nodeIdentifier =
-                new YangSchemaNodeIdentifier();
-        nodeIdentifier.setName(name);
-        nodeIdentifier.setNameSpace(namespace);
-        newNode = new YdtSingleInstanceNode(nodeIdentifier);
-        setRootNode(newNode);
-        this.registry = registry;
+
+        setRootNode(new YdtLogicalNode(name, namespace));
+        registry = reg;
         ymsOperationType = opType;
         validate = isValidate;
-        // Set the logical root node for yang data app tree.
-        DefaultYdtAppContext appNode = getAppContext(true);
 
-        setAppRootNode(appNode);
+        setAppRootNode(getAppContext(true));
     }
 
     /**
-     * Creates an instance of YANG request work bench which is used to build YDT
-     * tree in YAB.
+     * Sets the logical root node for ydt.
      *
-     * @param curNode       current YDT node
-     * @param operationType YMS operation type
-     */
-    public YangRequestWorkBench(YdtNode curNode,
-                                YmsOperationType operationType) {
-        this.curNode = curNode;
-        ymsOperationType = operationType;
-    }
-
-    /**
-     * Sets the logical root context information available in YDT node.
-     *
-     * @param node logical root node
+     * @param node ydt logical root node
      */
     private void setRootNode(YdtNode node) {
         rootNode = node;
@@ -187,9 +171,9 @@
     }
 
     /**
-     * Sets the app context tree logical root node  for ydt application tree.
+     * Sets the logical root node for ydt application tree.
      *
-     * @param node application tree's logical root node
+     * @param node ydt application context logical root node
      */
     private void setAppRootNode(YdtAppContext node) {
         appRootNode = node;
@@ -207,37 +191,57 @@
     }
 
     /**
-     * Returns the app context tree root node for ydt application tree.
-     * This method will be used by yab.
+     * Returns the ydt app context tree logical root node.
+     * This method will be used by yab and ytb.
      *
-     * @return YdtAppContext refers to root node of ydt application tree
+     * @return YdtAppContext app tree logical root node
      */
     public YdtAppContext getAppRootNode() {
         return appRootNode;
     }
 
     /**
-     * Returns the data tree for given node identifier.
+     * Returns the ydt module node with requested node identifier.
      *
-     * @param id        Represents node identifier of YANG data tree node
-     * @param namespace namespace of the application requested by user
+     * @param id module/application node identifier
      * @return YANG data tree node
+     * @throws YdtException when user requested node schema doesn't exist or
+     *                      requested node is already part of the tree
      */
-    private YdtNode moduleHandler(YangSchemaNodeIdentifier id,
-                                  String namespace) {
+    private YdtNode moduleHandler(YangSchemaNodeIdentifier id)
+            throws YdtException {
 
-        YangSchemaNode node = registry
-                .getYangSchemaNodeUsingSchemaName(id.getName());
+        YangSchemaNode node =
+                registry.getYangSchemaNodeUsingSchemaName(id.getName());
 
-        if (node == null ||
-                namespace != null && !namespace.equals(node.getNameSpace())) {
-            curNode.errorHandler(errorMsg(
-                    FMT_NOT_EXIST, id.getName()), rootNode);
+        String namespace = id.getNameSpace().getModuleNamespace();
+
+        /*
+         * Checking received schema node is having same namespace as
+         * requested by user or not.
+         */
+        if (node == null || namespace != null &&
+                !namespace.equals(node.getYangSchemaNodeIdentifier()
+                                          .getNameSpace()
+                                          .getModuleNamespace())) {
+            throw new YdtException(errorMsg(FMT_NOT_EXIST, id.getName()));
         }
 
-        YdtNode newNode = new YdtSingleInstanceNode(id);
+        /*
+         * If yms operation is for query then no validation need to be
+         * performed.
+         */
+        if (ymsOperationType != YmsOperationType.QUERY_REQUEST) {
+            // Checking whether module node is already exits in YDT or not.
+            try {
+                curNode.getCollidingChild(id);
+            } catch (YdtException e) {
+                throw new YdtException(e.getLocalizedMessage());
+            }
+        }
+
+        YdtNode newNode = new YdtSingleInstanceNode(node);
         newNode.setYangSchemaNode(node);
-        id.setNameSpace(node.getNameSpace());
         return newNode;
     }
 
@@ -255,25 +259,29 @@
     }
 
     @Override
-    public void addChild(String name, String namespace) {
-        addChild(name, namespace, UNKNOWN, null, OTHER);
+    public void addChild(String name, String namespace)
+            throws IllegalArgumentException {
+        addChild(name, namespace, UNKNOWN, null, NON_LEAF);
     }
 
     @Override
-    public void addChild(String name, String namespace, YdtType ydtType) {
+    public void addChild(String name, String namespace, YdtType ydtType)
+            throws IllegalArgumentException {
         addChild(name, namespace, ydtType, null);
     }
 
     @Override
     public void addChild(String name, String namespace,
-                         YdtContextOperationType opType) {
-        addChild(name, namespace, UNKNOWN, opType, OTHER);
+                         YdtContextOperationType opType)
+            throws IllegalArgumentException {
+        addChild(name, namespace, UNKNOWN, opType, NON_LEAF);
     }
 
     @Override
     public void addChild(String name, String namespace, YdtType ydtType,
-                         YdtContextOperationType opType) {
-        RequestedCardinality cardinality = null;
+                         YdtContextOperationType opType)
+            throws IllegalArgumentException {
+        RequestedCardinality cardinality;
         switch (ydtType) {
             case MULTI_INSTANCE_NODE:
                 cardinality = MULTI_INSTANCE;
@@ -282,9 +290,9 @@
                 cardinality = SINGLE_INSTANCE;
                 break;
             default:
-                curNode.errorHandler(E_USE_ADDLEAF, rootNode);
+                throw new IllegalArgumentException(E_USE_ADD_LEAF);
         }
-        addChild(name, namespace, cardinality, opType, OTHER);
+        addChild(name, namespace, cardinality, opType, NON_LEAF);
     }
 
     /**
@@ -297,95 +305,108 @@
      * @param cardinality type of YANG data tree node operation
      * @param opType      type of requested operation over a node
      * @param callType    to identify the whether its a leaf or other node
+     * @throws IllegalArgumentException when method has been passed an illegal
+     *                                  or inappropriate argument.
      */
     private void addChild(String name, String namespace,
                           RequestedCardinality cardinality,
                           YdtContextOperationType opType,
-                          RequestedCallType callType) {
+                          RequestedCallType callType)
+            throws IllegalArgumentException {
 
-        YdtNode childNode;
-        boolean isContextSwitch = false;
-        YangSchemaNode schemaNode = null;
-        YangSchemaNodeContextInfo contextInfo;
+        YdtNode newNode;
+        boolean contextSwitch = false;
         YangSchemaNode augmentingSchema = null;
+        YangSchemaNodeIdentifier id = getNodeIdentifier(name, namespace);
 
-        YangSchemaNodeIdentifier id = new YangSchemaNodeIdentifier();
-        id.setName(name);
-
-        // Module/sub-module node handler.
-        if (curNode.equals(rootNode)) {
-            childNode = moduleHandler(id, namespace);
-        } else {
-
-            // If namespace given by user null, then take namespace from parent.
-            if (namespace == null) {
-                namespace = curNode.getYdtNodeIdentifier().getNameSpace();
-            }
-
-            id.setNameSpace(namespace);
-
-            /*
-             * Get the already exiting YDT node in YDT tree with same
-             * nodeIdentifier
-             */
-            childNode = curNode.getCollidingChild(id);
-
-            /*
-             * If colliding child doesn't exist ,
-             * then query yang data model for schema of given node.
-             */
-            if (childNode == null) {
-                /*
-                 * Get Yang Schema node context info which is having
-                 * YangSchemaNode and ContextSwitchedNode.
-                 */
-                contextInfo = curNode.getSchemaNodeContextInfo(id);
-
-                if (contextInfo.getContextSwitchedNode() != null) {
-                    augmentingSchema = appCurNode.getAugmentingSchemaNode(
-                            id, contextInfo);
-                    if (augmentingSchema != null) {
-                        /*
-                         * As two tree(YDT and YDT Application Tree) are getting
-                         * prepared in parallel, So  setting context switch
-                         * flag it will help ydt to keep the track whether
-                         * ydtApp tree also need to be traversed back to parent
-                         * or not with YDT tree traverse to parent call.
-                         */
-                        isContextSwitch = true;
-                    }
-                }
-                schemaNode = contextInfo.getSchemaNode();
+        try {
+            // Module/sub-module node handler.
+            if (curNode.equals(rootNode)) {
+                newNode = moduleHandler(id);
             } else {
-                /*
-                 * If colliding child exist , then will be leaf-list or list
-                 * If its leaf-list then return and add new requested
-                 * value/valueSet in same node else take yang data model
-                 * information from colliding child.
-                 */
-                if (childNode.getYdtType() == MULTI_INSTANCE_LEAF_VALUE_NODE) {
-                    curNode = childNode;
-                    return;
+
+                YangSchemaNode schemaNode;
+                YangSchemaNodeContextInfo contextInfo;
+
+                // If namespace given by user null, then take namespace from parent.
+                if (namespace == null) {
+                    id.setNameSpace(curNode.getYangSchemaNode().getNameSpace());
                 }
-                schemaNode = childNode.getYangSchemaNode();
+
+                /*
+                 * Get the already exiting YDT node in YDT tree with same
+                 * nodeIdentifier
+                 */
+                newNode = curNode.getCollidingChild(id);
+
+                /*
+                 * If colliding child doesn't exist ,
+                 * then query yang data model for schema of given node.
+                 */
+                if (newNode == null) {
+                    /*
+                     * Get Yang Schema node context info which is having
+                     * YangSchemaNode and ContextSwitchedNode.
+                     */
+                    contextInfo = curNode.getSchemaNodeContextInfo(id);
+
+                    if (contextInfo.getContextSwitchedNode() != null) {
+                        augmentingSchema = getAugmentingSchemaNode(
+                                id, contextInfo);
+                        if (augmentingSchema != null) {
+                            /*
+                             * As two tree(YDT and YDT Application Tree) are getting
+                             * prepared in parallel, So  setting context switch
+                             * flag it will help ydt to keep the track whether
+                             * ydtApp tree also need to be traversed back to parent
+                             * or not with YDT tree traverse to parent call.
+                             */
+                            contextSwitch = true;
+                        }
+                    }
+                    schemaNode = contextInfo.getSchemaNode();
+                } else {
+                    /*
+                     * If colliding child exist , then it will be leaf-list or list.
+                     * If its leaf-list then return and add new requested
+                     * value/valueSet in same node else take yang data model
+                     * information from colliding child.
+                     */
+                    if (newNode.getYdtType() == MULTI_INSTANCE_LEAF_VALUE_NODE) {
+                        curNode = newNode;
+                        return;
+                    }
+                    schemaNode = newNode.getYangSchemaNode();
+                }
+
+                /*
+                 * For yms query request node specific validation are not
+                 * required as rest-conf can call addChild api for leaf/leaf-list
+                 * node addition also in ydt.
+                 */
+                if (ymsOperationType == YmsOperationType.QUERY_REQUEST) {
+                    newNode = getYangSchemaNodeTypeSpecificContext(schemaNode);
+                } else {
+                    newNode = getNode(schemaNode, cardinality, callType);
+                }
             }
-            childNode = YdtNodeFactory.getNode(id, schemaNode, cardinality,
-                                               callType);
+
+            opType = getValidOpType(opType, ydtDefaultOpType, newNode, curNode);
+
+            newNode.setYdtContextOperationType(opType);
+
+            curNode.addChild(newNode, true);
+        } catch (YdtException e) {
+            freeRestResources(rootNode);
+            throw new IllegalArgumentException(e.getLocalizedMessage());
         }
 
-        opType = getValidOpType(opType, callType, schemaNode);
-
-        childNode.setYdtContextOperationType(opType);
-
-        curNode.addChild(childNode, true);
-
         // Update parent ydt node map.
-        curNode.updateYdtMap(id, childNode);
+        curNode.updateYdtMap(newNode);
 
-        processAppTree(opType, childNode, augmentingSchema, isContextSwitch);
+        processAppTree(opType, newNode, augmentingSchema, contextSwitch);
 
-        // Updating the curNode.
-        curNode = childNode;
+        curNode = newNode;
     }
 
     /**
@@ -394,18 +415,17 @@
      * @param opType           user requested operation type
      * @param childNode        requested ydt node
      * @param augmentingSchema schema of last augmenting node
-     * @param isContextSwitch  true, for module node call; false for modules
+     * @param contextSwitch    true, for module node call; false for modules
      *                         sub-node calls
      */
     private void processAppTree(
             YdtContextOperationType opType, YdtNode childNode,
-            YangSchemaNode augmentingSchema, boolean isContextSwitch) {
+            YangSchemaNode augmentingSchema, boolean contextSwitch) {
 
-        if (augmentingSchema != null) {
-            if (!appCurNode.addSchemaToAppSet(augmentingSchema)) {
-                return;
-            }
+        if (curNode == rootNode) {
+            augGenMethodSet = new HashSet<>();
         }
+
         if (opType == null) {
             opType = curNode.getYdtContextOperationType();
         } else {
@@ -414,13 +434,23 @@
         }
 
         /*
-         * Create entry of module node in ydt app tree.
-         * Or if context switch happened then also add entry for same ydt
-         * node in the ydt application tree.
+         * This is to avoid multiple entries of single augmented target.
          */
-        if (curNode.equals(rootNode) || isContextSwitch) {
+        if (augmentingSchema != null) {
+            if (!augGenMethodSet.add(((YangAugment) augmentingSchema)
+                                             .getSetterMethodName())) {
+                return;
+            }
+        }
+
+        /*
+         * Create entry of module node in ydt app tree.
+         * Or if context switch happened then also add entry for same
+         * augmented ydt node in the ydt application tree.
+         */
+        if (curNode.equals(rootNode) || contextSwitch) {
             addChildInAppTree(childNode, augmentingSchema, opType,
-                              isContextSwitch);
+                              contextSwitch);
 
             // Setting app tree node operation.
             appCurNode.setOperationType(getAppOpTypeFromYdtOpType(opType));
@@ -432,56 +462,6 @@
         }
     }
 
-    /**
-     * Returns the valid operation type for requested ydt node after performing
-     * validation.
-     *
-     * @param opType     user requested operation type
-     * @param callType   to identify the whether its a leaf or other node
-     * @param schemaNode schema node of user requested ydt node
-     * @return operation type
-     */
-    private YdtContextOperationType getValidOpType(
-            YdtContextOperationType opType, RequestedCallType callType,
-            YangSchemaNode schemaNode) {
-
-        // Operation type not supported for leaf node.
-        if (callType == LEAF || (callType == RequestedCallType.MULTI_INSTANCE &&
-                schemaNode.getYangSchemaNodeType() ==
-                        YANG_MULTI_INSTANCE_LEAF_NODE)) {
-            return null;
-        }
-
-        // Reference for parent node operation type.
-        YdtContextOperationType parentOpType = curNode
-                .getYdtContextOperationType();
-
-        if (opType != null && parentOpType != null) {
-            validateOperationType(parentOpType, opType);
-        } else if (opType == null) {
-            opType = getOperationType(parentOpType);
-        }
-        return opType;
-    }
-
-    /**
-     * Returns the operation type for non leaf node.
-     * When "operation" attribute for current node is not specified or null,
-     * then the operation applied to the parent data node of the
-     * configuration is used. If no parent data node is available,
-     * then the default-operation'value is used.
-     * If default operation type is not set, merge will be taken as default
-     * operation type.
-     *
-     * @param parentOpType operation type of parent node
-     * @return operation type for current non leaf node
-     */
-    private YdtContextOperationType getOperationType(
-            YdtContextOperationType parentOpType) {
-
-        return parentOpType != null ? parentOpType :
-                (ydtDefaultOpType != null ? ydtDefaultOpType : MERGE);
-    }
 
     /**
      * Adds a last child to YANG app data tree.this method is to be used
@@ -504,10 +484,9 @@
 
         // Add context switched child in ydt App tree.
         appCurNode.addChild(appContext);
-        //Updating the curNode.
+
         appCurNode = appContext;
 
-        // Get the app tree operation type from ydt operation type.
         opType = getAppOpTypeFromYdtOpType(childOpType);
 
         appCurNode.setAppData(childNode, schemaNode);
@@ -517,40 +496,15 @@
         childNode.setAppContextSwitch();
     }
 
-    /**
-     * Validates the various combination of operation type.
-     *
-     * @param parentOpType Reference for parent node operation type
-     * @param childOpType  type of YANG data tree node operation
-     */
-    private void validateOperationType(YdtContextOperationType parentOpType,
-                                       YdtContextOperationType childOpType) {
-
-        switch (parentOpType) {
-            case CREATE:
-                // Inside the create operation delete operation should not come.
-                if (childOpType == DELETE) {
-                    curNode.errorHandler(E_CREATE, rootNode);
-                }
-                break;
-            case DELETE:
-                // Inside the delete operation create operation should not come.
-                if (childOpType == CREATE) {
-                    curNode.errorHandler(E_DEL, rootNode);
-                }
-                break;
-            default:
-                //TODO check all possible scenario.
-        }
-    }
-
     @Override
-    public void addLeaf(String name, String namespace, String value) {
+    public void addLeaf(String name, String namespace, String value)
+            throws IllegalArgumentException {
         addLeaf(name, namespace, value, null, UNKNOWN);
     }
 
     @Override
-    public void addLeaf(String name, String namespace, Set<String> valueSet) {
+    public void addLeaf(String name, String namespace, Set<String> valueSet)
+            throws IllegalArgumentException {
         addLeaf(name, namespace, null, valueSet, MULTI_INSTANCE_LEAF);
     }
 
@@ -568,51 +522,66 @@
      * @param value       value of the child
      * @param valueSet    list of value of the child
      * @param cardinality type of YANG data tree node operation
+     * @throws IllegalArgumentException when method has been passed an illegal
+     *                                  or inappropriate argument.
      */
     private void addLeaf(String name, String namespace, String value,
                          Set<String> valueSet,
-                         RequestedCardinality cardinality) {
-        addChild(name, namespace, cardinality, null, LEAF);
+                         RequestedCardinality cardinality)
+            throws IllegalArgumentException {
+        try {
+            addChild(name, namespace, cardinality, null, LEAF);
 
-        // After successful addition of child node updating the values in same.
-        if (value != null) {
-            curNode.addValue(value);
-        } else if (valueSet != null) {
-            curNode.addValueSet(valueSet);
+            // After successful addition of child node updating the values in same.
+            if (value != null) {
+                curNode.addValue(value);
+            } else if (valueSet != null) {
+                curNode.addValueSet(valueSet);
+            }
+        } catch (YdtException e) {
+            freeRestResources(rootNode);
+            throw new IllegalArgumentException(e.getLocalizedMessage());
         }
     }
 
     @Override
-    public void traverseToParent() {
+    public void traverseToParent() throws IllegalStateException {
         // If traverse back to parent for logical root node comes
         if (curNode.equals(rootNode)) {
-            curNode.errorHandler(E_INVOKE_PARENT, rootNode);
+            freeRestResources(rootNode);
+            throw new IllegalStateException(E_INVOKE_PARENT);
         }
 
-        // If node is of multiInstanceNode type then check key uniqueness.
-        if (curNode.getYdtType() == MULTI_INSTANCE_NODE) {
-            curNode.createKeyNodeList();
-        }
+        try {
 
-        /*
-         * Check application switch for curNode if set,
-         * then traverseToParent in YDT application tree.
-         */
-        if (curNode.getParent().equals(rootNode) ||
-                curNode.getAppContextSwitch()) {
-            traverseToAppTreeParent();
-        }
+            // If node is of multiInstanceNode type then check key uniqueness.
+            if (curNode.getYdtType() == MULTI_INSTANCE_NODE) {
+                curNode.createKeyNodeList();
+            }
 
-        /*
-         * Validate all multi Instance inside current context,
-         * This is not valid for leaf and leaf-list node.
-         */
-        if (curNode instanceof YdtMultiInstanceNode ||
-                curNode instanceof YdtSingleInstanceNode) {
-            curNode.validateMultiInstanceNode();
-        }
+            /*
+             * Check application switch for curNode if set,
+             * then traverseToParent in YDT application tree.
+             */
+            if (curNode.getParent().equals(rootNode) ||
+                    curNode.getAppContextSwitch()) {
+                traverseToAppTreeParent();
+            }
 
-        curNode = curNode.getParent();
+            /*
+             * Validate all multi Instance inside current context,
+             * This is not valid for leaf and leaf-list node.
+             */
+            if (curNode instanceof YdtMultiInstanceNode ||
+                    curNode instanceof YdtSingleInstanceNode) {
+                curNode.validateMultiInstanceNode();
+            }
+
+            curNode = curNode.getParent();
+        } catch (YdtException e) {
+            freeRestResources(rootNode);
+            throw new IllegalStateException(e.getLocalizedMessage());
+        }
     }
 
     /**
@@ -647,59 +616,60 @@
     @Override
     public void addMultiInstanceChild(String name, String namespace,
                                       List<String> keysValueList,
-                                      YdtContextOperationType opType) {
+                                      YdtContextOperationType opType)
+            throws IllegalArgumentException {
+
         addChild(name, namespace, UNKNOWN, opType,
                  RequestedCallType.MULTI_INSTANCE);
         int inputCount = keysValueList.size();
-        int expectedCount;
-        if (curNode.getYdtType() == MULTI_INSTANCE_LEAF_VALUE_NODE) {
-            // After successful addition of child node updating
-            // the values in same.
-            // inputCount = curNode.getValueSet().size() + inputCount;
-            // checkElementCount(expectedCount, inputCount);
-            // TODO check the element count
-            for (String value : keysValueList) {
-                curNode.addValue(value);
-            }
-        } else if (curNode.getYdtType() == MULTI_INSTANCE_NODE) {
-            YangList yangListHolder = (YangList) curNode.getYangSchemaNode();
-            List<String> schemaKeyList = yangListHolder.getKeyList();
-            expectedCount = schemaKeyList.size();
-            checkElementCount(name, expectedCount, inputCount);
 
-            Iterator<String> sklIter = schemaKeyList.iterator();
-            Iterator<String> kvlIter = keysValueList.iterator();
-            String keyEleName;
-            while (kvlIter.hasNext()) {
-                String value = kvlIter.next();
-                keyEleName = sklIter.next();
-                addLeaf(keyEleName, namespace, value);
-                if (kvlIter.hasNext()) {
-                    traverseToParentWithoutValidation();
+        try {
+            if (curNode.getYdtType() == MULTI_INSTANCE_LEAF_VALUE_NODE) {
+
+            /*
+             * Calculating the current leaf-list node array size by adding
+             * existing elements count and new supplied elements by user for
+             * the same.
+             */
+                // TODO instance count for leaf list need to be handled.
+//            if (curNode.getValueSet().size() + inputCount > expectedCount) {
+//                curNode.errorHandler(
+//                        errorMsg(FMT_MANY_INS, name, expectedCount), rootNode);
+//            }
+
+            /*
+             * After successful addition of child node updating
+             * the values in same.
+             */
+                for (String value : keysValueList) {
+                    curNode.addValue(value);
                 }
-            }
-            curNode = curNode.getParent();
-        } else {
-            curNode.errorHandler(E_MULTI_INS, rootNode);
-        }
-    }
+            } else if (curNode.getYdtType() == MULTI_INSTANCE_NODE) {
 
-    /**
-     * Checks the user supplied list of argument match's the expected value
-     * or not.
-     *
-     * @param name     name of the parent list/leaf-list node
-     * @param expected count suppose to be
-     * @param actual   user supplied values count
-     */
-    private void checkElementCount(String name, int expected,
-                                   int actual) {
-        if (expected < actual) {
-            curNode.errorHandler(errorMsg(FMT_TOO_MANY, name, expected, actual),
-                                 rootNode);
-        } else if (expected > actual) {
-            curNode.errorHandler(errorMsg(FMT_TOO_FEW, name, expected, actual),
-                                 rootNode);
+                YangList yangListHolder = (YangList) curNode.getYangSchemaNode();
+                List<String> schemaKeyList = yangListHolder.getKeyList();
+                int expectedCount = schemaKeyList.size();
+                checkElementCount(name, expectedCount, inputCount);
+
+                //After validation adding the key nodes under the list node.
+                Iterator<String> sklIter = schemaKeyList.iterator();
+                Iterator<String> kvlIter = keysValueList.iterator();
+                String keyEleName;
+
+                while (kvlIter.hasNext()) {
+                    String value = kvlIter.next();
+                    keyEleName = sklIter.next();
+                    addLeaf(keyEleName, namespace, value);
+                    if (kvlIter.hasNext()) {
+                        traverseToParentWithoutValidation();
+                    }
+                }
+
+                curNode = curNode.getParent();
+            }
+        } catch (YdtException e) {
+            freeRestResources(rootNode);
+            throw new IllegalArgumentException(e.getLocalizedMessage());
         }
     }
 
@@ -713,15 +683,7 @@
     private YdtNode addExtendedChildNode(YdtContextOperationType opType,
                                          YangSchemaNode schemaNode) {
 
-        YdtNode childNode;
-        YangSchemaNodeIdentifier id =
-                schemaNode.getYangSchemaNodeIdentifier();
-
-        childNode = YdtNodeFactory
-                .getYangSchemaNodeTypeSpecificContext(
-                        id, schemaNode.getYangSchemaNodeType());
-
-        childNode.setId(id);
+        YdtNode childNode = getYangSchemaNodeTypeSpecificContext(schemaNode);
 
         childNode.setYangSchemaNode(schemaNode);
 
@@ -745,27 +707,53 @@
                                           YangSchemaNode schemaNode) {
         YdtNode childNode = addExtendedChildNode(null, schemaNode);
 
-        // After successful addition of child node updating the values in same.
+        /*
+         * After successful addition of child node updating the values in
+         * valueSet.
+         */
         childNode.addValueSetWithoutValidation(valueSet);
         return childNode;
     }
 
     @Override
-    public YdtExtendedContext addLeaf(String value,
-                                      YangSchemaNode schemaNode) {
+    public YdtExtendedContext addLeaf(String value, YangSchemaNode schemaNode) {
+
         YdtNode childNode = addExtendedChildNode(null, schemaNode);
 
         // After successful addition of child node updating the values in same.
-        childNode.addValueWithoutValidation(value);
+        childNode.addValueWithoutValidation(value, ((YangLeaf) schemaNode)
+                .isKeyLeaf());
         return childNode;
     }
 
     @Override
-    public void traverseToParentWithoutValidation() {
-        // If traverse back to parent for logical root node comes
+    public void traverseToParentWithoutValidation()
+            throws IllegalStateException {
+        // If traverse back to parent for logical root node comes.
         if (curNode.equals(rootNode)) {
-            curNode.errorHandler(E_INVOKE_PARENT, rootNode);
+            freeRestResources(rootNode);
+            throw new IllegalStateException(E_INVOKE_PARENT);
         }
         curNode = curNode.getParent();
     }
+
+    /**
+     * Returns the method name's set for an augmented target node in an
+     * application tree.
+     *
+     * @return augGenMethodSet set of method name's
+     */
+    public Set<String> getAugGenMethodSet() {
+        return augGenMethodSet;
+    }
+
+    /**
+     * Sets the method name's set for an augmented target node in an
+     * application tree.
+     *
+     * @param augGenMethodSet set of method name's
+     */
+    public void setAugGenMethodSet(Set<String> augGenMethodSet) {
+        this.augGenMethodSet = augGenMethodSet;
+    }
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtAppContext.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtAppContext.java
index c845221..d6879d7 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtAppContext.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtAppContext.java
@@ -17,8 +17,6 @@
 package org.onosproject.yms.app.ydt;
 
 import org.onosproject.yangutils.datamodel.YangSchemaNode;
-import org.onosproject.yangutils.datamodel.YangSchemaNodeContextInfo;
-import org.onosproject.yangutils.datamodel.YangSchemaNodeIdentifier;
 import org.onosproject.yms.ydt.YdtContext;
 import org.onosproject.yms.ydt.YdtContextOperationType;
 
@@ -55,13 +53,6 @@
     YdtAppContext getFirstChild();
 
     /**
-     * Sets the context of first child.
-     *
-     * @param child node
-     */
-    void setChild(YdtAppContext child);
-
-    /**
      * Returns the context of last child.
      *
      * @return context of last child
@@ -69,13 +60,6 @@
     YdtAppContext getLastChild();
 
     /**
-     * Sets the context of last child.
-     *
-     * @param child node
-     */
-    void setLastChild(YdtAppContext child);
-
-    /**
      * Returns the context of next sibling.
      *
      * @return context of next sibling
@@ -139,13 +123,6 @@
     YdtContext getModuleContext();
 
     /**
-     * Sets the application's ydtContext.
-     *
-     * @param moduleNode application's ydtContext
-     */
-    void setModuleContext(YdtContext moduleNode);
-
-    /**
      * Returns the YangSchemaNode of augmenting application.
      *
      * @return YangSchemaNode of augmenting application
@@ -167,19 +144,6 @@
     void addChild(YdtAppContext newChild);
 
     /**
-     * Returns augmenting node module yang schema node.
-     *
-     * @param id          schema node identifier
-     * @param contextInfo Yang Schema node context info
-     *                    which is having YangSchemaNode and
-     *                    ContextSwitchedNode
-     * @return augmenting node module yang schema node
-     */
-    YangSchemaNode getAugmentingSchemaNode(
-            YangSchemaNodeIdentifier id,
-            YangSchemaNodeContextInfo contextInfo);
-
-    /**
      * Updates the app tree operation type.
      * <p>
      * If earlier operation type was OTHER_EDIT and now operation type came as
@@ -212,12 +176,4 @@
      * @return schema node
      */
     YangSchemaNode getYangSchemaNode();
-
-    /**
-     * Adds the given schema node in to application set.
-     *
-     * @param schemaNode schema node to be added
-     * @return true for success; false otherwise
-     */
-    boolean addSchemaToAppSet(YangSchemaNode schemaNode);
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtExtendedBuilder.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtExtendedBuilder.java
index ea9c9f3d..19aacb5 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtExtendedBuilder.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtExtendedBuilder.java
@@ -64,8 +64,11 @@
      * Traverses up in YANG data tree to the parent node, it is to be used when
      * protocol is using extended context type and wanted to traverse
      * up the tree without doing any validation.
+     *
+     * @throws IllegalStateException when user request for traverse to logical
+     *                               root node parent
      */
-    void traverseToParentWithoutValidation();
+    void traverseToParentWithoutValidation() throws IllegalStateException;
 
     @Override
     YdtExtendedContext getRootNode();
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtExtendedContext.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtExtendedContext.java
index 3668de8..79d9401 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtExtendedContext.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtExtendedContext.java
@@ -17,8 +17,6 @@
 package org.onosproject.yms.app.ydt;
 
 import org.onosproject.yangutils.datamodel.YangSchemaNode;
-import org.onosproject.yangutils.datamodel.YangSchemaNodeContextInfo;
-import org.onosproject.yangutils.datamodel.YangSchemaNodeIdentifier;
 import org.onosproject.yms.ydt.YdtContext;
 import org.onosproject.yms.ydt.YdtContextOperationType;
 
@@ -47,16 +45,6 @@
     void addAppInfo(AppType appType, Object object);
 
     /**
-     * Returns child schema node context information. It is used by YMS to
-     * obtain the child schema corresponding to data node identifier.
-     *
-     * @param id represents a identifier of YANG data tree node
-     * @return YANG data node context information
-     */
-    YangSchemaNodeContextInfo getSchemaNodeContextInfo(
-            YangSchemaNodeIdentifier id);
-
-    /**
      * Returns schema node from data model for curNode.
      *
      * @return yang schema node
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtLogicalNode.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtLogicalNode.java
new file mode 100644
index 0000000..05de8b3
--- /dev/null
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtLogicalNode.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onosproject.yms.app.ydt;
+
+import org.onosproject.yms.app.ydt.exceptions.YdtException;
+
+import static org.onosproject.yms.app.ydt.YdtConstants.FMT_DUP_ENTRY;
+import static org.onosproject.yms.app.ydt.YdtConstants.errorMsg;
+import static org.onosproject.yms.ydt.YdtType.LOGICAL_ROOT_NODE;
+
+/**
+ * Represents a logical YANG data tree node.
+ */
+class YdtLogicalNode extends YdtNode {
+
+    private final String name;
+    private final String namespace;
+
+    /**
+     * Creates a YANG logical node object.
+     */
+    public YdtLogicalNode(String name, String namespace) {
+        super(LOGICAL_ROOT_NODE);
+        this.name = name;
+        this.namespace = namespace;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public String getNamespace() {
+        return namespace;
+    }
+
+    @Override
+    public String getModuleNameAsNameSpace() {
+        return namespace;
+    }
+
+    @Override
+    public void validDuplicateEntryProcessing() throws YdtException {
+        throw new YdtException(errorMsg(FMT_DUP_ENTRY, getName()));
+    }
+}
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtMultiInstanceLeafNode.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtMultiInstanceLeafNode.java
index 955852d..24316ad 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtMultiInstanceLeafNode.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtMultiInstanceLeafNode.java
@@ -17,10 +17,10 @@
 package org.onosproject.yms.app.ydt;
 
 import com.google.common.collect.ImmutableSet;
-import org.onosproject.yangutils.datamodel.YangSchemaNodeIdentifier;
-import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
+import org.onosproject.yangutils.datamodel.YangSchemaNode;
+import org.onosproject.yms.app.ydt.exceptions.YdtException;
 
-import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.Set;
 
 import static org.onosproject.yms.app.ydt.YdtConstants.errorMsg;
@@ -39,15 +39,15 @@
     /**
      * Set of values.
      */
-    private final Set<String> valueSet = new HashSet<>();
+    private final Set<String> valueSet = new LinkedHashSet<>();
 
     /**
      * Creates a YANG multi instance leaf node.
      *
-     * @param id node identifier of YDT multi instance node
+     * @param node schema of YDT multi instance node
      */
-    protected YdtMultiInstanceLeafNode(YangSchemaNodeIdentifier id) {
-        super(MULTI_INSTANCE_LEAF_VALUE_NODE, id);
+    YdtMultiInstanceLeafNode(YangSchemaNode node) {
+        super(MULTI_INSTANCE_LEAF_VALUE_NODE, node);
     }
 
     @Override
@@ -56,13 +56,14 @@
     }
 
     @Override
-    public void addValue(String value) {
+    public void addValue(String value) throws YdtException {
         // check the value against corresponding data-type.
-        try {
-            getYangSchemaNode().isValueValid(value);
-        } catch (Exception e) {
-            errorHandler(e.getLocalizedMessage(), this);
-        }
+        //TODO validation need to be decided
+//        try {
+//            getYangSchemaNode().isValueValid(value);
+//        } catch (Exception e) {
+//            throw new YdtException(e.getLocalizedMessage());
+//        }
         addValueToValueSet(value);
     }
 
@@ -71,33 +72,33 @@
      * the value.
      *
      * @param value value to be added
+     * @throws YdtException when the duplicate entry found in leaf-list node
      */
-    private void addValueToValueSet(String value) {
-
+    private void addValueToValueSet(String value) throws YdtException {
         if (!valueSet.add(value)) {
-            errorHandler(errorMsg(FMT_DUP_ENTRY,
-                                  getYdtNodeIdentifier().getName()), this);
+            throw new YdtException(errorMsg(FMT_DUP_ENTRY, getName()));
         }
     }
 
     @Override
-    public void addValueSet(Set valueSet) {
-        String value = null;
+    public void addValueSet(Set valueSet) throws YdtException {
+        String value;
         // Check the value against corresponding data-type.
         for (Object aValueSet : valueSet) {
-
-            try {
-                value = String.valueOf(aValueSet);
-                getYangSchemaNode().isValueValid(value);
-            } catch (DataModelException e) {
-                errorHandler(e.getLocalizedMessage(), this);
-            }
+            value = String.valueOf(aValueSet);
+            //TODO validation need to be decided
+//            try {
+//                value = String.valueOf(aValueSet);
+//                getYangSchemaNode().isValueValid(value);
+//            } catch (DataModelException e) {
+//                throw new YdtException(e.getLocalizedMessage());
+//            }
             addValueToValueSet(value);
         }
     }
 
     @Override
-    public void addValueWithoutValidation(String value) {
+    public void addValueWithoutValidation(String value, boolean isKeyLeaf) {
         valueSet.add(value);
     }
 
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtMultiInstanceNode.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtMultiInstanceNode.java
index a24772b..48bc9ef 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtMultiInstanceNode.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtMultiInstanceNode.java
@@ -18,12 +18,15 @@
 
 import com.google.common.collect.ImmutableList;
 import org.onosproject.yangutils.datamodel.YangList;
+import org.onosproject.yangutils.datamodel.YangSchemaNode;
 import org.onosproject.yangutils.datamodel.YangSchemaNodeIdentifier;
+import org.onosproject.yms.app.ydt.exceptions.YdtException;
 import org.onosproject.yms.ydt.YdtContext;
 
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Set;
 
 import static org.onosproject.yms.app.ydt.YdtConstants.errorMsg;
 import static org.onosproject.yms.ydt.YdtType.MULTI_INSTANCE_NODE;
@@ -34,9 +37,15 @@
  */
 public class YdtMultiInstanceNode extends YdtNode {
 
-    // ydt formatted error string
+    // YDT formatted error string
     private static final String FMT_MISSING_KEY =
             "%s is missing some of the keys of %s.";
+    private static final String FMT_UNI_KEY =
+            "Some of the key elements are not unique in %s.";
+    private static final String FMT_MANY_INS =
+            "Too many instances of %s. Expected maximum instances %d.";
+    private static final String FMT_FEW_INS =
+            "Too few instances of %s. Expected minimum instances %d.";
 
     /*
      * Reference for list of key element's ydtContext.
@@ -51,10 +60,10 @@
     /**
      * Creates a YANG multi instance node object.
      *
-     * @param id node identifier of YDT multi instance node .
+     * @param node schema of YDT multi instance node .
      */
-    protected YdtMultiInstanceNode(YangSchemaNodeIdentifier id) {
-        super(MULTI_INSTANCE_NODE, id);
+    YdtMultiInstanceNode(YangSchemaNode node) {
+        super(MULTI_INSTANCE_NODE, node);
     }
 
     /**
@@ -62,7 +71,7 @@
      *
      * @return composite key string
      */
-    public String getCompositeKey() {
+    private String getCompositeKey() {
         return compositeKey;
     }
 
@@ -76,7 +85,7 @@
     }
 
     @Override
-    public void createKeyNodeList() {
+    public void createKeyNodeList() throws YdtException {
         YangList yangListHolder = (YangList) getYangSchemaNode();
         List<String> schemaKeyList = yangListHolder.getKeyList();
 
@@ -96,30 +105,99 @@
         List<YdtContext> nodeList = new ArrayList<>();
 
         YangSchemaNodeIdentifier id = new YangSchemaNodeIdentifier();
-        id.setNameSpace(getYdtNodeIdentifier().getNameSpace());
+        id.setNameSpace(new NameSpace(getNamespace()));
         // This loop should run while schema key list is not finished
         while (sklItr.hasNext()) {
             String name = sklItr.next();
             id.setName(name);
-            List<YdtNode<YdtMultiInstanceNode>> collidingChild =
-                    (List<YdtNode<YdtMultiInstanceNode>>) ydtNodeMap.get(id);
+            YdtNode<YdtSingleInstanceLeafNode> collidingChild =
+                    (YdtNode<YdtSingleInstanceLeafNode>) ydtNodeMap.get(id);
 
             if (collidingChild == null) {
-                errorHandler(errorMsg(FMT_MISSING_KEY,
-                                      yangListHolder.getParent().getName(),
-                                      yangListHolder.getName()), this);
+                throw new YdtException(
+                        errorMsg(FMT_MISSING_KEY, yangListHolder.getParent()
+                                .getName(), yangListHolder.getName()));
             }
 
-            YdtNode<YdtMultiInstanceNode> ydtNode = collidingChild.get(0);
             /*
              * Preparing composite key string by concatenating values of
              * all the key leaf.
              */
-            ksb.append(ydtNode.getValue());
-            nodeList.add(ydtNode);
+            ksb.append(collidingChild.getValue());
+            nodeList.add(collidingChild);
         }
         //Setting te key object in List.
         keyNodeList = nodeList;
         compositeKey = ksb.toString();
     }
+
+    /**
+     * Validates the given list of instances by verifying the allowed
+     * instance count and key element uniqueness.
+     *
+     * @param keyStringSet set to validate the key element uniqueness
+     * @param list     list of instance's of same list
+     * @throws YdtException when user requested multi instance node instance's
+     *                      count doesn't fit into the allowed instance's limit
+     *                      or doesn't have unique key's
+     */
+    public void validateInstances(Set keyStringSet, List list)
+            throws YdtException {
+
+        // Clearing the set.
+        keyStringSet.clear();
+
+        /*
+         * Storing the number of multiInstance node for number
+         * if instance validation.
+         */
+        int instanceCount = list.size();
+
+        YangList listSchema = (YangList) ((YdtMultiInstanceNode) list.get(0))
+                .getYangSchemaNode();
+        validateInstanceCount(instanceCount, listSchema);
+        if (listSchema.isConfig() && instanceCount > 1) {
+
+            /*
+             * Iterating over values in ydtNodeList of
+             * multiInstanceNode and compare the key string.
+             */
+            for (YdtNode ydtNode : (List<YdtNode<YdtMultiInstanceNode>>) list) {
+                if (!keyStringSet.add(((YdtMultiInstanceNode) ydtNode)
+                                              .getCompositeKey())) {
+                    throw new YdtException(
+                            errorMsg(FMT_UNI_KEY, ydtNode.getName()));
+                }
+            }
+        }
+    }
+
+    /**
+     * Validates the instance count for given list entry.
+     *
+     * @param instanceCount actual count
+     * @param list          list entry for which instance count need
+     *                      to be validated
+     * @throws YdtException when user requested multi instance node instance's
+     *                      count doesn't fit into the allowed instance's limit
+     */
+    private void validateInstanceCount(int instanceCount, YangList list)
+            throws YdtException {
+
+        if (list.getMinElements() != null) {
+            int minElement = list.getMinElements().getMinElement();
+            if (instanceCount < minElement) {
+                throw new YdtException(errorMsg(FMT_FEW_INS, list.getName(),
+                                                minElement));
+            }
+        }
+
+        if (list.getMaxElements() != null) {
+            int maxElement = list.getMaxElements().getMaxElement();
+            if (instanceCount > maxElement) {
+                throw new YdtException(errorMsg(FMT_MANY_INS, list.getName(),
+                                                maxElement));
+            }
+        }
+    }
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtNode.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtNode.java
index c3d4b87..48cf53a 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtNode.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtNode.java
@@ -16,7 +16,6 @@
 
 package org.onosproject.yms.app.ydt;
 
-import org.onosproject.yangutils.datamodel.YangList;
 import org.onosproject.yangutils.datamodel.YangSchemaNode;
 import org.onosproject.yangutils.datamodel.YangSchemaNodeContextInfo;
 import org.onosproject.yangutils.datamodel.YangSchemaNodeIdentifier;
@@ -42,10 +41,8 @@
  */
 public abstract class YdtNode<T> implements YdtExtendedContext, Cloneable {
 
-    // ydt formatted error string
-    private static final String FMT_UNI_KEY =
-            "Some of the key elements are not unique in %s.";
-    private static final String FMT_KLIST_STR =
+    // YDT formatted error string
+    private static final String FMT_NON_LIST_STR =
             "List of key cannot be created for leaf and leaf-list %s node.";
     private static final String FMT_VAL_N =
             "Value cannot be set in non leaf %s node.";
@@ -55,12 +52,8 @@
             "Value cannot be invoke from non leaf %s node.";
     private static final String FMT_VAL_INS =
             "ValueSet cannot be invoke from non leaf-list %s node";
-    private static final String FMT_MANY_INS =
-            "Too many instances of %s. Expected maximum instances %d.";
-    private static final String FMT_FEW_INS =
-            "Too few instances of %s. Expected minimum instances %d.";
 
-    // ydt error string
+    // YDT error string
     private static final String E_EXIST = "Node is already part of a tree";
     private static final String E_ATOMIC =
             "Child to be added is not atomic, it already has a child";
@@ -99,7 +92,7 @@
     /*
      * Type of node.
      */
-    private YdtType ydtType;
+    private final YdtType ydtType;
 
     /*
      * Flag to keep the track of context switch,
@@ -118,9 +111,17 @@
     private YdtExtendedInfoType ydtExtendedInfoType;
 
     /*
-     * Ydt map to keep the track of node added in YDT.
+     * Ydt map to keep the track of node added under current parent node.
      */
-    final Map<YangSchemaNodeIdentifier, List<YdtNode<T>>> ydtNodeMap =
+    final Map<YangSchemaNodeIdentifier, YdtNode<T>> ydtNodeMap =
+            new HashMap<>();
+
+    /*
+     * Ydt map to keep the track of multi instance node added under current
+     * parent node.
+     */
+    private final Map<YangSchemaNodeIdentifier,
+            List<YdtNode<YdtMultiInstanceNode>>> ydtMultiInsMap =
             new HashMap<>();
 
     /*
@@ -134,11 +135,6 @@
     private YdtContextOperationType ydtContextOperationType;
 
     /*
-     * Key object for ydtNodeMap.
-     */
-    private YangSchemaNodeIdentifier id;
-
-    /*
      * Ydt map to keep the track of application information object
      * with respective type.
      */
@@ -147,6 +143,26 @@
     private YdtContext clonedNode;
 
     /**
+     * Creates a specific type of node.
+     *
+     * @param type of YDT node
+     * @param node schema node
+     */
+    YdtNode(YdtType type, YangSchemaNode node) {
+        ydtType = type;
+        yangSchemaNode = node;
+    }
+
+    /**
+     * Creates a specific type of node.
+     *
+     * @param type of YDT node
+     */
+    YdtNode(YdtType type) {
+        ydtType = type;
+    }
+
+    /**
      * Returns the cloned ydt node.
      *
      * @return clonedNode cloned ydt node
@@ -166,12 +182,17 @@
 
     @Override
     public String getName() {
-        return id.getName();
+        return yangSchemaNode.getName();
     }
 
     @Override
     public String getNamespace() {
-        return id.getNameSpace();
+        return yangSchemaNode.getNameSpace().getModuleNamespace();
+    }
+
+    @Override
+    public String getModuleNameAsNameSpace() {
+        return yangSchemaNode.getNameSpace().getModuleName();
     }
 
     @Override
@@ -223,15 +244,21 @@
         ydtAppInfoMap.put(appType, object);
     }
 
-    @Override
+    /**
+     * Returns child schema node context information. It is used by YMS to
+     * obtain the child schema corresponding to data node identifier.
+     *
+     * @param id represents a identifier of YANG data tree node
+     * @return YANG data node context information
+     * @throws YdtException when user requested node schema doesn't exist
+     */
     public YangSchemaNodeContextInfo getSchemaNodeContextInfo(
-            YangSchemaNodeIdentifier id) {
+            YangSchemaNodeIdentifier id) throws YdtException {
         try {
             return getYangSchemaNode().getChildSchema(id);
         } catch (DataModelException e) {
-            errorHandler(e.getLocalizedMessage(), this);
+            throw new YdtException(e.getLocalizedMessage());
         }
-        return null;
     }
 
     /**
@@ -243,18 +270,20 @@
      *
      * @param value value in a single instance node
      */
-    public void addValue(String value) {
-        errorHandler(
-                errorMsg(FMT_VAL_N, getYdtNodeIdentifier().getName()), this);
+    public void addValue(String value) throws YdtException {
+        throw new YdtException(errorMsg(FMT_VAL_N, getName()));
     }
 
     /**
      * Creates the list of key element's of multi instance node.
-     * this will not be applicable on leaf and leaf-list node.
+     * This will not be applicable on leaf and leaf-list node.
+     *
+     * @throws YdtException when user requested multi instance node is missing
+     *                      any of the key element in request or requested
+     *                      node is of type other then multi instance node
      */
-    public void createKeyNodeList() {
-        errorHandler(errorMsg(
-                FMT_KLIST_STR, getYdtNodeIdentifier().getName()), this);
+    public void createKeyNodeList() throws YdtException {
+        throw new YdtException(errorMsg(FMT_NON_LIST_STR, getName()));
     }
 
     /**
@@ -266,11 +295,12 @@
      * This will be applicable in case of call from SBI so no need
      * to validate the value.
      *
-     * @param value value in a single instance leaf node
+     * @param value     value in a single instance leaf node
+     * @param isKeyLeaf true, for key leaf; false non key leaf
      */
-    public void addValueWithoutValidation(String value) {
-        errorHandler(
-                errorMsg(FMT_VAL_N, getYdtNodeIdentifier().getName()), this);
+    public void addValueWithoutValidation(String value, boolean isKeyLeaf)
+            throws YdtException {
+        throw new YdtException(errorMsg(FMT_VAL_N, getName()));
     }
 
     /**
@@ -282,9 +312,8 @@
      *
      * @param valueSet valueSet in a multi instance leaf node
      */
-    public void addValueSet(Set<String> valueSet) {
-        errorHandler(
-                errorMsg(FMT_VAL_NS, getYdtNodeIdentifier().getName()), this);
+    public void addValueSet(Set<String> valueSet) throws YdtException {
+        throw new YdtException(errorMsg(FMT_VAL_NS, getName()));
     }
 
     /**
@@ -298,9 +327,9 @@
      *
      * @param valueSet valueSet in a multi instance leaf node
      */
-    public void addValueSetWithoutValidation(Set<String> valueSet) {
-        errorHandler(
-                errorMsg(FMT_VAL_NS, getYdtNodeIdentifier().getName()), this);
+    public void addValueSetWithoutValidation(Set<String> valueSet)
+            throws YdtException {
+        throw new YdtException(errorMsg(FMT_VAL_NS, getName()));
     }
 
     /**
@@ -310,7 +339,7 @@
      * the duplicate entry found. Subclasses may override this method
      * to provide the correct behavior for their specific implementation.
      */
-    public void validDuplicateEntryProcessing() {
+    void validDuplicateEntryProcessing() throws YdtException {
     }
 
     /**
@@ -318,36 +347,27 @@
      *
      * @param id represents a identifier of YANG data tree node
      * @return YDT node
+     * @throws YdtException when user requested node already part of YDT tree.
      */
-    public YdtNode getCollidingChild(YangSchemaNodeIdentifier id) {
+    public YdtNode getCollidingChild(YangSchemaNodeIdentifier id)
+            throws YdtException {
 
         // Find the key in YDT map for getting the colliding node.
-        List<YdtNode<T>> collidingChild = ydtNodeMap.get(id);
+        YdtNode collidingChild = ydtNodeMap.get(id);
 
         /*
          * If colliding child exist then process colliding node in respective
          * YDT node type.
          */
         if (collidingChild != null) {
-            collidingChild.get(0).validDuplicateEntryProcessing();
-            return collidingChild.get(0);
+            collidingChild.validDuplicateEntryProcessing();
+            return collidingChild;
         }
 
         return null;
     }
 
     /**
-     * Creates a specific type of node.
-     *
-     * @param type of YDT node
-     * @param id   node identifier of the YDT node
-     */
-    YdtNode(YdtType type, YangSchemaNodeIdentifier id) {
-        ydtType = type;
-        setId(id);
-    }
-
-    /**
      * Sets the parent of node.
      *
      * @param parent node
@@ -393,17 +413,13 @@
     }
 
     @Override
-    public String getValue() {
-        errorHandler(
-                errorMsg(FMT_VAL_IN, getYdtNodeIdentifier().getName()), this);
-        return null;
+    public String getValue() throws YdtException {
+        throw new YdtException(errorMsg(FMT_VAL_IN, getName()));
     }
 
     @Override
-    public Set<String> getValueSet() {
-        errorHandler(
-                errorMsg(FMT_VAL_INS, getYdtNodeIdentifier().getName()), this);
-        return null;
+    public Set<String> getValueSet() throws YdtException {
+        throw new YdtException(errorMsg(FMT_VAL_INS, getName()));
     }
 
     /**
@@ -424,23 +440,6 @@
         lastChild = child;
     }
 
-    /**
-     * Returns object node identifier.
-     *
-     * @return node identifier
-     */
-    public YangSchemaNodeIdentifier getYdtNodeIdentifier() {
-        return id;
-    }
-
-    /**
-     * Sets object node identifier.
-     *
-     * @param id node identifier
-     */
-    public void setId(YangSchemaNodeIdentifier id) {
-        this.id = id;
-    }
 
     /**
      * Adds a child node.
@@ -455,7 +454,7 @@
             throws YdtException {
 
         if (!(newChild instanceof YdtNode)) {
-            errorHandler(errorMsg(E_SUPPORT), this);
+            throw new YdtException(errorMsg(E_SUPPORT));
         }
 
         YdtNode node = (YdtNode) newChild;
@@ -463,19 +462,19 @@
         if (node.getParent() == null) {
             node.setParent(this);
         } else if (!node.getParent().equals(this)) {
-            errorHandler(errorMsg(E_EXIST), this);
+            throw new YdtException(E_EXIST);
         }
 
         if (node.getFirstChild() != null && isAtomic) {
-            errorHandler(errorMsg(E_ATOMIC), this);
+            throw new YdtException(E_ATOMIC);
         }
 
         if (node.getNextSibling() != null) {
-            errorHandler(errorMsg(E_SIB), this);
+            throw new YdtException(E_SIB);
         }
 
         if (node.getPreviousSibling() != null) {
-            errorHandler(errorMsg(E_PRE), this);
+            throw new YdtException(E_PRE);
         }
 
         // If new node needs to be added as first child.
@@ -507,16 +506,41 @@
     }
 
     /**
-     * Updates ydt map of current context parent node.
+     * Updates ydt maps of current context parent node.
+     *
+     * @param node ydt node for which map need to be updated
+     */
+    void updateYdtMap(YdtNode node) {
+
+        YangSchemaNodeIdentifier id = node.getYangSchemaNode()
+                .getYangSchemaNodeIdentifier();
+        /*
+         * If node to be added is of type multi instance node(list) then multi
+         * instance node to be updated
+         */
+        if (node.getYdtType() == YdtType.MULTI_INSTANCE_NODE) {
+            updateMultiInsMap(id, node);
+        }
+
+        /*
+         * If entry for multi instance node is already there with same id then
+         * existing entry will be overwritten by the new entry.
+         */
+        ydtNodeMap.put(id, node);
+    }
+
+    /**
+     * Updates ydt multi instance map of current context parent node.
      *
      * @param id   object node identifier
      * @param node ydt node for which map need to be updated
      */
-    public void updateYdtMap(YangSchemaNodeIdentifier id, YdtNode node) {
-        List<YdtNode<T>> list = ydtNodeMap.get(id);
+    private void updateMultiInsMap(YangSchemaNodeIdentifier id, YdtNode node) {
+
+        List<YdtNode<YdtMultiInstanceNode>> list = ydtMultiInsMap.get(id);
         if (list == null) {
             list = new ArrayList<>();
-            ydtNodeMap.put(id, list);
+            ydtMultiInsMap.put(id, list);
         }
         list.add(node);
     }
@@ -540,139 +564,45 @@
     }
 
     /**
-     * Validates all multi Instance inside current context.
+     * Validates all multi Instance nodes inside current context.
      */
-    public void validateMultiInstanceNode() {
+    public void validateMultiInstanceNode() throws YdtException {
 
         // Set for checking whether input string is unique or not.
         Set<String> keyStringSet = new HashSet<>();
 
-        // Iterating over values in map and find multi instance node list only.
-        for (List<YdtNode<T>> ydtNodeList : ydtNodeMap.values()) {
-            validateInstances(keyStringSet, ydtNodeList);
-        }
-    }
-
-    /**
-     * Checks for any duplicate list entries.
-     *
-     * @param keyStringSet set to validate the composite key of an instance
-     * @param ydtNodeList  list of entries
-     */
-    private void validateInstances(Set<String> keyStringSet,
-                                   List<YdtNode<T>> ydtNodeList) {
-        // Clearing the set.
-        keyStringSet.clear();
-
-        if (ydtNodeList.get(0) instanceof YdtMultiInstanceNode) {
-
-            // Storing the number of multiInstance node for number
-            // if instance validation.
-            int instanceCount = ydtNodeList.size();
-
-            YangList list = (YangList) ydtNodeList.get(0).getYangSchemaNode();
-            int minElement;
-            int maxElement;
-            if (list.getMinElements() != null) {
-                minElement = list.getMinElements().getMinElement();
-                if (instanceCount < minElement) {
-                    errorHandler(errorMsg(FMT_FEW_INS, list.getName(),
-                                          minElement), this);
-                }
-            }
-
-            if (list.getMaxElements() != null) {
-                maxElement = list.getMaxElements().getMaxElement();
-                if (instanceCount > maxElement) {
-                    errorHandler(errorMsg(FMT_MANY_INS, list.getName(),
-                                          maxElement), this);
-                }
-            }
-
-            if (list.isConfig() && instanceCount > 1) {
-                // Iterating over values in ydtNodeList of
-                // multiInstanceNode and compare the key string.
-                for (YdtNode ydtNode : ydtNodeList) {
-                    if (!keyStringSet.add(((YdtMultiInstanceNode) ydtNode)
-                                                  .getCompositeKey())) {
-                        errorHandler(errorMsg(
-                                FMT_UNI_KEY, ydtNode.getYdtNodeIdentifier()
-                                        .getName()), this);
-                    }
+        if (ydtMultiInsMap.size() != 0) {
+            /*
+             * Iterating over values in map and find multi instance node list
+             * only.
+             */
+            for (List<YdtNode<YdtMultiInstanceNode>> ydtNodeList :
+                    ydtMultiInsMap.values()) {
+                try {
+                    ydtNodeList.get(0).validateInstances(keyStringSet,
+                                                         ydtNodeList);
+                } catch (YdtException e) {
+                    throw new YdtException(e.getLocalizedMessage());
                 }
             }
         }
     }
 
     /**
-     * Walks in whole Ydt Tree and de-reference all the tree node.
-     * This will be called only when any exception occurs while processing
-     * the node in Ydt tree.
+     * Validates the given list of instances by verifying the allowed
+     * instance count and key element uniqueness.
+     * <p>
+     * This default implementation do nothing if requested node is of type
+     * other then multiInstanceNode. Subclasses may override this method
+     * to provide the correct behavior for their specific implementation.
      *
-     * @param node ydt node
+     * @param keyStringSet set to validate the key element uniqueness
+     * @param ydtNodeList  list of instance's of same list
      */
-    public void freeRestResources(YdtNode node) {
-        // Traversing to logical rootNode.
-        YdtNode rootNode = node;
-        while (rootNode.getParent() != null) {
-            rootNode = rootNode.getParent();
-        }
-        YdtNode currentNode = rootNode;
-        while (currentNode != null) {
+    void validateInstances(Set<String> keyStringSet,
+                           List<YdtNode<YdtMultiInstanceNode>>
+                                   ydtNodeList) throws YdtException {
 
-            // Move down to first child
-            YdtNode nextNode = currentNode.getFirstChild();
-            if (nextNode != null) {
-                currentNode = nextNode;
-                continue;
-            }
-
-            // No child nodes, so walk tree
-            while (currentNode != null) {
-                // To keep the track of last sibling.
-                YdtNode lastSibling = currentNode;
-
-                // Move to sibling if possible.
-                nextNode = currentNode.getNextSibling();
-
-                // free currentNode resources
-                free(lastSibling);
-
-                lastSibling.getNamespace();
-                if (nextNode != null) {
-                    currentNode = nextNode;
-                    break;
-                }
-
-                // Move up
-                if (currentNode.equals(rootNode)) {
-                    currentNode = null;
-                } else {
-                    currentNode = currentNode.getParent();
-                    lastSibling.setParent(null);
-                }
-            }
-        }
-    }
-
-    /**
-     * Free the give YDT node by de-referencing it to null.
-     *
-     * @param node node to be freed
-     */
-    private void free(YdtNode node) {
-        if (node.getParent() != null) {
-            YdtNode parent = node.getParent();
-            parent.setChild(null);
-            parent.setLastChild(null);
-            if (node.getNextSibling() != null) {
-                parent.setChild(node.getNextSibling());
-            }
-        }
-        YdtNode parentRef = node.getParent();
-        node = new YdtSingleInstanceNode(null);
-        node.ydtType = null;
-        node.setParent(parentRef);
     }
 
     /**
@@ -691,17 +621,4 @@
         clonedNode.setLastChild(null);
         return clonedNode;
     }
-
-    /**
-     * Handles an error scenario, freeing allocated resources for the given YTD
-     * node before throwing an exception with the specified error message.
-     *
-     * @param error   error message
-     * @param curNode ydt node
-     * @throws YdtException with the specified error message
-     */
-    public void errorHandler(String error, YdtNode curNode) {
-        curNode.freeRestResources(curNode);
-        throw new YdtException(error);
-    }
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtNodeFactory.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtNodeFactory.java
index 43680da..aa84cea 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtNodeFactory.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtNodeFactory.java
@@ -17,17 +17,14 @@
 package org.onosproject.yms.app.ydt;
 
 import org.onosproject.yangutils.datamodel.YangSchemaNode;
-import org.onosproject.yangutils.datamodel.YangSchemaNodeIdentifier;
 import org.onosproject.yangutils.datamodel.YangSchemaNodeType;
+import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
 import org.onosproject.yms.app.ydt.exceptions.YdtException;
-import org.onosproject.yms.ydt.YdtContextOperationType;
 
 import static org.onosproject.yangutils.datamodel.YangSchemaNodeType.YANG_MULTI_INSTANCE_LEAF_NODE;
 import static org.onosproject.yangutils.datamodel.YangSchemaNodeType.YANG_MULTI_INSTANCE_NODE;
 import static org.onosproject.yangutils.datamodel.YangSchemaNodeType.YANG_SINGLE_INSTANCE_LEAF_NODE;
 import static org.onosproject.yangutils.datamodel.YangSchemaNodeType.YANG_SINGLE_INSTANCE_NODE;
-import static org.onosproject.yms.app.ydt.YdtAppNodeOperationType.DELETE_ONLY;
-import static org.onosproject.yms.app.ydt.YdtAppNodeOperationType.OTHER_EDIT;
 import static org.onosproject.yms.app.ydt.YdtConstants.errorMsg;
 
 /**
@@ -36,9 +33,13 @@
  */
 final class YdtNodeFactory {
 
-    // ydt formatted error string
+    // YDT formatted error string
     private static final String FMT_NOT_EXIST =
             "Schema node with name %s doesn't exist.";
+    //TODO need to handle later
+    private static final String E_MULTI_INS =
+            "Requested interface adds an instance of type list or " +
+                    "leaf-list node only.";
 
     // No instantiation
     private YdtNodeFactory() {
@@ -48,64 +49,68 @@
      * Returns a YANG data tree node for a given name, set of values and
      * instance type.
      *
-     * @param id          dataNodeIdentifier of data tree node
-     * @param schemaNode  data node as per YANG schema metadata
+     * @param node        data node as per YANG schema metadata
      * @param cardinality requested cardinality of node
      * @param callType    identify the call type
      * @return YANG data tree node
+     * @throws YdtException when user requested node type doesn't exist
      */
-    protected static YdtNode getNode(YangSchemaNodeIdentifier id,
-                                     YangSchemaNode schemaNode,
-                                     RequestedCardinality cardinality,
-                                     RequestedCallType callType) {
+    static YdtNode getNode(
+            YangSchemaNode node, RequestedCardinality cardinality,
+            RequestedCallType callType) throws YdtException {
 
-        YdtNode newNode = null;
-        YangSchemaNodeType nodeType = schemaNode.getYangSchemaNodeType();
+        YdtNode newNode;
+        YangSchemaNodeType type = node.getYangSchemaNodeType();
 
-        switch (cardinality) {
+        try {
+            switch (cardinality) {
 
-            case UNKNOWN:
+                case UNKNOWN:
+                    /*
+                     * if requested node type is UNKNOWN, check corresponding
+                     * yang data node type and create respective type node.
+                     */
+                    newNode = getYangSchemaNodeTypeSpecificContext(node, type,
+                                                                   callType);
+                    break;
+
                 /*
-                 * if requested node type is UNKNOWN, check corresponding
-                 * yang data node type and create respective type node.
+                 * if requested node type is specified and it exist as node of
+                 * some other type in data model then throw exception
                  */
-                newNode = getYangSchemaNodeTypeSpecificContext(id, nodeType,
-                                                               callType);
-                break;
+                case SINGLE_INSTANCE:
+                    validateNodeType(node, type, YANG_SINGLE_INSTANCE_NODE);
+                    newNode = new YdtSingleInstanceNode(node);
+                    break;
 
-            /*
-             * if requested node type is specified and it exist as node of some
-             * other type in data model then throw exception
-             */
-            case SINGLE_INSTANCE:
-                validateNodeType(id, nodeType, YANG_SINGLE_INSTANCE_NODE);
-                newNode = new YdtSingleInstanceNode(id);
-                break;
+                case MULTI_INSTANCE:
 
-            case MULTI_INSTANCE:
+                    validateNodeType(node, type, YANG_MULTI_INSTANCE_NODE);
+                    newNode = new YdtMultiInstanceNode(node);
+                    break;
 
-                validateNodeType(id, nodeType, YANG_MULTI_INSTANCE_NODE);
-                newNode = new YdtMultiInstanceNode(id);
-                break;
+                case SINGLE_INSTANCE_LEAF:
 
-            case SINGLE_INSTANCE_LEAF:
+                    validateNodeType(node, type, YANG_SINGLE_INSTANCE_LEAF_NODE);
+                    newNode = new YdtSingleInstanceLeafNode(node);
+                    break;
 
-                validateNodeType(id, nodeType, YANG_SINGLE_INSTANCE_LEAF_NODE);
-                newNode = new YdtSingleInstanceLeafNode(id);
-                break;
+                case MULTI_INSTANCE_LEAF:
 
-            case MULTI_INSTANCE_LEAF:
+                    validateNodeType(node, type, YANG_MULTI_INSTANCE_LEAF_NODE);
+                    newNode = new YdtMultiInstanceLeafNode(node);
+                    break;
 
-                validateNodeType(id, nodeType, YANG_MULTI_INSTANCE_LEAF_NODE);
-                newNode = new YdtMultiInstanceLeafNode(id);
-                break;
-
-            default:
-                throwNotExistError(id);
+                default:
+                    newNode = null;
+            }
+        } catch (DataModelException | YdtException e) {
+            throw new YdtException(e.getLocalizedMessage());
         }
 
-        // set reference of yang data node in the requested node.
-        newNode.setYangSchemaNode(schemaNode);
+        if (newNode == null) {
+            throw new YdtException(errorMsg(FMT_NOT_EXIST, node.getName()));
+        }
 
         return newNode;
     }
@@ -114,15 +119,17 @@
      * Validates the requested ydt node type against the schema node type,
      * if it is not equal then it will throw warning.
      *
-     * @param id            dataNodeIdentifier of data tree node
+     * @param node          schema node
      * @param nodeType      actual node type
      * @param requestedType user requested node type
+     * @throws YdtException when user requested node type doesn't exist
      */
-    private static void validateNodeType(YangSchemaNodeIdentifier id,
-                                         YangSchemaNodeType nodeType,
-                                         YangSchemaNodeType requestedType) {
+    private static void validateNodeType(
+            YangSchemaNode node, YangSchemaNodeType nodeType,
+            YangSchemaNodeType requestedType) throws YdtException {
+
         if (nodeType != requestedType) {
-            throwNotExistError(id);
+            throw new YdtException(errorMsg(FMT_NOT_EXIST, node.getName()));
         }
     }
 
@@ -130,127 +137,87 @@
      * Creates Yang data tree node of YangSchemaNode type specific for
      * requestedCardinality of type UNKNOWN and returns the same.
      *
-     * @param id       node identifier of data tree node
+     * @param node     schema node
      * @param nodeType schema node type as per YANG schema metadata
      * @param callType identify the call type
      * @return YANG data tree node
+     * @throws YdtException when user requested node type doesn't exist
      */
     private static YdtNode getYangSchemaNodeTypeSpecificContext(
-            YangSchemaNodeIdentifier id,
-            YangSchemaNodeType nodeType,
-            RequestedCallType callType) {
+            YangSchemaNode node, YangSchemaNodeType nodeType,
+            RequestedCallType callType) throws YdtException, DataModelException {
         switch (callType) {
             case LEAF:
                 switch (nodeType) {
 
                     case YANG_SINGLE_INSTANCE_LEAF_NODE:
-                        return new YdtSingleInstanceLeafNode(id);
+                        return new YdtSingleInstanceLeafNode(node);
 
                     case YANG_MULTI_INSTANCE_LEAF_NODE:
-                        return new YdtMultiInstanceLeafNode(id);
+                        return new YdtMultiInstanceLeafNode(node);
 
                     default:
-                        throwNotExistError(id);
+                        return null;
                 }
 
-            case OTHER:
+            case NON_LEAF:
                 switch (nodeType) {
 
                     case YANG_SINGLE_INSTANCE_NODE:
-                        return new YdtSingleInstanceNode(id);
+                        return new YdtSingleInstanceNode(node);
 
                     case YANG_MULTI_INSTANCE_NODE:
-                        return new YdtMultiInstanceNode(id);
+                        return new YdtMultiInstanceNode(node);
 
                     default:
-                        throwNotExistError(id);
+                        return null;
                 }
 
             case MULTI_INSTANCE:
                 switch (nodeType) {
 
                     case YANG_MULTI_INSTANCE_LEAF_NODE:
-                        return new YdtMultiInstanceLeafNode(id);
+                        return new YdtMultiInstanceLeafNode(node);
 
                     case YANG_MULTI_INSTANCE_NODE:
-                        return new YdtMultiInstanceNode(id);
+                        return new YdtMultiInstanceNode(node);
 
                     default:
-                        throwNotExistError(id);
+                        throw new YdtException(E_MULTI_INS);
                 }
 
             default:
-                throwNotExistError(id);
+                return null;
         }
-
-        return null;
     }
 
     /**
      * Create Yang data tree node of YangSchemaNode type specific and
      * returns the same.
      *
-     * @param id       node identifier of data tree node
-     * @param nodeType schema node type as per YANG schema metadata
+     * @param node schema node
      * @return YANG data tree node
+     * @throws YdtException when user requested node type doesn't exist
      */
-    protected static YdtNode getYangSchemaNodeTypeSpecificContext(
-            YangSchemaNodeIdentifier id,
-            YangSchemaNodeType nodeType) {
+    static YdtNode getYangSchemaNodeTypeSpecificContext(YangSchemaNode node)
+            throws YdtException {
 
-        switch (nodeType) {
+        switch (node.getYangSchemaNodeType()) {
 
             case YANG_SINGLE_INSTANCE_LEAF_NODE:
-                return new YdtSingleInstanceLeafNode(id);
+                return new YdtSingleInstanceLeafNode(node);
 
             case YANG_MULTI_INSTANCE_LEAF_NODE:
-                return new YdtMultiInstanceLeafNode(id);
+                return new YdtMultiInstanceLeafNode(node);
 
             case YANG_SINGLE_INSTANCE_NODE:
-                return new YdtSingleInstanceNode(id);
+                return new YdtSingleInstanceNode(node);
 
             case YANG_MULTI_INSTANCE_NODE:
-                return new YdtMultiInstanceNode(id);
+                return new YdtMultiInstanceNode(node);
 
             default:
-                throwNotExistError(id);
+                throw new YdtException(errorMsg(FMT_NOT_EXIST, node.getName()));
         }
-
-        return null;
-    }
-
-    /**
-     * Returns the app tree operation type with the help of YdtOperation type.
-     *
-     * @param opType ydt operation type
-     * @return app tree operation type
-     */
-    protected static YdtAppNodeOperationType getAppOpTypeFromYdtOpType(
-            YdtContextOperationType opType) {
-        // Get the app tree operation type.
-        switch (opType) {
-            case CREATE:
-            case MERGE:
-            case REPLACE:
-                return OTHER_EDIT;
-
-            case DELETE:
-            case REMOVE:
-                return DELETE_ONLY;
-
-            default:
-                return null;
-            //TODO handle the default data type.
-        }
-    }
-
-    /**
-     * Throws exception for requested ydt node by preparing error message with
-     * given node identifier.
-     *
-     * @param id node identifier
-     */
-    private static void throwNotExistError(YangSchemaNodeIdentifier id) {
-        throw new YdtException(errorMsg(FMT_NOT_EXIST, id.getName()));
     }
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtSingleInstanceLeafNode.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtSingleInstanceLeafNode.java
index 0bd7036..44de72e 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtSingleInstanceLeafNode.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtSingleInstanceLeafNode.java
@@ -16,7 +16,8 @@
 
 package org.onosproject.yms.app.ydt;
 
-import org.onosproject.yangutils.datamodel.YangSchemaNodeIdentifier;
+import org.onosproject.yangutils.datamodel.YangSchemaNode;
+import org.onosproject.yms.app.ydt.exceptions.YdtException;
 
 import static org.onosproject.yms.app.ydt.YdtConstants.FMT_DUP_ENTRY;
 import static org.onosproject.yms.app.ydt.YdtConstants.errorMsg;
@@ -33,13 +34,27 @@
      */
     private String value;
 
+    /*
+     * Value of the leaf.
+     */
+    private Boolean isKeyLeaf = false;
+
     /**
      * Creates a YANG single instance leaf node.
      *
-     * @param id node identifier of YDT single instance leaf node
+     * @param node schema of YDT single instance leaf node
      */
-    protected YdtSingleInstanceLeafNode(YangSchemaNodeIdentifier id) {
-        super(SINGLE_INSTANCE_LEAF_VALUE_NODE, id);
+    YdtSingleInstanceLeafNode(YangSchemaNode node) {
+        super(SINGLE_INSTANCE_LEAF_VALUE_NODE, node);
+    }
+
+    /**
+     * Returns the flag indicating that requested leaf is key-leaf or not.
+     *
+     * @return isKeyLeaf true, for key leaf; false non key leaf
+     */
+    public Boolean isKeyLeaf() {
+        return isKeyLeaf;
     }
 
     @Override
@@ -48,13 +63,14 @@
     }
 
     @Override
-    public void addValue(String value) {
+    public void addValue(String value) throws YdtException {
         // Check the value against corresponding data-type.
-        try {
-            getYangSchemaNode().isValueValid(value);
-        } catch (Exception e) {
-            errorHandler(e.getLocalizedMessage(), this);
-        }
+        //TODO validation need to be decided
+//        try {
+//            getYangSchemaNode().isValueValid(value);
+//        } catch (Exception e) {
+//            throw new YdtException(e.getLocalizedMessage());
+//        }
 
         // After validation is successful then add value to node.
         this.value = value;
@@ -62,13 +78,13 @@
 
 
     @Override
-    public void addValueWithoutValidation(String value) {
+    public void addValueWithoutValidation(String value, boolean isKeyLeaf) {
         this.value = value;
+        this.isKeyLeaf = isKeyLeaf;
     }
 
     @Override
-    public void validDuplicateEntryProcessing() {
-        errorHandler(errorMsg(FMT_DUP_ENTRY, getYdtNodeIdentifier().getName()),
-                     this);
+    public void validDuplicateEntryProcessing() throws YdtException {
+        throw new YdtException(errorMsg(FMT_DUP_ENTRY, getName()));
     }
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtSingleInstanceNode.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtSingleInstanceNode.java
index b7f84b5..c8e66e6 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtSingleInstanceNode.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtSingleInstanceNode.java
@@ -16,7 +16,8 @@
 
 package org.onosproject.yms.app.ydt;
 
-import org.onosproject.yangutils.datamodel.YangSchemaNodeIdentifier;
+import org.onosproject.yangutils.datamodel.YangSchemaNode;
+import org.onosproject.yms.app.ydt.exceptions.YdtException;
 
 import static org.onosproject.yms.app.ydt.YdtConstants.FMT_DUP_ENTRY;
 import static org.onosproject.yms.app.ydt.YdtConstants.errorMsg;
@@ -30,15 +31,14 @@
     /**
      * Creates a YANG single instance node object.
      *
-     * @param id node identifier of YDT single instance node
+     * @param node schema of YDT single instance node
      */
-    protected YdtSingleInstanceNode(YangSchemaNodeIdentifier id) {
-        super(SINGLE_INSTANCE_NODE, id);
+    YdtSingleInstanceNode(YangSchemaNode node) {
+        super(SINGLE_INSTANCE_NODE, node);
     }
 
     @Override
-    public void validDuplicateEntryProcessing() {
-        errorHandler(errorMsg(FMT_DUP_ENTRY, getYdtNodeIdentifier().getName()),
-                     this);
+    public void validDuplicateEntryProcessing() throws YdtException {
+        throw new YdtException(errorMsg(FMT_DUP_ENTRY, getName()));
     }
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtUtils.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtUtils.java
new file mode 100644
index 0000000..a9f15f2
--- /dev/null
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YdtUtils.java
@@ -0,0 +1,303 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.onosproject.yms.app.ydt;
+
+import org.onosproject.yangutils.datamodel.YangAugment;
+import org.onosproject.yangutils.datamodel.YangSchemaNode;
+import org.onosproject.yangutils.datamodel.YangSchemaNodeContextInfo;
+import org.onosproject.yangutils.datamodel.YangSchemaNodeIdentifier;
+import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
+import org.onosproject.yms.app.ydt.exceptions.YdtException;
+import org.onosproject.yms.ydt.YdtContextOperationType;
+
+import static org.onosproject.yms.app.ydt.YdtAppNodeOperationType.DELETE_ONLY;
+import static org.onosproject.yms.app.ydt.YdtAppNodeOperationType.OTHER_EDIT;
+import static org.onosproject.yms.app.ydt.YdtConstants.errorMsg;
+import static org.onosproject.yms.ydt.YdtContextOperationType.CREATE;
+import static org.onosproject.yms.ydt.YdtContextOperationType.DELETE;
+import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
+
+/**
+ * Utils to support yang data tree node creation.
+ */
+final class YdtUtils {
+
+    // YDT formatted error string
+    private static final String E_CREATE_OP =
+            "Create request is not allowed under delete operation.";
+    private static final String E_DELETE_OP =
+            "Delete request is not allowed under create operation.";
+    private static final String FMT_TOO_FEW =
+            "Too few key parameters in %s. Expected %d; actual %d.";
+    private static final String FMT_TOO_MANY =
+            "Too many key parameters in %s. Expected %d; actual %d.";
+
+    //No instantiation.
+    private YdtUtils() {
+    }
+
+    /**
+     * Returns the app tree operation type with the help of YdtOperation type.
+     *
+     * @param opType ydt operation type
+     * @return app tree operation type
+     */
+    static YdtAppNodeOperationType getAppOpTypeFromYdtOpType(
+            YdtContextOperationType opType) {
+        // Get the app tree operation type.
+        switch (opType) {
+            case CREATE:
+            case MERGE:
+            case REPLACE:
+                return OTHER_EDIT;
+
+            case DELETE:
+            case REMOVE:
+                return DELETE_ONLY;
+
+            default:
+                return null;
+            //TODO handle the default data type.
+        }
+    }
+
+    /**
+     * Validates the various combination of operation type.
+     *
+     * @param parentOpType Reference for parent node operation type
+     * @param childOpType  type of YANG data tree node operation
+     * @throws YdtException when user requested node operation type is
+     *                      not valid as per parent node operation type
+     */
+    private static void validateOperationType(YdtContextOperationType parentOpType,
+                                              YdtContextOperationType childOpType)
+            throws YdtException {
+
+        switch (parentOpType) {
+            case CREATE:
+                // Inside the create operation delete operation should not come.
+                if (childOpType == DELETE) {
+                    throw new YdtException(E_CREATE_OP);
+                }
+                break;
+            case DELETE:
+                // Inside the delete operation create operation should not come.
+                if (childOpType == CREATE) {
+                    throw new YdtException(E_DELETE_OP);
+                }
+                break;
+            default:
+                //TODO check all possible scenario.
+        }
+    }
+
+    /**
+     * Returns the operation type for non leaf node.
+     * When "operation" attribute for current node is not specified or null,
+     * then the operation applied to the parent data node of the
+     * configuration is used. If no parent data node is available,
+     * then the default-operation'value is used.
+     * If default operation type is not set, merge will be taken as default
+     * operation type.
+     *
+     * @param type    operation type of parent node
+     * @param defType YDT default operation type
+     * @return operation type for current non leaf node
+     */
+    private static YdtContextOperationType getOperationType(
+            YdtContextOperationType type, YdtContextOperationType defType) {
+        return type != null ? type : (defType != null ? defType : MERGE);
+    }
+
+    /**
+     * Returns the yang node identifier with requested name and namespace.
+     *
+     * @param name      name of the node
+     * @param namespace namespace of the node
+     * @return yang node identifier
+     */
+    static YangSchemaNodeIdentifier getNodeIdentifier(String name,
+                                                      String namespace) {
+        YangSchemaNodeIdentifier id = new YangSchemaNodeIdentifier();
+        id.setName(name);
+        id.setNameSpace(new NameSpace(namespace));
+        return id;
+    }
+
+    /**
+     * Checks the user supplied list of argument match's the expected value
+     * or not.
+     *
+     * @param name     name of the parent list/leaf-list node
+     * @param expected count suppose to be
+     * @param actual   user supplied values count
+     * @throws YdtException when user requested multi instance node instance's
+     *                      count doesn't fit into the allowed instance limit
+     */
+    static void checkElementCount(String name, int expected,
+                                  int actual) throws YdtException {
+        if (expected < actual) {
+            throw new YdtException(
+                    errorMsg(FMT_TOO_MANY, name, expected, actual));
+        } else if (expected > actual) {
+            throw new YdtException(
+                    errorMsg(FMT_TOO_FEW, name, expected, actual));
+        }
+    }
+
+    /**
+     * Returns the valid operation type for requested ydt node after performing
+     * validation.
+     *
+     * @param opType     user requested operation type
+     * @param newNode    new requested ydt node
+     * @param parentNode parent node under which new node to be added
+     * @return operation type
+     * @throws YdtException when user requested node operation type is
+     *                      not valid as per parent node operation type
+     */
+    static YdtContextOperationType getValidOpType(
+            YdtContextOperationType opType, YdtContextOperationType defOpType,
+            YdtNode newNode, YdtNode parentNode)
+            throws YdtException {
+
+        switch (newNode.getYdtType()) {
+
+            case SINGLE_INSTANCE_NODE:
+            case MULTI_INSTANCE_NODE:
+
+                // Reference for parent node operation type.
+                YdtContextOperationType parentOpType =
+                        parentNode.getYdtContextOperationType();
+
+                if (opType == null) {
+                    opType = getOperationType(parentOpType, defOpType);
+                } else if (parentOpType != null) {
+                    validateOperationType(parentOpType, opType);
+                }
+
+                return opType;
+
+            /*
+             * Nodes other then single/multi instance node does not support
+             * operation type so no need of validation for those.
+             */
+            default:
+                return null;
+        }
+    }
+
+    /**
+     * Returns augmenting node module yang schema node.
+     *
+     * @param id          schema node identifier
+     * @param contextInfo Yang Schema node context info
+     *                    which is having YangSchemaNode and
+     *                    ContextSwitchedNode
+     * @return augmenting node module yang schema node
+     * @throws YdtException when user requested node schema doesn't exist
+     */
+    public static YangSchemaNode getAugmentingSchemaNode(
+            YangSchemaNodeIdentifier id,
+            YangSchemaNodeContextInfo contextInfo) throws YdtException {
+        YangSchemaNode lastAugMod = null;
+        YangSchemaNode switchedNode =
+                contextInfo.getContextSwitchedNode();
+
+        // Finding the last augmenting schema for case/choice scenario.
+        while (switchedNode != null) {
+            if (switchedNode instanceof YangAugment) {
+                lastAugMod = switchedNode;
+            }
+            try {
+                switchedNode = switchedNode.getChildSchema(id)
+                        .getContextSwitchedNode();
+            } catch (DataModelException e) {
+                throw new YdtException(e.getMessage());
+            }
+        }
+        return lastAugMod;
+    }
+
+    /**
+     * De-reference all the tree node by walking the whole YDT from logical
+     * root node.
+     * This will be called only when any exception occurs while processing
+     * the node in Ydt tree.
+     *
+     * @param rootNode ydt logical root node
+     */
+    public static void freeRestResources(YdtNode rootNode) {
+
+        YdtNode currentNode = rootNode;
+        while (currentNode != null) {
+
+            // Move down to first child
+            YdtNode nextNode = currentNode.getFirstChild();
+            if (nextNode != null) {
+                currentNode = nextNode;
+                continue;
+            }
+
+            // No child nodes, so walk tree
+            while (currentNode != null) {
+                // To keep the track of last sibling.
+                YdtNode lastSibling = currentNode;
+
+                // Move to sibling if possible.
+                nextNode = currentNode.getNextSibling();
+
+                // free currentNode resources
+                free(lastSibling);
+
+                lastSibling.getNamespace();
+                if (nextNode != null) {
+                    currentNode = nextNode;
+                    break;
+                }
+
+                // Move up
+                if (currentNode.equals(rootNode)) {
+                    currentNode = null;
+                } else {
+                    currentNode = currentNode.getParent();
+                    lastSibling.setParent(null);
+                }
+            }
+        }
+    }
+
+    /**
+     * Free the give YDT node by de-referencing it to null.
+     *
+     * @param node node to be freed
+     */
+    private static void free(YdtNode node) {
+        if (node.getParent() != null) {
+            YdtNode parent = node.getParent();
+            parent.setChild(null);
+            parent.setLastChild(null);
+            if (node.getNextSibling() != null) {
+                parent.setChild(node.getNextSibling());
+            }
+        }
+        YdtNode parentRef = node.getParent();
+        node = new YdtLogicalNode(null, null);
+        node.setParent(parentRef);
+    }
+}
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/exceptions/YdtException.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/exceptions/YdtException.java
index db21976..852ffd5 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/exceptions/YdtException.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/exceptions/YdtException.java
@@ -50,16 +50,4 @@
     public YdtException(Throwable cause) {
         super(cause);
     }
-
-    /**
-     * Creates a new YDT exception from given parameters.
-     *
-     * @param keyword identify error scenario whether it is many or few
-     * @param name    name of the node
-     * @param count   supported count value
-     */
-    public YdtException(String keyword, String name, int count) {
-        super("Too " + keyword + " key parameter in " + name + ". Expected " +
-                      "count " + count + ".");
-    }
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ymsm/YmsManager.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ymsm/YmsManager.java
index 475a67e..228dd02 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ymsm/YmsManager.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ymsm/YmsManager.java
@@ -33,6 +33,7 @@
 import org.onosproject.yms.app.ydt.YangRequestWorkBench;
 import org.onosproject.yms.app.ynh.YangNotificationExtendedService;
 import org.onosproject.yms.app.ynh.YangNotificationManager;
+import org.onosproject.yms.app.ysr.DefaultYangModuleLibrary;
 import org.onosproject.yms.app.ysr.DefaultYangSchemaRegistry;
 import org.onosproject.yms.app.ysr.YangSchemaRegistry;
 import org.onosproject.yms.ych.YangCodecHandler;
@@ -51,9 +52,11 @@
 
 import java.util.List;
 import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
 
+import static java.lang.String.valueOf;
+import static java.util.concurrent.Executors.newSingleThreadExecutor;
 import static org.onlab.util.Tools.groupedThreads;
+import static org.onosproject.yms.app.ych.defaultcodecs.YangCodecRegistry.initializeDefaultCodec;
 
 /**
  * Represents implementation of YANG management system manager.
@@ -72,8 +75,9 @@
     //module id generator should be used to generate a new module id for
     //each YSR instance. So YCH also should generate it.
     private IdGenerator moduleIdGenerator;
-    private ExecutorService schemaRegistryExecutor;
+    private ExecutorService executor;
     private YangNotificationExtendedService ynhExtendedService;
+    private YangModuleLibrary library;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
     protected CoreService coreService;
@@ -82,23 +86,22 @@
     public void activate() {
         appId = coreService.registerApplication(APP_ID);
         moduleIdGenerator = coreService.getIdGenerator(MODULE_ID);
-        schemaRegistry = new DefaultYangSchemaRegistry(String.valueOf(
-                moduleIdGenerator.getNewId()));
-        schemaRegistryExecutor =
-                Executors.newSingleThreadExecutor(groupedThreads(
-                        "onos/apps/yang-management-system/schema-registry",
-                        "schema-registry-handler", log));
+        schemaRegistry = new DefaultYangSchemaRegistry();
+        library = new DefaultYangModuleLibrary(getNewModuleId());
+        executor = newSingleThreadExecutor(groupedThreads(
+                "onos/apps/yang-management-system/schema-registry",
+                "schema-registry-handler", log));
         ynhExtendedService = new YangNotificationManager(schemaRegistry);
-        //Initilize the default codecs
-        YangCodecRegistry.initializeDefaultCodec();
+        //Initialize the default codec
+        initializeDefaultCodec();
 
         log.info("Started");
     }
 
     @Deactivate
     public void deactivate() {
-        ((DefaultYangSchemaRegistry) schemaRegistry).flushYsrData();
-        schemaRegistryExecutor.shutdown();
+        schemaRegistry.flushYsrData();
+        executor.shutdown();
 
         // TODO implementation for other components.
         log.info("Stopped");
@@ -107,25 +110,23 @@
     @Override
     public YdtBuilder getYdtBuilder(String logicalRootName,
                                     String rootNamespace,
-                                    YmsOperationType operationType) {
+                                    YmsOperationType opType) {
         return new YangRequestWorkBench(logicalRootName, rootNamespace,
-                                        operationType, schemaRegistry, true);
+                                        opType, schemaRegistry, true);
     }
 
     @Override
     public YdtBuilder getYdtBuilder(String logicalRootName,
                                     String rootNamespace,
-                                    YmsOperationType operationType,
+                                    YmsOperationType opType,
                                     Object schemaRegistryForYdt) {
         if (schemaRegistryForYdt != null) {
-            return new YangRequestWorkBench(logicalRootName, rootNamespace,
-                                            operationType,
-                                            (YangSchemaRegistry)
-                                                    schemaRegistryForYdt,
-                                            false);
+            return new YangRequestWorkBench(
+                    logicalRootName, rootNamespace, opType,
+                    (YangSchemaRegistry) schemaRegistryForYdt, false);
         }
         return new YangRequestWorkBench(logicalRootName, rootNamespace,
-                                        operationType, schemaRegistry, true);
+                                        opType, schemaRegistry, true);
     }
 
     @Override
@@ -163,13 +164,13 @@
 
     @Override
     public YangModuleLibrary getYangModuleLibrary() {
-        return ((DefaultYangSchemaRegistry) schemaRegistry).getLibrary();
+        //TODO: get for YCH should be handled.
+        return library;
     }
 
     @Override
     public String getYangFile(YangModuleIdentifier moduleIdentifier) {
-        return ((DefaultYangSchemaRegistry) schemaRegistry)
-                .getYangFile(moduleIdentifier);
+        return schemaRegistry.getYangFile(moduleIdentifier);
     }
 
     @Override
@@ -181,9 +182,14 @@
     @Override
     public void registerService(Object manager, Class<?> service,
                                 List<String> features) {
-        schemaRegistryExecutor.execute(() -> {
+        //perform registration of service
+        executor.execute(() -> {
+
             schemaRegistry.registerApplication(manager, service);
-            processNotificationRegistration(service, manager);
+            //process notification registration.
+            processNotificationRegistration(manager, service);
+
+            schemaRegistry.processModuleLibrary(service.getName(), library);
         });
         // TODO implementation based on supported features.
     }
@@ -191,15 +197,15 @@
     /**
      * Process notification registration for manager class object.
      *
-     * @param service yang service
      * @param manager yang manager
+     * @param service service class
      */
-    private void processNotificationRegistration(Class<?> service,
-                                                 Object manager) {
-        if (manager != null && manager instanceof ListenerService) {
-            if (((DefaultYangSchemaRegistry) schemaRegistry)
-                    .verifyNotificationObject(service)) {
-                ynhExtendedService.registerAsListener((ListenerService) manager);
+    private void processNotificationRegistration(Object manager, Class<?> service) {
+        synchronized (service) {
+            if (manager != null && manager instanceof ListenerService) {
+                if (schemaRegistry.verifyNotificationObject(manager, service)) {
+                    ynhExtendedService.registerAsListener((ListenerService) manager);
+                }
             }
         }
     }
@@ -211,11 +217,10 @@
 
     @Override
     public YangCodecHandler getYangCodecHandler() {
-
-        YangSchemaRegistry yangSchemaRegistry =
-                new DefaultYangSchemaRegistry(
-                        String.valueOf(moduleIdGenerator.getNewId()));
-        return new DefaultYangCodecHandler(yangSchemaRegistry);
+        YangSchemaRegistry registry = new DefaultYangSchemaRegistry();
+        DefaultYangCodecHandler handler = new DefaultYangCodecHandler(registry);
+        handler.setLibrary(new DefaultYangModuleLibrary(getNewModuleId()));
+        return handler;
     }
 
     /**
@@ -226,4 +231,13 @@
     public YangSchemaRegistry getSchemaRegistry() {
         return schemaRegistry;
     }
+
+    /**
+     * Returns new generated module id.
+     *
+     * @return new module id
+     */
+    private String getNewModuleId() {
+        return valueOf(moduleIdGenerator.getNewId());
+    }
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ynh/YangNotificationManager.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ynh/YangNotificationManager.java
index 59da18c..a6d9f83 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ynh/YangNotificationManager.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ynh/YangNotificationManager.java
@@ -43,10 +43,22 @@
         implements YangNotificationExtendedService {
 
     private static final String YANG_NOTIFICATION = "yangnotification";
+
     private final Logger log = LoggerFactory.getLogger(getClass());
-    private final ExecutorService executor;
-    private final YnhAbstractListener listener;
-    private final YangSchemaRegistry schemaRegistry;
+
+    private ExecutorService executor;
+
+    /**
+     * YANG notification abstract listener. This listener will listens
+     * abstractly to all the notification from the application to which it
+     * has subscribed.
+     */
+    private YnhAbstractListener listener;
+
+    /**
+     * Maintains schema registry.
+     */
+    private YangSchemaRegistry schemaRegistry;
 
     /**
      * Creates an instance of YANG notification manager.
@@ -55,8 +67,8 @@
      */
     public YangNotificationManager(YangSchemaRegistry registry) {
         listener = new YnhAbstractListener();
-        executor = Executors.newSingleThreadExecutor(
-                groupedThreads("onos/yms", "event-handler-%d", log));
+        executor = Executors.newSingleThreadExecutor(groupedThreads(
+                "onos/yms", "event-handler-%d", log));
         schemaRegistry = registry;
     }
 
@@ -78,10 +90,12 @@
      */
     private class YnhAbstractListener<E extends Event> implements
             EventListener<E> {
+
         @Override
         public void event(Event event) {
             executor.execute(() -> {
                 try {
+                    log.info("Event received in ynh " + event.type());
                     /*
                      * Obtain YANG data tree corresponding to notification with
                      * logical root node as yangnotification, followed by
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/yob/YobUtils.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/yob/YobUtils.java
index d72edc1..c8256c9 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/yob/YobUtils.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/yob/YobUtils.java
@@ -295,8 +295,8 @@
 
             }
 
-            Class<?> regClass = registry.getRegisteredClass(curSchemaNode,
-                                                            qualifiedClassName);
+            Class<?> regClass = registry.getRegisteredClass(curSchemaNode
+            );
             return regClass.getClassLoader();
 
         }
@@ -328,8 +328,7 @@
                     ((YangNode) augmentSchemaNode).getParent();
 
             Class<?> moduleClass = registry.getRegisteredClass(
-                    moduleNode, getCapitalCase(
-                            moduleNode.getJavaClassNameOrBuiltInType()));
+                    moduleNode);
             return moduleClass.getClassLoader();
         }
 
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangModuleIdentifier.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangModuleIdentifier.java
index e98e982..8f0af27 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangModuleIdentifier.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangModuleIdentifier.java
@@ -26,7 +26,7 @@
 /**
  * Representation of default YANG module identifier.
  */
-class DefaultYangModuleIdentifier implements YangModuleIdentifier,
+public class DefaultYangModuleIdentifier implements YangModuleIdentifier,
         Comparator<YangModuleIdentifier> {
 
     private final String moduleName;
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangModuleInformation.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangModuleInformation.java
index 79778f7..3fc656f 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangModuleInformation.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangModuleInformation.java
@@ -17,6 +17,7 @@
 package org.onosproject.yms.app.ysr;
 
 import com.google.common.collect.ImmutableList;
+import org.onosproject.yangutils.datamodel.YangNamespace;
 import org.onosproject.yms.ysr.YangModuleIdentifier;
 import org.onosproject.yms.ysr.YangModuleInformation;
 
@@ -32,7 +33,7 @@
 class DefaultYangModuleInformation implements YangModuleInformation {
 
     private final YangModuleIdentifier moduleIdentifier;
-    private final String nameSpace;
+    private final YangNamespace nameSpace;
     private final List<String> features;
     private final List<YangModuleIdentifier> subModuleIdentifiers;
 
@@ -43,7 +44,7 @@
      * @param nameSpace        name space of module
      */
     DefaultYangModuleInformation(YangModuleIdentifier moduleIdentifier,
-                                 String nameSpace) {
+                                 YangNamespace nameSpace) {
         this.moduleIdentifier = moduleIdentifier;
         this.nameSpace = nameSpace;
         subModuleIdentifiers = new ArrayList<>();
@@ -55,8 +56,7 @@
         return moduleIdentifier;
     }
 
-    @Override
-    public String namespace() {
+    public YangNamespace namespace() {
         return nameSpace;
     }
 
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangModuleLibrary.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangModuleLibrary.java
index 4187746..5cb991b 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangModuleLibrary.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangModuleLibrary.java
@@ -29,7 +29,7 @@
 /**
  * Representation of default YANG module library.
  */
-class DefaultYangModuleLibrary implements YangModuleLibrary {
+public class DefaultYangModuleLibrary implements YangModuleLibrary {
 
     private final String moduleSetId;
     private final List<YangModuleInformation> moduleInformation;
@@ -39,7 +39,7 @@
      *
      * @param moduleSetId module id
      */
-    DefaultYangModuleLibrary(String moduleSetId) {
+    public DefaultYangModuleLibrary(String moduleSetId) {
         this.moduleSetId = moduleSetId;
         moduleInformation = new ArrayList<>();
     }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangSchemaRegistry.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangSchemaRegistry.java
index ce123e1..58d772c 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangSchemaRegistry.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/DefaultYangSchemaRegistry.java
@@ -16,7 +16,6 @@
 
 package org.onosproject.yms.app.ysr;
 
-import org.onosproject.yangutils.datamodel.RpcNotificationContainer;
 import org.onosproject.yangutils.datamodel.YangInclude;
 import org.onosproject.yangutils.datamodel.YangModule;
 import org.onosproject.yangutils.datamodel.YangNode;
@@ -26,34 +25,33 @@
 import org.onosproject.yms.ysr.YangModuleIdentifier;
 import org.onosproject.yms.ysr.YangModuleInformation;
 import org.onosproject.yms.ysr.YangModuleLibrary;
+import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
-import java.io.ObjectInputStream;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
-import java.util.Set;
+import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.regex.Pattern;
 
+import static java.util.Collections.sort;
 import static org.apache.commons.io.FileUtils.deleteDirectory;
 import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.parseJarFile;
-import static org.onosproject.yangutils.utils.UtilConstants.DEFAULT;
-import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING;
 import static org.onosproject.yangutils.utils.UtilConstants.EVENT_STRING;
+import static org.onosproject.yangutils.utils.UtilConstants.HYPHEN;
 import static org.onosproject.yangutils.utils.UtilConstants.OP_PARAM;
 import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
+import static org.onosproject.yangutils.utils.UtilConstants.SERVICE;
+import static org.onosproject.yangutils.utils.UtilConstants.SLASH;
 import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
 import static org.osgi.framework.FrameworkUtil.getBundle;
+import static org.slf4j.LoggerFactory.getLogger;
 
 
 /**
@@ -61,111 +59,344 @@
  * provides interface to an application to register its YANG schema
  * with YMS. It provides YANG schema nodes to YDT, YNB and YSB.
  */
-public class DefaultYangSchemaRegistry
-        implements YangSchemaRegistry {
+public class DefaultYangSchemaRegistry implements YangSchemaRegistry {
 
-    private static final String SYSTEM = File.separator + "system" +
-            File.separator;
+    private static final String SYSTEM = SLASH + "system" + SLASH;
     private static final String MAVEN = "mvn:";
-    private static final String HYPHEN = "-";
-    private static final String DELIMITER = ".";
-    private static final String SERVICE = "Service";
     private static final String JAR = ".jar";
     private static final String USER_DIRECTORY = "user.dir";
-    private static final String SLASH = File.separator;
     private static final String AT = "@";
     private static final String DATE_FORMAT = "yyyy-mm-dd";
-    private static final Logger log =
-            LoggerFactory.getLogger(DefaultYangSchemaRegistry.class);
-    private final ConcurrentMap<String, YsrAppContext> appObjectStore;
-    private final ConcurrentMap<String, YsrAppContext> yangSchemaStore;
-    private final ConcurrentMap<String, YsrAppContext>
-            yangSchemaStoreForRootInterface;
-    private final ConcurrentMap<String, YsrAppContext>
-            yangSchemaStoreForRootOpParam;
-    private final ConcurrentMap<String, YsrAppContext>
-            yangRootSchemaStoreForNotification;
+    private static final String ONOS = "org.onosproject";
+    private static final Logger log = getLogger(DefaultYangSchemaRegistry.class);
+
+    /*
+     * Map for storing app objects.
+     */
+    private final ConcurrentMap<String, Object> appObjectStore;
+
+    /*
+     * Map for storing YANG schema nodes.
+     */
+    private final ConcurrentMap<String, ConcurrentMap<String, YangSchemaNode>>
+            yangSchemaStore;
+
+    /*
+     * Map for storing YANG schema nodes with respect to root's generated
+     * interface file name.
+     */
+    private final ConcurrentMap<String, YangSchemaNode> interfaceNameKeyStore;
+
+    /*
+     * Map for storing YANG schema nodes root's generated op param file name.
+     */
+    private final ConcurrentMap<String, YangSchemaNode> opParamNameKeyStore;
+
+    /*
+     * Map for storing YANG schema nodes with respect to notifications.
+     */
+    private final ConcurrentMap<String, YangSchemaNode> eventNameKeyStore;
+
+    /*
+     * Map for storing YANG schema nodes with respect to app name.
+     */
+    private final ConcurrentMap<String, YangSchemaNode> appNameKeyStore;
+
+    /*
+     * Map for storing registered classes.
+     */
     private final ConcurrentMap<String, Class<?>> registerClassStore;
+
+    /*
+     * Map for storing YANG file details.
+     */
     private final ConcurrentMap<YangModuleIdentifier, String> yangFileStore;
-    private final YangModuleLibrary library;
-    private YsrAppContext ysrAppContext;
-    private YsrAppContext ysrContextForSchemaStore;
-    private YsrAppContext ysrContextForAppStore;
-    private ClassLoader classLoader;
+
+    private final ConcurrentMap<Object, Boolean> ynhRegistrationStore;
+    private final ConcurrentMap<String, String> jarPathStore;
 
     /**
      * Creates an instance of default YANG schema registry.
-     *
-     * @param moduleId module set id of YSR module library
      */
-    public DefaultYangSchemaRegistry(String moduleId) {
+    public DefaultYangSchemaRegistry() {
         appObjectStore = new ConcurrentHashMap<>();
         yangSchemaStore = new ConcurrentHashMap<>();
-        yangSchemaStoreForRootInterface = new ConcurrentHashMap<>();
-        yangSchemaStoreForRootOpParam = new ConcurrentHashMap<>();
-        yangRootSchemaStoreForNotification = new ConcurrentHashMap<>();
+        interfaceNameKeyStore = new ConcurrentHashMap<>();
+        opParamNameKeyStore = new ConcurrentHashMap<>();
+        eventNameKeyStore = new ConcurrentHashMap<>();
         registerClassStore = new ConcurrentHashMap<>();
         yangFileStore = new ConcurrentHashMap<>();
-        library = new DefaultYangModuleLibrary(moduleId);
+        appNameKeyStore = new ConcurrentHashMap<>();
+        ynhRegistrationStore = new ConcurrentHashMap<>();
+        jarPathStore = new ConcurrentHashMap<>();
     }
 
 
     @Override
     public void registerApplication(Object appObject, Class<?> serviceClass) {
+        synchronized (serviceClass) {
+            doPreProcessing(serviceClass, appObject);
+            if (!verifyIfApplicationAlreadyRegistered(serviceClass)) {
+                BundleContext context = getBundle(serviceClass).getBundleContext();
+                Bundle[] bundles = context.getBundles();
+                Bundle bundle;
+                int len = bundles.length;
+                List<YangNode> curNodes;
+                String jarPath;
+                for (int i = len - 1; i >= 0; i--) {
+                    bundle = bundles[i];
+                    if (bundle.getSymbolicName().contains(ONOS)) {
+                        jarPath = getJarPathFromBundleLocation(
+                                bundle.getLocation(), context.getProperty(USER_DIRECTORY));
+                        curNodes = processJarParsingOperations(jarPath);
+                        // process application registration.
+                        if (curNodes != null && !curNodes.isEmpty()) {
+                            jarPathStore.put(serviceClass.getName(), jarPath);
+                            processRegistration(serviceClass, jarPath,
+                                                curNodes, appObject, false);
+                        }
+                    }
+                }
+            }
+        }
+    }
 
-        BundleContext bundleContext = getBundle(serviceClass)
-                .getBundleContext();
-        String jarPath = getJarPathFromBundleLocation(
-                bundleContext.getBundle().getLocation(),
-                bundleContext.getProperty(USER_DIRECTORY));
-        processRegistration(serviceClass, appObject, jarPath);
+    @Override
+    public void unRegisterApplication(Object managerObject,
+                                      Class<?> serviceClass) {
+        synchronized (serviceClass) {
+            YangSchemaNode curNode;
+            String serviceName = serviceClass.getName();
+
+            //Check if service should be unregistered?
+            if (managerObject != null) {
+                verifyApplicationRegistration(managerObject, serviceClass);
+            }
+            //Remove registered class from store.
+            registerClassStore.remove(serviceName);
+            //check if service is in app store.
+            curNode = appNameKeyStore.get(serviceName);
+            if (curNode == null) {
+                curNode = interfaceNameKeyStore.get(serviceName);
+            }
+
+            if (curNode != null) {
+                removeSchemaNode(curNode);
+                eventNameKeyStore.remove(getEventClassName(curNode));
+                appObjectStore.remove(serviceName);
+                interfaceNameKeyStore.remove(getInterfaceClassName(curNode));
+                opParamNameKeyStore.remove(getOpParamClassName(curNode));
+                yangFileStore.remove(getModuleIdentifier(curNode));
+                appNameKeyStore.remove(serviceName);
+                removeYsrGeneratedTemporaryResources(jarPathStore.get(serviceName),
+                                                     serviceName);
+                log.info(" service {} is unregistered.",
+                         serviceClass.getSimpleName());
+            } else {
+                throw new RuntimeException(serviceClass.getSimpleName() +
+                                                   " service was not registered.");
+            }
+        }
+    }
+
+    @Override
+    public Object getRegisteredApplication(YangSchemaNode schemaNode) {
+        Object obj = null;
+        if (schemaNode != null) {
+            String name = getServiceName(schemaNode);
+            obj = appObjectStore.get(name);
+            if (obj == null) {
+                log.error("{} not found.", name);
+            }
+        }
+        return obj;
+    }
+
+    @Override
+    public YangSchemaNode getYangSchemaNodeUsingSchemaName(String schemaName) {
+        return getSchemaNodeUsingSchemaNameWithRev(schemaName);
+    }
+
+    @Override
+    public YangSchemaNode getYangSchemaNodeUsingAppName(String appName) {
+        YangSchemaNode node = appNameKeyStore.get(appName);
+        if (node == null) {
+            log.error("{} not found.", appName);
+        }
+        return node;
+    }
+
+    @Override
+    public YangSchemaNode
+    getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(String name) {
+        YangSchemaNode node = interfaceNameKeyStore.get(name);
+        if (node == null) {
+            log.error("{} not found.", name);
+        }
+        return node;
+    }
+
+    @Override
+    public YangSchemaNode getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
+            String name) {
+        YangSchemaNode node = opParamNameKeyStore.get(name);
+        if (node == null) {
+            log.error("{} not found.", name);
+        }
+        return node;
+    }
+
+    @Override
+    public YangSchemaNode getRootYangSchemaNodeForNotification(String name) {
+        YangSchemaNode node = eventNameKeyStore.get(name);
+        if (node == null) {
+            log.error("{} not found.", name);
+        }
+        return node;
+    }
+
+    @Override
+    public Class<?> getRegisteredClass(YangSchemaNode schemaNode) {
+        String interfaceName = getInterfaceClassName(schemaNode);
+        String serviceName = getServiceName(schemaNode);
+        Class<?> regClass = registerClassStore.get(serviceName);
+        if (regClass == null) {
+            regClass = registerClassStore.get(interfaceName);
+        }
+        return regClass;
+    }
+
+    @Override
+    public String getYangFile(YangModuleIdentifier moduleIdentifier) {
+        String file = yangFileStore.get(moduleIdentifier);
+        if (file == null) {
+            log.error("YANG files for corresponding module identifier {} not " +
+                              "found", moduleIdentifier);
+        }
+        return file;
+    }
+
+    @Override
+    public boolean verifyNotificationObject(Object appObj, Class<?> service) {
+        synchronized (service) {
+            YangSchemaNode node = appNameKeyStore.get(service.getName());
+            if (node == null) {
+                log.error("application is not registered with YMS {}",
+                          service.getName());
+                return false;
+            }
+            try {
+                if (node.isNotificationPresent()) {
+                    if (appObj != null) {
+                        Boolean ifPresent = ynhRegistrationStore.get(appObj);
+                        if (ifPresent == null) {
+                            ynhRegistrationStore.put(appObj, true);
+                            return true;
+                        }
+                    }
+                }
+            } catch (DataModelException e) {
+                log.error("notification registration error: {} {}", e
+                        .getLocalizedMessage(), e);
+            }
+            return false;
+        }
+    }
+
+    @Override
+    public void flushYsrData() {
+        appObjectStore.clear();
+        yangSchemaStore.clear();
+        eventNameKeyStore.clear();
+        opParamNameKeyStore.clear();
+        interfaceNameKeyStore.clear();
+        registerClassStore.clear();
+        yangFileStore.clear();
+    }
+
+    @Override
+    public void processModuleLibrary(String serviceName,
+                                     YangModuleLibrary library) {
+        synchronized (serviceName) {
+            YangSchemaNode node = appNameKeyStore.get(serviceName);
+            if (node != null) {
+                YangModuleInformation moduleInformation =
+                        new DefaultYangModuleInformation(getModuleIdentifier(node),
+                                                         node.getNameSpace());
+                addSubModuleIdentifier(node, (
+                        DefaultYangModuleInformation) moduleInformation);
+                //TODO: add feature list to module information.
+                ((DefaultYangModuleLibrary) library)
+                        .addModuleInformation(moduleInformation);
+            }
+        }
     }
 
     /**
-     * Process application registration.
+     * Process service class.
      *
      * @param serviceClass service class
      * @param appObject    application object
-     * @param jarPath      jar path
      */
-    void processRegistration(Class<?> serviceClass, Object appObject,
-                             String jarPath) {
 
-        // set class loader for service class.
-        setClassLoader(serviceClass.getClassLoader());
+    void doPreProcessing(Class<?> serviceClass, Object appObject) {
 
         //Check if service should be registered?
         if (appObject != null) {
             verifyApplicationRegistration(appObject, serviceClass);
         }
+        String name = serviceClass.getName();
         //Add app class to registered service store.
-        if (!registerClassStore.containsKey(serviceClass.getName())) {
-            updateServiceClass(serviceClass);
+        if (!registerClassStore.containsKey(name)) {
+            registerClassStore.put(name, serviceClass);
         }
+    }
+
+    void updateServiceClass(Class<?> service) {
+        registerClassStore.put(service.getName(), service);
+    }
+
+    /**
+     * Process application registration.
+     *
+     * @param service  service class
+     * @param jarPath  jar path
+     * @param nodes    YANG nodes
+     * @param appObj   application object
+     * @param isFromUt if registration is being called form unit test
+     */
+    void processRegistration(Class<?> service, String jarPath,
+                             List<YangNode> nodes,
+                             Object appObj, boolean isFromUt) {
 
         // process storing operations.
-        if (!verifyIfApplicationAlreadyRegistered(serviceClass)) {
-            List<YangNode> curNodes =
-                    processJarParsingOperations(jarPath);
+        YangNode schemaNode = findNodeWhichShouldBeReg(service.getName(), nodes);
+        if (schemaNode != null) {
+            if (appObj != null) {
+                appObjectStore.put(service.getName(), appObj);
+            }
+            //Process application context for registrations.
+            processApplicationContext(schemaNode, service.getName(), isFromUt);
+            //Update YANG file store.
+            updateYangFileStore(schemaNode, jarPath);
+        }
+    }
 
-            if (curNodes != null) {
-                for (YangNode schemaNode : curNodes) {
-                    //Process application context for registrations.
-                    processApplicationContext(schemaNode);
-                    //Update YANG file store.
-                    updateYangFileStore(schemaNode, jarPath);
-                    //Process module library operation for current node list.
-                    processModuleLibrary(schemaNode);
-                }
-                //Set jar path for app context.
-                ysrAppContext.jarPath(jarPath);
-                ysrContextForSchemaStore.jarPath(jarPath);
-                ysrContextForAppStore.jarPath(jarPath);
+    /**
+     * Returns the node for which corresponding class is generated.
+     *
+     * @param name  generated class name
+     * @param nodes list of yang nodes
+     * @return node for which corresponding class is generated
+     */
+    private YangNode findNodeWhichShouldBeReg(String name, List<YangNode> nodes) {
+        for (YangNode node : nodes) {
+            if (name.equals(getServiceName(node)) ||
+                    name.equals(getInterfaceClassName(node))) {
+                return node;
             }
         }
-
-        //Verifies if object is updated for app store.
-        updateApplicationObject(appObject, serviceClass);
+        return null;
     }
 
     /**
@@ -194,256 +425,9 @@
      * @return true if application already registered
      */
     private boolean verifyIfApplicationAlreadyRegistered(Class<?> appClass) {
-        String simpleName = appClass.getSimpleName();
         String appName = appClass.getName();
-        if (!appObjectStore.containsKey(appName)) {
-            if (simpleName.contains(OP_PARAM)) {
-                return yangSchemaStoreForRootOpParam
-                        .containsKey(appName);
-            } else {
-                return yangSchemaStoreForRootInterface
-                        .containsKey(appName);
-            }
-        }
-        return true;
-    }
-
-    /**
-     * Verifies if service is being implemented by some new object.
-     *
-     * @param appObject application's object
-     * @param appClass  application's class
-     */
-    private void updateApplicationObject(Object appObject, Class<?> appClass) {
-        YsrAppContext appContext =
-                appObjectStore.get(appClass.getName());
-        if (appContext != null) {
-            YangSchemaNode schemaNode = appContext.curNode();
-            String name = getInterfaceClassName(schemaNode);
-            if (appContext.appObject() == null) {
-                //update in application store.
-                appContext.appObject(appObject);
-                //Update app object for schema store for root interface.
-                appContext = yangSchemaStoreForRootInterface.get(name);
-                if (appContext != null) {
-                    appContext.appObject(appObject);
-                }
-                // Update app object for schema store for root op param
-                appContext = yangSchemaStoreForRootOpParam.get(name + OP_PARAM);
-                if (appContext != null) {
-                    appContext.appObject(appObject);
-                }
-            }
-        }
-    }
-
-    @Override
-    public void unRegisterApplication(Object managerObject,
-                                      Class<?> serviceClass) {
-        YangSchemaNode curNode = null;
-        String serviceName = serviceClass.getName();
-
-        //Check if service should be unregistered?
-        if (managerObject != null) {
-            verifyApplicationRegistration(managerObject, serviceClass);
-        }
-        //Remove registered class from store.
-        registerClassStore.remove(serviceName);
-
-        //check if service is in app store.
-        if (appObjectStore.containsKey(serviceName)) {
-            curNode = retrieveNodeForUnregister(serviceName, appObjectStore,
-                                                managerObject);
-        } else if (yangSchemaStoreForRootInterface.containsKey(serviceName)) {
-            //check if service is in interface store.
-            curNode = retrieveNodeForUnregister(serviceName,
-                                                yangSchemaStoreForRootInterface,
-                                                managerObject);
-        } else if (yangSchemaStoreForRootOpParam.containsKey(serviceName)) {
-            //check if service is in op param store.
-            curNode = retrieveNodeForUnregister(serviceName,
-                                                yangSchemaStoreForRootOpParam,
-                                                managerObject);
-        }
-        if (curNode != null) {
-            String javaName = getInterfaceClassName(curNode);
-            removeFromYangSchemaStore(curNode);
-            removeFromYangNotificationStore(curNode);
-            removeFromAppSchemaStore(serviceName);
-            removeFromYangSchemaNodeForRootInterface(javaName);
-            removeFromYangSchemaNodeForRootOpParam(javaName);
-            removeYangFileInfoFromStore(curNode);
-            log.info(" service {} is unregistered.",
-                     serviceClass.getSimpleName());
-        } else {
-            throw new RuntimeException(serviceClass.getSimpleName() +
-                                               " service was not registered.");
-        }
-    }
-
-    @Override
-    public Object getRegisteredApplication(YangSchemaNode schemaNode) {
-        if (schemaNode != null) {
-            String name = getInterfaceClassName(schemaNode);
-            if (yangSchemaStoreForRootInterface.containsKey(name)) {
-                return yangSchemaStoreForRootInterface.get(name)
-                        .appObject();
-            }
-            log.error("{} not found.", name);
-        }
-        return null;
-    }
-
-    @Override
-    public YangSchemaNode getYangSchemaNodeUsingSchemaName(String schemaName) {
-        return getSchemaNodeUsingSchemaNameWithRev(schemaName);
-    }
-
-    @Override
-    public YangSchemaNode getYangSchemaNodeUsingAppName(String appName) {
-        YsrAppContext appContext = appObjectStore.get(appName);
-        if (appContext != null) {
-            return appContext.curNode();
-        }
-        log.error("{} not found.", appName);
-        return null;
-    }
-
-    @Override
-    public YangSchemaNode
-    getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(String name) {
-        YsrAppContext appContext = yangSchemaStoreForRootInterface.get(name);
-        if (appContext != null) {
-            return appContext.curNode();
-        }
-        log.error("{} not found.", name);
-        return null;
-    }
-
-    @Override
-    public YangSchemaNode getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-            String name) {
-        YsrAppContext appContext = yangSchemaStoreForRootOpParam.get(name);
-        if (appContext != null) {
-            return appContext.curNode();
-        }
-        log.error("{} not found.", name);
-        return null;
-    }
-
-    @Override
-    public YangSchemaNode getRootYangSchemaNodeForNotification(String name) {
-        YsrAppContext appContext = yangRootSchemaStoreForNotification.get(name);
-        if (appContext != null) {
-            return appContext.curNode();
-        }
-        log.error("{} not found.", name);
-        return null;
-    }
-
-    @Override
-    public Class<?> getRegisteredClass(YangSchemaNode schemaNode,
-                                       String appName) {
-        String interfaceName = getInterfaceClassName(schemaNode);
-        String serviceName = getServiceName(schemaNode);
-        String defaultClass;
-        if (schemaNode instanceof RpcNotificationContainer) {
-            defaultClass = getOpParamClassName(schemaNode);
-        } else {
-            defaultClass = getDefaultClassName(schemaNode);
-        }
-        //If application class is registered.
-        if (registerClassStore.containsKey(appName)) {
-            return registerClassStore.get(appName);
-        } else if (registerClassStore.containsKey(interfaceName)) {
-            //If interface class is registered.
-            return registerClassStore.get(interfaceName);
-        } else if (registerClassStore.containsKey(serviceName)) {
-            //If service class is registered.
-            return registerClassStore.get(serviceName);
-        } else if (registerClassStore.containsKey(defaultClass)) {
-            //If default class is registered.
-            return registerClassStore.get(defaultClass);
-        }
-        return null;
-    }
-
-    /**
-     * Returns YANG file path for module identifier.
-     *
-     * @param moduleIdentifier module identifier
-     * @return YANG file path for module identifier
-     */
-    public String getYangFile(YangModuleIdentifier moduleIdentifier) {
-        if (yangFileStore.containsKey(moduleIdentifier)) {
-            return yangFileStore.get(moduleIdentifier);
-        }
-        log.error("YANG files for corresponding module identifier {} not " +
-                          "found", moduleIdentifier);
-        return null;
-    }
-
-    /**
-     * Updates service class store.
-     *
-     * @param serviceClass service class
-     */
-    void updateServiceClass(Class<?> serviceClass) {
-        registerClassStore.put(serviceClass.getName(), serviceClass);
-    }
-
-    /**
-     * Updates application object store.
-     *
-     * @param appName application name
-     */
-    private void updateAppObjectStore(String appName) {
-        if (verifyClassExistence(appName)) {
-            appObjectStore.put(appName, ysrContextForAppStore);
-        }
-    }
-
-    /**
-     * Updates YANG schema object store.
-     *
-     * @param schemaNode application's schema node
-     */
-    private void updateYangSchemaStore(YangSchemaNode schemaNode) {
-        addSchemaNodeUsingSchemaNameWithRev(schemaNode);
-    }
-
-    /**
-     * Updates YANG schema notification object store.
-     *
-     * @param name application's notification name
-     */
-    private void updateYangNotificationStore(String name) {
-        if (verifyClassExistence(name)) {
-            yangRootSchemaStoreForNotification.put(name, ysrAppContext);
-        }
-    }
-
-    /**
-     * Updates YANG schema object store for root interface file name.
-     *
-     * @param name name of generated interface file for root
-     *             node
-     */
-    private void updateYangSchemaForRootInterfaceFileNameStore(String name) {
-        if (verifyClassExistence(name)) {
-            yangSchemaStoreForRootInterface.put(name, ysrAppContext);
-        }
-    }
-
-    /**
-     * Updates YANG schema object store  for root op param file name.
-     *
-     * @param name name of generated op param file for root node
-     */
-    private void updateYangSchemaForRootOpParamFileNameStore(String name) {
-        if (verifyClassExistence(name)) {
-            yangSchemaStoreForRootOpParam.put(name, ysrAppContext);
-        }
+        return appObjectStore.containsKey(appName) ||
+                interfaceNameKeyStore.containsKey(appName);
     }
 
     /**
@@ -453,9 +437,8 @@
      * @param jarPath jar file path
      */
     private void updateYangFileStore(YangNode node, String jarPath) {
-       //FIXME: fix when yang tools support for file name.
-       //yangFileStore.put(getModuleIdentifier(node),
-       //                   getYangFilePath(jarPath, node.getFileName()));
+        yangFileStore.put(getModuleIdentifier(node),
+                          getYangFilePath(jarPath, node.getFileName()));
     }
 
     /**
@@ -466,8 +449,8 @@
      * @return yang file path
      */
     private String getYangFilePath(String jarPath, String metaDataFileName) {
-       String[] metaData = metaDataFileName.split(SLASH);
-       return jarPath + SLASH + metaData[metaData.length - 1];
+        String[] metaData = metaDataFileName.split(SLASH);
+        return jarPath + SLASH + metaData[metaData.length - 1];
     }
 
     /**
@@ -478,8 +461,12 @@
      */
     private List<YangNode> processJarParsingOperations(String path) {
         //Deserialize data model and get the YANG node set.
+        String jar = path + JAR;
         try {
-            return parseJarFile(path + JAR, path);
+            File file = new File(jar);
+            if (file.exists()) {
+                return parseJarFile(path + JAR, path);
+            }
         } catch (IOException e) {
             log.error(" failed to parse the jar file in path {} : {} ", path,
                       e.getMessage());
@@ -490,30 +477,23 @@
     /**
      * Process an application an updates the maps for YANG schema registry.
      *
-     * @param appNode application YANG schema nodes
+     * @param appNode  application YANG schema nodes
+     * @param name     class name
+     * @param isFormUt if method is being called from unit tests
      */
-    void processApplicationContext(YangSchemaNode appNode) {
+    private void processApplicationContext(YangSchemaNode appNode, String name,
+                                           boolean isFormUt) {
 
-        String appName = getInterfaceClassName(appNode);
-
-        //Create a new instance of ysr app context for each node.
-        ysrAppContext = new YsrAppContext();
-        ysrContextForSchemaStore = new YsrAppContext();
-        ysrContextForAppStore = new YsrAppContext();
-
-        //add cur node to app context.
-        ysrAppContext.curNode(appNode);
-        ysrContextForAppStore.curNode(appNode);
-
-        //Updates maps wih schema nodes.
-        updateAppObjectStore(getServiceName(appNode));
+        //Update map for which registrations is being called.
+        appNameKeyStore.put(name, appNode);
 
         // Updates schema store.
-        updateYangSchemaStore(appNode);
+        addToSchemaStore(appNode);
         // update interface store.
-        updateYangSchemaForRootInterfaceFileNameStore(appName);
+        interfaceNameKeyStore.put(getInterfaceClassName(appNode), appNode);
+
         //update op param store.
-        updateYangSchemaForRootOpParamFileNameStore(getOpParamClassName(appNode));
+        opParamNameKeyStore.put(getOpParamClassName(appNode), appNode);
         //Checks if notification is present then update notification store map.
         String eventSubject = null;
         try {
@@ -525,10 +505,11 @@
                       e.getLocalizedMessage());
         }
         if (eventSubject != null) {
-            updateYangNotificationStore(eventSubject);
+            eventNameKeyStore.put(eventSubject, appNode);
         }
-        log.info("successfully registered this application {}{}", appName,
-                 SERVICE);
+        if (!isFormUt) {
+            log.info("successfully registered this application {}", name);
+        }
     }
 
     /**
@@ -540,62 +521,18 @@
     private String getJarPathFromBundleLocation(String mvnLocationPath,
                                                 String currentDirectory) {
         String path = currentDirectory + SYSTEM;
-        String[] strArray = mvnLocationPath.split(MAVEN);
-        String[] split = strArray[1].split(File.separator);
-        String[] groupId = split[0].split(Pattern.quote(DELIMITER));
-
-        return path + groupId[0] + SLASH + groupId[1] + SLASH + split[1] +
-                SLASH + split[2] + SLASH + split[1] + HYPHEN + split[2];
-    }
-
-    /**
-     * Returns de-serializes YANG data-model nodes.
-     *
-     * @param serializedFileInfo serialized File Info
-     * @return de-serializes YANG data-model nodes
-     */
-    Set<YangSchemaNode> deSerializeDataModel(String serializedFileInfo) {
-
-        Set<YangSchemaNode> nodes = new HashSet<>();
-        Object readValue;
-        try {
-            FileInputStream fileInputStream =
-                    new FileInputStream(serializedFileInfo);
-            ObjectInputStream objectInputStream =
-                    new ObjectInputStream(fileInputStream);
-            readValue = objectInputStream.readObject();
-            if (readValue instanceof Set<?>) {
-                for (Object obj : (Set<?>) readValue) {
-                    if (obj instanceof YangSchemaNode) {
-                        nodes.add((YangSchemaNode) obj);
-                    } else {
-                        throw new RuntimeException(
-                                "deserialize object is not an instance of " +
-                                        "YANG schema node" + obj);
-                    }
+        if (mvnLocationPath.contains(MAVEN)) {
+            String[] strArray = mvnLocationPath.split(MAVEN);
+            if (strArray[1].contains(File.separator)) {
+                String[] split = strArray[1].split(File.separator);
+                if (split[0].contains(PERIOD)) {
+                    String[] groupId = split[0].split(Pattern.quote(PERIOD));
+                    return path + groupId[0] + SLASH + groupId[1] + SLASH + split[1] +
+                            SLASH + split[2] + SLASH + split[1] + HYPHEN + split[2];
                 }
-            } else {
-                throw new RuntimeException(
-                        "deserialize object is not an instance of set of" +
-                                "YANG schema node" + readValue);
             }
-            objectInputStream.close();
-            fileInputStream.close();
-        } catch (IOException | ClassNotFoundException e) {
-            log.error(" {} not found.: {}", serializedFileInfo,
-                      e.getLocalizedMessage());
         }
-
-        return nodes;
-    }
-
-    /**
-     * Returns ysr app context.
-     *
-     * @return ysr app context
-     */
-    YsrAppContext ysrAppContext() {
-        return ysrAppContext;
+        return null;
     }
 
     /**
@@ -605,61 +542,62 @@
      * @return schema node based on the revision
      */
     private YangSchemaNode getSchemaNodeUsingSchemaNameWithRev(String name) {
-        YsrAppContext appContext;
+        ConcurrentMap<String, YangSchemaNode> revMap;
         YangSchemaNode schemaNode;
         if (name.contains(AT)) {
             String[] revArray = name.split(AT);
-            appContext = yangSchemaStore.get(revArray[0]);
-            schemaNode = appContext.getSchemaNodeForRevisionStore(name);
-            if (schemaNode != null) {
-                return schemaNode;
+            revMap = yangSchemaStore.get(revArray[0]);
+            schemaNode = revMap.get(name);
+            if (schemaNode == null) {
+                log.error("{} not found.", name);
             }
-            return appContext.curNode();
+            return schemaNode;
         }
         if (yangSchemaStore.containsKey(name)) {
-            appContext = yangSchemaStore.get(name);
-            if (appContext != null) {
-                Iterator<YangSchemaNode> iterator = appContext
-                        .getYangSchemaNodeForRevisionStore().values()
-                        .iterator();
-                if (iterator.hasNext()) {
-                    return appContext.getYangSchemaNodeForRevisionStore()
-                            .values().iterator().next();
-                } else {
-                    return null;
+            revMap = yangSchemaStore.get(name);
+            if (revMap != null && !revMap.isEmpty()) {
+                YangSchemaNode node = revMap.get(name);
+                if (node != null) {
+                    return node;
                 }
+                String revName = getLatestVersion(revMap);
+                return revMap.get(revName);
             }
         }
         log.error("{} not found.", name);
         return null;
     }
 
+    private String getLatestVersion(ConcurrentMap<String, YangSchemaNode> revMap) {
+        List<String> keys = new ArrayList<>();
+        for (Map.Entry<String, YangSchemaNode> entry : revMap.entrySet()) {
+            keys.add(entry.getKey());
+        }
+        sort(keys);
+        return keys.get(keys.size() - 1);
+    }
+
     /**
      * Adds schema node when different revision of node has received.
      *
      * @param schemaNode schema node
      */
-    private void addSchemaNodeUsingSchemaNameWithRev(
-            YangSchemaNode schemaNode) {
+    private void addToSchemaStore(YangSchemaNode schemaNode) {
 
         String date = getDateInStringFormat(schemaNode);
         String name = schemaNode.getName();
-        if (!date.equals(EMPTY_STRING)) {
-            name = name + AT + date;
+        String revName = name;
+        if (date != null) {
+            revName = name + AT + date;
         }
         //check if already present.
-        if (!yangSchemaStore.containsKey(schemaNode.getName())) {
-            ysrContextForSchemaStore.curNode(schemaNode);
-            //if revision is not present no need to add in revision store.
-            ysrContextForSchemaStore
-                    .addSchemaNodeWithRevisionStore(name, schemaNode);
-            yangSchemaStore.put(schemaNode.getName(),
-                                ysrContextForSchemaStore);
+        if (!yangSchemaStore.containsKey(name)) {
+            ConcurrentMap<String, YangSchemaNode> revStore =
+                    new ConcurrentHashMap<>();
+            revStore.put(revName, schemaNode);
+            yangSchemaStore.put(name, revStore);
         } else {
-            YsrAppContext appContext =
-                    yangSchemaStore.get(schemaNode.getName());
-            appContext.addSchemaNodeWithRevisionStore(name, schemaNode);
-            appContext.curNode(schemaNode);
+            yangSchemaStore.get(name).put(revName, schemaNode);
         }
     }
 
@@ -677,7 +615,7 @@
                                         .getRevDate());
             }
         }
-        return EMPTY_STRING;
+        return null;
     }
 
     /**
@@ -686,314 +624,21 @@
      * @param removableNode schema node which needs to be removed
      */
     private void removeSchemaNode(YangSchemaNode removableNode) {
-
         String name = removableNode.getName();
+        String revName = name;
         String date = getDateInStringFormat(removableNode);
-
-        if (!date.isEmpty()) {
-            name = removableNode.getName() + AT +
-                    getDateInStringFormat(removableNode);
+        if (date != null) {
+            revName = name + AT + date;
         }
-        YsrAppContext appContext = yangSchemaStore
-                .get(removableNode.getName());
-        if (appContext != null &&
-                !appContext.getYangSchemaNodeForRevisionStore().isEmpty() &&
-                appContext.getYangSchemaNodeForRevisionStore().size() != 1) {
-            appContext.removeSchemaNodeForRevisionStore(name);
+        ConcurrentMap<String, YangSchemaNode> revMap = yangSchemaStore.get(name);
+        if (revMap != null && !revMap.isEmpty() && revMap.size() != 1) {
+            revMap.remove(revName);
         } else {
             yangSchemaStore.remove(removableNode.getName());
         }
     }
 
     /**
-     * Verifies if the manager object is already registered with notification
-     * handler.
-     *
-     * @param serviceClass service class
-     * @return true if the manager object is already registered with
-     * notification handler
-     */
-    public boolean verifyNotificationObject(Class<?> serviceClass) {
-        YangSchemaNode schemaNode = null;
-        String serviceName = serviceClass.getName();
-        if (appObjectStore.containsKey(serviceName)) {
-            schemaNode = getYangSchemaNodeUsingAppName(serviceName);
-        } else if (yangSchemaStoreForRootInterface.containsKey(serviceName)) {
-            schemaNode =
-                    getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                            serviceName);
-        } else if (yangSchemaStoreForRootOpParam.containsKey(serviceName)) {
-            schemaNode = getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                    serviceName);
-        }
-
-        if (schemaNode != null) {
-            String name = getEventClassName(schemaNode);
-
-            YsrAppContext appContext =
-                    yangRootSchemaStoreForNotification.get(name);
-            if (appContext != null && !appContext.isNotificationRegistered()) {
-                appContext.setNotificationRegistered(true);
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Returns schema node's generated interface class name.
-     *
-     * @param schemaNode schema node
-     * @return schema node's generated interface class name
-     */
-    private String getInterfaceClassName(YangSchemaNode schemaNode) {
-        return schemaNode.getJavaPackage() + PERIOD +
-                getCapitalCase(schemaNode.getJavaClassNameOrBuiltInType());
-    }
-
-    /**
-     * Returns schema node's generated op param class name.
-     *
-     * @param schemaNode schema node
-     * @return schema node's generated op param class name
-     */
-    private String getOpParamClassName(YangSchemaNode schemaNode) {
-        return getInterfaceClassName(schemaNode) + OP_PARAM;
-    }
-
-    /**
-     * Returns schema node's generated op param class name.
-     *
-     * @param schemaNode schema node
-     * @return schema node's generated op param class name
-     */
-    private String getDefaultClassName(YangSchemaNode schemaNode) {
-        return schemaNode.getJavaPackage() + PERIOD + getCapitalCase(DEFAULT) +
-                getCapitalCase(schemaNode.getJavaClassNameOrBuiltInType());
-    }
-
-    /**
-     * Returns schema node's generated event class name.
-     *
-     * @param schemaNode schema node
-     * @return schema node's generated event class name
-     */
-    private String getEventClassName(YangSchemaNode schemaNode) {
-        return getInterfaceClassName(schemaNode).toLowerCase() + PERIOD +
-                getCapitalCase(schemaNode.getJavaClassNameOrBuiltInType()) +
-                EVENT_STRING;
-    }
-
-    /**
-     * Returns schema node's generated service class name.
-     *
-     * @param schemaNode schema node
-     * @return schema node's generated service class name
-     */
-    private String getServiceName(YangSchemaNode schemaNode) {
-        return getInterfaceClassName(schemaNode) + SERVICE;
-    }
-
-    /**
-     * Returns YSR application context for schema map.
-     *
-     * @return YSR application context for schema map
-     */
-    YsrAppContext ysrContextForSchemaStore() {
-        return ysrContextForSchemaStore;
-    }
-
-    /**
-     * Sets YSR application context for schema map.
-     *
-     * @param context YSR application context for
-     *                schema map
-     */
-    void ysrContextForSchemaStore(YsrAppContext context) {
-        ysrContextForSchemaStore = context;
-    }
-
-    /**
-     * Returns YSR app context for application store.
-     *
-     * @return YSR app context for application store
-     */
-    YsrAppContext ysrContextForAppStore() {
-        return ysrContextForAppStore;
-    }
-
-    /**
-     * Retrieves schema node from the store and deletes jar file path.
-     *
-     * @param appName   application name
-     * @param store     YSR stores
-     * @param appObject applications object
-     * @return schema node from the store
-     */
-    private YangSchemaNode retrieveNodeForUnregister(
-            String appName,
-            ConcurrentMap<String, YsrAppContext> store, Object appObject) {
-
-        YsrAppContext curContext = store.get(appName);
-        boolean isValidObject;
-        if (curContext != null) {
-            isValidObject = verifyAppObject(appObject, curContext.appObject());
-            if (isValidObject) {
-                YangSchemaNode curNode = curContext.curNode();
-                //Delete all the generated ysr information in application's
-                // package.
-                removeYsrGeneratedTemporaryResources(curContext.jarPath(),
-                                                     appName);
-                return curNode;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Verifies the application object which needs to be unregistered.
-     *
-     * @param appObject current received application object
-     * @param context   stored application object
-     * @return true if objects are equal
-     */
-    private boolean verifyAppObject(Object appObject, Object context) {
-        if (appObject != null && context != null) {
-            return appObject.equals(context);
-        }
-        return appObject == null && context == null;
-    }
-
-    /**
-     * Removes YSR generated temporary resources.
-     *
-     * @param rscPath resource path
-     * @param appName application name
-     */
-    private void removeYsrGeneratedTemporaryResources(String rscPath,
-                                                      String appName) {
-        if (rscPath != null) {
-            File jarPath = new File(rscPath);
-            if (jarPath.exists()) {
-                try {
-                    deleteDirectory(jarPath);
-                } catch (IOException e) {
-                    log.error("failed to delete ysr resources for {} : {}",
-                              appName, e.getLocalizedMessage());
-                }
-            }
-        }
-    }
-
-    /**
-     * Removes from YANG schema store.
-     *
-     * @param curNode schema node
-     */
-    private void removeFromYangSchemaStore(YangSchemaNode curNode) {
-        removeSchemaNode(curNode);
-    }
-
-    /**
-     * Removes from YANG schema  notification store.
-     *
-     * @param curNode schema node
-     */
-    private void removeFromYangNotificationStore(YangSchemaNode curNode) {
-        yangRootSchemaStoreForNotification
-                .remove(getEventClassName(curNode));
-    }
-
-    /**
-     * Removes from app store.
-     *
-     * @param appName application name
-     */
-    private void removeFromAppSchemaStore(String appName) {
-        appObjectStore.remove(appName);
-    }
-
-    /**
-     * Removes from interface store.
-     *
-     * @param appName application name
-     */
-    private void removeFromYangSchemaNodeForRootInterface(String appName) {
-        yangSchemaStoreForRootInterface.remove(appName);
-    }
-
-    /**
-     * Removes from op param store.
-     *
-     * @param appName application name
-     */
-    private void removeFromYangSchemaNodeForRootOpParam(String appName) {
-        yangSchemaStoreForRootOpParam.remove(appName + OP_PARAM);
-    }
-
-    /**
-     * Removes YANG file information from file store.
-     *
-     * @param schemaNode schema node
-     */
-    private void removeYangFileInfoFromStore(YangSchemaNode schemaNode) {
-        yangFileStore.remove(getModuleIdentifier(schemaNode));
-    }
-
-    /**
-     * Verifies if class with given name exists.
-     *
-     * @param appName application name
-     * @return true if class exists
-     */
-    boolean verifyClassExistence(String appName) {
-        try {
-            classLoader.loadClass(appName);
-            return true;
-        } catch (ClassNotFoundException e) {
-            return false;
-        }
-    }
-
-    /**
-     * Clears database for YSR.
-     */
-    public void flushYsrData() {
-        appObjectStore.clear();
-        yangSchemaStore.clear();
-        yangRootSchemaStoreForNotification.clear();
-        yangSchemaStoreForRootOpParam.clear();
-        yangSchemaStoreForRootInterface.clear();
-        registerClassStore.clear();
-        yangFileStore.clear();
-    }
-
-    /**
-     * Sets class loader of registered class.
-     *
-     * @param classLoader class loader of registered class
-     */
-    void setClassLoader(ClassLoader classLoader) {
-        this.classLoader = classLoader;
-    }
-
-    /**
-     * Process module library for a registered service.
-     *
-     * @param node YANG schema nodes
-     */
-    private void processModuleLibrary(YangNode node) {
-        YangModuleInformation moduleInformation =
-                new DefaultYangModuleInformation(getModuleIdentifier(node),
-                                                 node.getNameSpace());
-        addSubModuleIdentifier(node, (
-                DefaultYangModuleInformation) moduleInformation);
-        //TODO: add feature list to module information.
-        ((DefaultYangModuleLibrary) library)
-                .addModuleInformation(moduleInformation);
-    }
-
-    /**
      * Adds sub module identifier.
      *
      * @param node        schema node
@@ -1026,11 +671,66 @@
     }
 
     /**
-     * Returns module library.
+     * Returns schema node's generated interface class name.
      *
-     * @return module library
+     * @param schemaNode schema node
+     * @return schema node's generated interface class name
      */
-    public YangModuleLibrary getLibrary() {
-        return library;
+    String getInterfaceClassName(YangSchemaNode schemaNode) {
+        return schemaNode.getJavaPackage() + PERIOD +
+                getCapitalCase(schemaNode.getJavaClassNameOrBuiltInType());
     }
-}
+
+    /**
+     * Returns schema node's generated op param class name.
+     *
+     * @param schemaNode schema node
+     * @return schema node's generated op param class name
+     */
+    private String getOpParamClassName(YangSchemaNode schemaNode) {
+        return getInterfaceClassName(schemaNode) + OP_PARAM;
+    }
+
+    /**
+     * Returns schema node's generated event class name.
+     *
+     * @param schemaNode schema node
+     * @return schema node's generated event class name
+     */
+    private String getEventClassName(YangSchemaNode schemaNode) {
+        return getInterfaceClassName(schemaNode).toLowerCase() + PERIOD +
+                getCapitalCase(schemaNode.getJavaClassNameOrBuiltInType()) +
+                EVENT_STRING;
+    }
+
+    /**
+     * Returns schema node's generated service class name.
+     *
+     * @param schemaNode schema node
+     * @return schema node's generated service class name
+     */
+    String getServiceName(YangSchemaNode schemaNode) {
+        return getInterfaceClassName(schemaNode) + SERVICE;
+    }
+
+    /**
+     * Removes YSR generated temporary resources.
+     *
+     * @param rscPath resource path
+     * @param appName application name
+     */
+    private void removeYsrGeneratedTemporaryResources(String rscPath,
+                                                      String appName) {
+        if (rscPath != null) {
+            File jarPath = new File(rscPath);
+            if (jarPath.exists()) {
+                try {
+                    deleteDirectory(jarPath);
+                } catch (IOException e) {
+                    log.error("failed to delete ysr resources for {} : {}",
+                              appName, e.getLocalizedMessage());
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/YangSchemaRegistry.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/YangSchemaRegistry.java
index 8098188..ed5d95a 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/YangSchemaRegistry.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/YangSchemaRegistry.java
@@ -17,6 +17,8 @@
 package org.onosproject.yms.app.ysr;
 
 import org.onosproject.yangutils.datamodel.YangSchemaNode;
+import org.onosproject.yms.ysr.YangModuleIdentifier;
+import org.onosproject.yms.ysr.YangModuleLibrary;
 
 /**
  * Abstraction of entity which provides interfaces to YANG schema registry.
@@ -27,7 +29,8 @@
      * Registers applications to YMS.
      *
      * @param managerObject application's object
-     * @param serviceClass  service class to be registered
+     * @param serviceClass  service class which needs to be
+     *                      registered
      */
     void registerApplication(Object managerObject, Class<?> serviceClass);
 
@@ -96,9 +99,46 @@
      * Returns registered service class.
      *
      * @param schemaNode YANG schema node
-     * @param appName    application's name
      * @return registered service class
      */
-    Class<?> getRegisteredClass(YangSchemaNode schemaNode, String appName);
+    Class<?> getRegisteredClass(YangSchemaNode schemaNode);
+
+    /**
+     * Verifies if the manager object is already registered with notification
+     * handler.
+     *
+     * @param appObj  application object
+     * @param service service class
+     * @return true if the manager object is already registered with
+     * notification handler
+     */
+    boolean verifyNotificationObject(Object appObj, Class<?> service);
+
+    /**
+     * Clears database for YSR.
+     */
+    void flushYsrData();
+
+    /**
+     * Protocols like RESTCONF, use the definitions within the YANG modules
+     * advertised by the server are used to construct an RPC operation or
+     * data resource identifier.
+     * <p>
+     * Schema Resource:
+     * The server can optionally support retrieval of the YANG modules it
+     * supports.
+     *
+     * @param moduleIdentifier module's identifier
+     * @return YANG file contents of the requested YANG module.
+     */
+    String getYangFile(YangModuleIdentifier moduleIdentifier);
+
+    /**
+     * Process module library for a registered service.
+     *
+     * @param serviceName service class name
+     * @param library     YANG module library
+     */
+    void processModuleLibrary(String serviceName, YangModuleLibrary library);
 
 }
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/YsrAppContext.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/YsrAppContext.java
deleted file mode 100644
index 4f076ab..0000000
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/YsrAppContext.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ysr;
-
-import com.google.common.collect.ImmutableMap;
-import org.onosproject.yangutils.datamodel.YangSchemaNode;
-
-import java.util.Map;
-import java.util.Objects;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
-/**
- * Represents registered application's context for YANG schema registry.
- */
-public class YsrAppContext {
-
-    /**
-     * Current application's YANG schema node.
-     */
-    private YangSchemaNode curNode;
-
-    /**
-     * Current application's YANG schema node with different revision store.
-     */
-    private final ConcurrentMap<String, YangSchemaNode>
-            multiRevisionSchemaNodeStore;
-
-    /**
-     * Current application's object.
-     */
-    private Object appObject;
-
-    /**
-     * Jar file path.
-     */
-    private String jarPath;
-
-    /**
-     * If for current object notification is registered.
-     */
-    private boolean isNotificationRegistered;
-
-    /**
-     * Creates an instance of YANG schema registry application context.
-     */
-    YsrAppContext() {
-        multiRevisionSchemaNodeStore = new ConcurrentHashMap<>();
-    }
-
-    /**
-     * Returns current application's object.
-     *
-     * @return current application's object
-     */
-    Object appObject() {
-        return appObject;
-    }
-
-    /**
-     * Sets current application's object.
-     *
-     * @param appObject current application's object
-     */
-    void appObject(Object appObject) {
-        this.appObject = appObject;
-    }
-
-    /**
-     * Returns current application's YANG schema node.
-     *
-     * @return current application's YANG schema node
-     */
-    YangSchemaNode curNode() {
-        return curNode;
-    }
-
-    /**
-     * Sets current application's schema node.
-     *
-     * @param node current schema's node
-     */
-    void curNode(YangSchemaNode node) {
-        curNode = node;
-    }
-
-    /**
-     * Returns jar file path.
-     *
-     * @return jar file path
-     */
-    String jarPath() {
-        return jarPath;
-    }
-
-    /**
-     * Sets jar file path.
-     *
-     * @param jarPath jar file path
-     */
-    void jarPath(String jarPath) {
-        this.jarPath = jarPath;
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(curNode, appObject);
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj instanceof YsrAppContext) {
-            YsrAppContext that = (YsrAppContext) obj;
-            return Objects.equals(curNode, that.curNode) &&
-                    Objects.equals(appObject, that.appObject);
-        }
-        return false;
-    }
-
-    /**
-     * Returns true if for application object notification is registered.
-     *
-     * @return true if for application object notification is registered
-     */
-    boolean isNotificationRegistered() {
-        return isNotificationRegistered;
-    }
-
-    /**
-     * Sets true if for application object notification is registered.
-     *
-     * @param notificationRegistered true if for application object notification is registered
-     */
-    void setNotificationRegistered(boolean notificationRegistered) {
-        isNotificationRegistered = notificationRegistered;
-    }
-
-    /**
-     * Returns YANG schema node store for specific revision.
-     *
-     * @return YANG schema node store for specific revision
-     */
-    Map<String, YangSchemaNode> getYangSchemaNodeForRevisionStore() {
-        return ImmutableMap.copyOf(multiRevisionSchemaNodeStore);
-    }
-
-    /**
-     * Returns a schema node for specific revision from store.
-     *
-     * @param nodeNameWithRevision schema node name for specific revision
-     * @return schema node for specific revision.
-     */
-    YangSchemaNode getSchemaNodeForRevisionStore(String nodeNameWithRevision) {
-        return multiRevisionSchemaNodeStore.get(nodeNameWithRevision);
-    }
-
-    /**
-     * Removes a schema node of specific revision from store.
-     *
-     * @param nodeNameWithRevision schema node name for specific revision
-     */
-    void removeSchemaNodeForRevisionStore(String nodeNameWithRevision) {
-        multiRevisionSchemaNodeStore.remove(nodeNameWithRevision);
-    }
-
-    /**
-     * Adds schema node with revision from store.
-     *
-     * @param nodeNameWithRevision schema node name for specific revision
-     * @param schemaNode           schema node for specific revision
-     */
-    void addSchemaNodeWithRevisionStore(String nodeNameWithRevision, YangSchemaNode schemaNode) {
-        multiRevisionSchemaNodeStore.put(nodeNameWithRevision, schemaNode);
-    }
-}
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ytb/YtbUtil.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ytb/YtbUtil.java
index 8329c9f..b81743b 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ytb/YtbUtil.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ytb/YtbUtil.java
@@ -229,8 +229,8 @@
         YangNode moduleNode = curNode.getParent();
         String moduleName = moduleNode.getJavaClassNameOrBuiltInType();
         String modulePackage = moduleNode.getJavaPackage();
-        return registry.getRegisteredClass(moduleNode,
-                                           modulePackage + PERIOD + moduleName);
+        return registry.getRegisteredClass(moduleNode
+        );
     }
 
     /**
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/util/YdtNodeAdapter.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/util/YdtNodeAdapter.java
deleted file mode 100644
index 639c60d..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/util/YdtNodeAdapter.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.util;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.onosproject.yangutils.datamodel.YangSchemaNode;
-import org.onosproject.yangutils.datamodel.YangSchemaNodeContextInfo;
-import org.onosproject.yangutils.datamodel.YangSchemaNodeIdentifier;
-import org.onosproject.yms.ydt.YdtContext;
-import org.onosproject.yms.ydt.YdtContextOperationType;
-import org.onosproject.yms.ydt.YdtExtendedInfoType;
-import org.onosproject.yms.ydt.YdtType;
-import org.onosproject.yms.app.ydt.YdtNode;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.app.ydt.AppType;
-
-/**
- * Represents implementation of interfaces to build and obtain YANG data tree.
- */
-public class YdtNodeAdapter<T> implements YdtExtendedContext {
-
-    /**
-     * Parent reference.
-     */
-    private YdtNodeAdapter parent;
-
-    /**
-     * First child reference.
-     */
-    private YdtNodeAdapter child;
-
-    /**
-     * Next sibling reference.
-     */
-    private YdtNodeAdapter nextSibling;
-
-    /**
-     * Previous sibling reference.
-     */
-    private YdtNodeAdapter previousSibling;
-
-    /**
-     * Last child reference.
-     */
-    private YdtNode lastChild;
-
-    /**
-     * Type of node.
-     */
-    private YdtType ydtType;
-
-    /**
-     * Flag to keep the track of context switch.
-     */
-    private boolean isContextSwitch;
-
-    private T ydtExtendedInfo;
-
-    /**
-     * YDT extended information type.
-     */
-    YdtExtendedInfoType ydtExtendedInfoType;
-
-    /**
-     * Ydt map to keep the track of node added in YDT.
-     */
-    private Map<YangSchemaNodeIdentifier, List<YdtNode<T>>> ydtNodeMap = new HashMap<>();
-
-    /**
-     * Reference for data-model schema node.
-     */
-    private YangSchemaNode yangSchemaNode;
-
-    /**
-     * Reference for ydt node operation type.
-     */
-    private YdtContextOperationType ydtContextOperationType;
-
-    /**
-     * Key object for ydtNodeMap.
-     */
-    protected YangSchemaNodeIdentifier nodeIdentifier;
-
-    /**
-     * Ydt map to keep the track of application information object with respective type.
-     */
-    Map<AppType, Object> ydtAppInfoMap = new HashMap<>();
-
-
-    /**
-     * Creation of YANG node object.
-     */
-    public YdtNodeAdapter() {
-    }
-
-    /**
-     * Creates a specific type of node.
-     *
-     * @param type of YDT node
-     * @param name name of the YDT node
-     */
-    public YdtNodeAdapter(YdtType type, String name) {
-        setYdtType(type);
-    }
-
-    @Override
-    public String getName() {
-        return this.nodeIdentifier.getName();
-    }
-
-    @Override
-    public String getNamespace() {
-        return this.nodeIdentifier.getNameSpace();
-    }
-
-    @Override
-    public <T> T getYdtContextExtendedInfo() {
-        return (T) ydtExtendedInfo;
-    }
-
-    @Override
-    public YdtExtendedInfoType getYdtExtendedInfoType() {
-        return ydtExtendedInfoType;
-    }
-
-    @Override
-    public YdtType getYdtType() {
-        return ydtType;
-    }
-
-    /**
-     * Sets the node type.
-     *
-     * @param ydtType type of YDT attribute
-     */
-    public void setYdtType(YdtType ydtType) {
-        this.ydtType = ydtType;
-    }
-
-    @Override
-    public YdtNodeAdapter getParent() {
-        return parent;
-    }
-
-    /**
-     * Sets the parent of node.
-     *
-     * @param parent node
-     */
-    public void setParent(YdtNodeAdapter parent) {
-        this.parent = parent;
-    }
-
-    @Override
-    public YdtNodeAdapter getFirstChild() {
-        return child;
-    }
-
-    @Override
-    public YdtNodeAdapter getNextSibling() {
-        return nextSibling;
-    }
-
-    /**
-     * Sets the next sibling of node.
-     *
-     * @param sibling YANG node
-     */
-    public void setNextSibling(YdtNodeAdapter sibling) {
-        nextSibling = sibling;
-    }
-
-    @Override
-    public YdtNodeAdapter getPreviousSibling() {
-        return previousSibling;
-    }
-
-    /**
-     * Sets the previous sibling.
-     *
-     * @param previousSibling points to predecessor sibling
-     */
-    public void setPreviousSibling(YdtNodeAdapter previousSibling) {
-        this.previousSibling = previousSibling;
-    }
-
-    /**
-     * Returns data-model node reference for of a given node.
-     *
-     * @return yang schema data node of a data-model.
-     */
-    public YangSchemaNode getYangSchemaNode() {
-        return yangSchemaNode;
-    }
-
-    /**
-     * Sets the data-model node reference for of a given node..
-     *
-     * @param yangSchemaNode YANG data node.
-     */
-    public void setYangSchemaNode(YangSchemaNode yangSchemaNode) {
-        this.yangSchemaNode = yangSchemaNode;
-    }
-
-    @Override
-    public YdtNode getLastChild() {
-        return lastChild;
-    }
-
-    /**
-     * Sets the last instance of a child node.
-     *
-     * @param child is last child to be set
-     */
-    public void setLastChild(YdtNode child) {
-        this.lastChild = child;
-    }
-
-    public void setNodeIdentifier(YangSchemaNodeIdentifier nodeIdentifier) {
-        this.nodeIdentifier = nodeIdentifier;
-    }
-
-    /**
-     * Adds a child node.
-     *
-     * @param newChild refers to a child to be added
-     */
-    public void addChild(YdtContext newChild) {
-
-        ((YdtNodeAdapter) newChild).setParent(this);
-
-        if (this.child == null) {
-            this.child = (YdtNodeAdapter) newChild;
-            return;
-        }
-
-        YdtNodeAdapter currNode = this.child;
-        while (currNode.getNextSibling() != null) {
-            currNode = currNode.getNextSibling();
-        }
-        currNode.setNextSibling((YdtNodeAdapter) newChild);
-        ((YdtNodeAdapter) newChild).setPreviousSibling(currNode);
-    }
-
-    /**
-     * Adds a sibling to YANG data tree.
-     *
-     * @param newSibling context of sibling to be added
-     */
-    public void addSibling(YdtContext newSibling) {
-
-        ((YdtNodeAdapter) newSibling).setParent(this.getParent());
-
-        YdtNodeAdapter currNode = this;
-
-        while (currNode.getNextSibling() != null) {
-            currNode = currNode.getNextSibling();
-        }
-        currNode.setNextSibling((YdtNodeAdapter) newSibling);
-        ((YdtNodeAdapter) newSibling).setPreviousSibling(currNode);
-    }
-
-    /**
-     * Gets the flag for node if context switch.
-     *
-     * @return isContextSwitch flag of a node.
-     */
-    public boolean getContextSwitch() {
-        return isContextSwitch;
-    }
-
-    /**
-     * Sets the flag to keep the track of context switch.
-     *
-     * @param contextSwitch boolean flag.
-     */
-    public void setContextSwitch(boolean contextSwitch) {
-        isContextSwitch = contextSwitch;
-    }
-
-    @Override
-    public String getValue() {
-        return null;
-    }
-
-    @Override
-    public Set<String> getValueSet() {
-        return null;
-    }
-
-    @Override
-    public YangSchemaNodeContextInfo getSchemaNodeContextInfo(YangSchemaNodeIdentifier nodeIdentifier) {
-        return null;
-    }
-
-    @Override
-    public Object getAppInfo(AppType appType) {
-        return null;
-    }
-
-    @Override
-    public YdtContextOperationType getYdtContextOperationType() {
-        return ydtContextOperationType;
-    }
-
-    @Override
-    public void addAppInfo(AppType appType, Object o) {
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yab/MockYmsManager.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yab/MockYmsManager.java
deleted file mode 100644
index 22f4fd9..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yab/MockYmsManager.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yab;
-
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ysr.TestYangSchemaNodeProvider;
-import org.onosproject.yms.app.ysr.YangSchemaRegistry;
-import org.onosproject.yms.ych.YangCodecHandler;
-import org.onosproject.yms.ych.YangDataTreeCodec;
-import org.onosproject.yms.ych.YangProtocolEncodingFormat;
-import org.onosproject.yms.ydt.YdtBuilder;
-import org.onosproject.yms.ydt.YdtResponse;
-import org.onosproject.yms.ydt.YdtWalker;
-import org.onosproject.yms.ydt.YmsOperationType;
-import org.onosproject.yms.ymsm.YmsService;
-import org.onosproject.yms.ynh.YangNotificationService;
-import org.onosproject.yms.ysr.YangModuleIdentifier;
-import org.onosproject.yms.ysr.YangModuleLibrary;
-
-import java.util.List;
-
-/**
- * Represents implementation of YANG application management system manager.
- */
-public class MockYmsManager
-        implements YmsService {
-
-    YangSchemaRegistry schemaRegistry;
-    TestYangSchemaNodeProvider testYangSchemaNodeProvider =
-            new TestYangSchemaNodeProvider();
-
-    @Override
-    public YdtBuilder getYdtBuilder(String logicalRootName,
-                                    String rootNamespace,
-                                    YmsOperationType operationType) {
-        testYangSchemaNodeProvider.processSchemaRegistry(new TestManager());
-        schemaRegistry = testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-        return new YangRequestWorkBench(logicalRootName, rootNamespace,
-                                        operationType, schemaRegistry, false);
-    }
-
-    @Override
-    public YdtBuilder getYdtBuilder(String logicalRootName,
-                                    String rootNamespace,
-                                    YmsOperationType operationType,
-                                    Object schemaRegistryForYdt) {
-        return null;
-    }
-
-    @Override
-    public YdtWalker getYdtWalker() {
-        return null;
-    }
-
-    @Override
-    public YdtResponse executeOperation(YdtBuilder operationRequest) {
-        YangApplicationBroker requestBroker =
-                new YangApplicationBroker(schemaRegistry);
-        switch (operationRequest.getYmsOperationType()) {
-            case EDIT_CONFIG_REQUEST:
-                try {
-                    return requestBroker.processEdit(operationRequest);
-                } catch (CloneNotSupportedException e) {
-                }
-                break;
-            case QUERY_CONFIG_REQUEST:
-            case QUERY_REQUEST:
-                return requestBroker.processQuery(operationRequest);
-            case RPC_REQUEST:
-                return requestBroker.processOperation(operationRequest);
-            default:
-        }
-        return null;
-    }
-
-    @Override
-    public YangNotificationService getYangNotificationService() {
-        return null;
-    }
-
-    @Override
-    public void registerService(Object appManager, Class<?> yangService,
-                                List<String> supportedFeatureList) {
-    }
-
-    @Override
-    public void unRegisterService(Object appManager, Class<?> yangService) {
-
-    }
-
-    @Override
-    public YangModuleLibrary getYangModuleLibrary() {
-        return null;
-    }
-
-    @Override
-    public String getYangFile(YangModuleIdentifier moduleIdentifier) {
-        return null;
-    }
-
-    @Override
-    public void registerDefaultCodec(YangDataTreeCodec defaultCodec,
-                                     YangProtocolEncodingFormat dataFormat) {
-    }
-
-    @Override
-    public YangCodecHandler getYangCodecHandler() {
-        return null;
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yab/TestManager.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yab/TestManager.java
deleted file mode 100644
index c07a18f..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yab/TestManager.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yab;
-
-import org.onosproject.yang.gen.v1.ydt.test.rev20160524.Test;
-import org.onosproject.yang.gen.v1.ydt.test.rev20160524.TestOpParam;
-import org.onosproject.yang.gen.v1.ydt.test.rev20160524.TestService;
-import org.onosproject.yang.gen.v1.ydt.test.rev20160524.test.Cont1;
-import org.onosproject.yang.gen.v1.ydt.test.rev20160524.test.DefaultCont1;
-import org.onosproject.yang.gen.v1.ydt.test.rev20160524.test.rockthehouse.DefaultRockTheHouseOutput;
-import org.onosproject.yang.gen.v1.ydt.test.rev20160524.test.rockthehouse.RockTheHouseInput;
-import org.onosproject.yang.gen.v1.ydt.test.rev20160524.test.rockthehouse.RockTheHouseOutput;
-import org.onosproject.yang.gen.v1.ydt.test.rev20160524.test.rockthehouse1.RockTheHouse1Input;
-import org.onosproject.yang.gen.v1.ydt.test.rev20160524.test.rockthehouse2.DefaultRockTheHouse2Output;
-import org.onosproject.yang.gen.v1.ydt.test.rev20160524.test.rockthehouse2.RockTheHouse2Output;
-
-/**
- * Implementation of the application management service.
- */
-public class TestManager implements TestService {
-
-    Test response;
-
-    @Override
-    public Test getTest(TestOpParam test) {
-        Cont1 cont = new DefaultCont1.Cont1Builder().leaf4("4").build();
-        Test response = new TestOpParam.TestBuilder().cont1(cont).build();
-        return response;
-    }
-
-    @Override
-    public void setTest(TestOpParam test) {
-        response = test;
-    }
-
-    @Override
-    public Test getAugmentedTestCont4(TestOpParam test) {
-        Cont1 cont = new DefaultCont1.Cont1Builder().leaf4("4").build();
-        Test response = new TestOpParam.TestBuilder().cont1(cont).build();
-        return response;
-    }
-
-    @Override
-    public void setAugmentedTestCont4(TestOpParam augmentedTestCont4) {
-        response = augmentedTestCont4;
-    }
-
-    @Override
-    public RockTheHouseOutput rockTheHouse(RockTheHouseInput inputVar) {
-        return DefaultRockTheHouseOutput.builder().hello("hello").build();
-    }
-
-
-    @Override
-    public void rockTheHouse1(RockTheHouse1Input inputVar) {
-        // TODO : to be implemented
-    }
-
-    @Override
-    public RockTheHouse2Output rockTheHouse2() {
-        return DefaultRockTheHouse2Output
-                .builder().leaf14("14").build();
-    }
-
-    @Override
-    public void rockTheHouse3() {
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yab/YangApplicationBrokerTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yab/YangApplicationBrokerTest.java
deleted file mode 100644
index 0d77306..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yab/YangApplicationBrokerTest.java
+++ /dev/null
@@ -1,1088 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yab;
-
-import org.junit.Test;
-import org.onosproject.yangutils.datamodel.YangAugment;
-import org.onosproject.yangutils.datamodel.YangNode;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtAppContext;
-import org.onosproject.yms.app.ydt.YdtAppNodeOperationType;
-import org.onosproject.yms.app.ydt.YdtNode;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.core.Is.is;
-import static org.onosproject.yms.ydt.YdtContextOperationType.DELETE;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-import static org.onosproject.yms.ydt.YmsOperationType.EDIT_CONFIG_REQUEST;
-import static org.onosproject.yms.ydt.YmsOperationType.QUERY_CONFIG_REQUEST;
-import static org.onosproject.yms.ydt.YmsOperationType.RPC_REQUEST;
-
-/**
- * Unit test case for YANG application broker.
- */
-public class YangApplicationBrokerTest {
-
-    MockYmsManager ymsManager = new MockYmsManager();
-
-    /**
-     * Returns YANG data tree to check edit operation of container.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtForEditOperationWithoutDelete() {
-        String rootName = "root";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                EDIT_CONFIG_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test", MERGE);
-        defaultYdtBuilder.addChild("cont1", null, MERGE);
-        defaultYdtBuilder.addChild("cont2", null, MERGE);
-        defaultYdtBuilder.addChild("cont3", null, MERGE);
-        defaultYdtBuilder.addLeaf("leaf1", null, "1");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf4", null, "4");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addChild("cont4", null, MERGE);
-        defaultYdtBuilder.addChild("cont5", null, MERGE);
-        defaultYdtBuilder.addLeaf("leaf9", null, "9");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf10", null, "10");
-        return defaultYdtBuilder;
-    }
-
-    private YangRequestWorkBench buildYdtForKeyLeavesInDeleteTree() {
-        String rootName = "root";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                EDIT_CONFIG_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test", MERGE);
-        defaultYdtBuilder.addChild("list2", null, MERGE);
-        defaultYdtBuilder.addLeaf("leaf5", null, "5");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf6", null, "6");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf7", null, "7");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addChild("cont7", null, DELETE);
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to check delete operation of container.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtForEditOperationWithDelete() {
-        String rootName = "rootNode";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                EDIT_CONFIG_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test", MERGE);
-        defaultYdtBuilder.addChild("cont1", null, MERGE);
-        defaultYdtBuilder.addChild("cont2", null, DELETE);
-        defaultYdtBuilder.addChild("cont3", null, DELETE);
-        defaultYdtBuilder.addLeaf("leaf1", null, "1");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf4", null, "4");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addChild("cont4", null, DELETE);
-        defaultYdtBuilder.addChild("cont5", null, DELETE);
-        defaultYdtBuilder.addLeaf("leaf9", null, "9");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf10", null, "10");
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to check edit operation of list.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtForListEditOperationWithoutDelete() {
-        String rootName = "listWithoutDelete";
-        Set<String> valueSet = new HashSet<>();
-        valueSet.add("10");
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                EDIT_CONFIG_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test", MERGE);
-        defaultYdtBuilder.addChild("cont1", null, MERGE);
-        defaultYdtBuilder.addChild("list1", null, MERGE);
-        defaultYdtBuilder.addLeaf("leaf2", null, "2");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf3", null, "3");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf4", null, "4");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addChild("list2", null, MERGE);
-        defaultYdtBuilder.addLeaf("leaf5", null, "5");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf6", null, "6");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf7", null, "7");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaflist8", null, valueSet);
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf10", null, "10");
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to check delete operation of list.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtForListEditOperationWithDelete() {
-        String rootName = "listWithDelete";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                EDIT_CONFIG_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test", MERGE);
-        defaultYdtBuilder.addChild("cont1", null, MERGE);
-        defaultYdtBuilder.addChild("list1", null, DELETE);
-        defaultYdtBuilder.addLeaf("leaf2", null, "2");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf3", null, "3");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf4", null, "4");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addChild("list2", null, DELETE);
-        defaultYdtBuilder.addLeaf("leaf5", null, "5");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf6", null, "6");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf10", null, "10");
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to check query operation of container.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtForQueryOperation() {
-        String rootName = "root";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                QUERY_CONFIG_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test");
-        defaultYdtBuilder.addChild("cont1", null);
-        defaultYdtBuilder.addChild("cont2", null);
-        defaultYdtBuilder.addChild("cont3", null);
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addChild("cont4", null);
-        defaultYdtBuilder.addChild("cont5", null);
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to check query operation of list.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtForListQueryOperation() {
-        String rootName = "listQuery";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                QUERY_CONFIG_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test");
-        defaultYdtBuilder.addChild("cont1", null);
-        defaultYdtBuilder.addChild("list1", null);
-        defaultYdtBuilder.addLeaf("leaf2", null, "2");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addChild("list2", null);
-        defaultYdtBuilder.addLeaf("leaf5", null, "5");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf6", null, "6");
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to check delete operation of a node.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtWithOneDeleteNode() {
-        String rootName = "root";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                EDIT_CONFIG_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test");
-        defaultYdtBuilder.addChild("cont1", null, MERGE);
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addChild("cont4", null, DELETE);
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf10", null, "10");
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to check delete operation of last node.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtWithDeleteNodeAsLastChild() {
-        String rootName = "root";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                EDIT_CONFIG_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test", MERGE);
-        defaultYdtBuilder.addChild("cont1", null, MERGE);
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addChild("list2", null, MERGE);
-        defaultYdtBuilder.addLeaf("leaf5", null, "10");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf6", null, "10");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addChild("cont4", null, DELETE);
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to with delete operation of all the nodes.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtWithAllDeleteNode() {
-        String rootName = "root";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                EDIT_CONFIG_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test", DELETE);
-        defaultYdtBuilder.addChild("cont1", null, DELETE);
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addChild("list2", null, DELETE);
-        defaultYdtBuilder.addLeaf("leaf5", null, "10");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addLeaf("leaf6", null, "10");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addChild("cont4", null, DELETE);
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to check rpc operation with only input.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtForRpcWithOnlyInput() {
-        String rootName = "root";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                RPC_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test");
-        defaultYdtBuilder.addChild("rock-the-house1", null);
-        defaultYdtBuilder.addChild("input", null);
-        defaultYdtBuilder.addLeaf("leaf13", null, "5");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to check rpc operation with only output.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtForRpcWithOnlyOutput() {
-        String rootName = "root";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                RPC_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test");
-        defaultYdtBuilder.addChild("rock-the-house2", null);
-        defaultYdtBuilder.addChild("output", null);
-        defaultYdtBuilder.addLeaf("leaf14", null, "14");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to check rpc operation with both input and output.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtForRpcWithBothInputOutput() {
-        String rootName = "root";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                RPC_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test");
-        defaultYdtBuilder.addChild("rock-the-house", null);
-        defaultYdtBuilder.addChild("input", null);
-        defaultYdtBuilder.addLeaf("zip-code", null, "5");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.addChild("output", null);
-        defaultYdtBuilder.addLeaf("hello", null, "5");
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to check rpc operation.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtForRpc() {
-        String rootName = "root";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                RPC_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test");
-        defaultYdtBuilder.addChild("rock-the-house3", null);
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to check query operation with multiple level of
-     * augment.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtForQueryWithMultipleAugment() {
-        String rootName = "root";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                QUERY_CONFIG_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test");
-        defaultYdtBuilder.traverseToParent();
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Returns YANG data tree to check delete operation with multiple level of
-     * augment.
-     *
-     * @return YANG data tree
-     */
-    private YangRequestWorkBench buildYdtForDeleteWithMultipleAugment() {
-        String rootName = "root";
-        YangRequestWorkBench defaultYdtBuilder =
-                (YangRequestWorkBench) ymsManager.getYdtBuilder(rootName, null,
-                                                                EDIT_CONFIG_REQUEST);
-        defaultYdtBuilder.addChild("test", "ydt.test");
-        defaultYdtBuilder.addChild("cont4", null, DELETE);
-        defaultYdtBuilder.traverseToParent();
-        defaultYdtBuilder.traverseToParent();
-        return defaultYdtBuilder;
-    }
-
-    /**
-     * Checks whether YANG data tree and delete tree is correct.
-     */
-    @Test
-    public void validateDeleteTreeOnlyOneNodeInDeleteList()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtForEditOperationWithDelete();
-        YdtAppContext appContext =
-                defaultYdtBuilder.getAppRootNode().getFirstChild();
-        YdtContext ydtContext = appContext.getModuleContext();
-        List<YdtContext> deleteNodes = appContext.getDeleteNodes();
-
-        YdtContext cont1YdtContext;
-        YdtContext cont2YdtContext;
-        YdtContext cont3YdtContext;
-        YdtContext cont4YdtContext;
-        YdtContext deleteTree;
-
-        // verify whether ydt tree is correct
-        assertThat(ydtContext.getName(), is("test"));
-
-        cont1YdtContext = ydtContext.getFirstChild();
-        assertThat(cont1YdtContext.getName(), is("cont1"));
-
-        cont2YdtContext = cont1YdtContext.getFirstChild();
-        assertThat(cont2YdtContext.getName(), is("cont2"));
-
-        cont3YdtContext = cont2YdtContext.getFirstChild();
-        assertThat(cont3YdtContext.getName(), is("cont3"));
-
-        ydtContext = cont3YdtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("leaf1"));
-        assertThat(ydtContext.getValue(), is("1"));
-
-        ydtContext = cont2YdtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf4"));
-        assertThat(ydtContext.getValue(), is("4"));
-
-        cont4YdtContext = cont1YdtContext.getNextSibling();
-        assertThat(cont4YdtContext.getName(), is("cont4"));
-
-        ydtContext = cont4YdtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("cont5"));
-
-        ydtContext = ydtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("leaf9"));
-        assertThat(ydtContext.getValue(), is("9"));
-
-        ydtContext = cont4YdtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf10"));
-        assertThat(ydtContext.getValue(), is("10"));
-
-        // build delete tree
-        YangApplicationBroker yab = new YangApplicationBroker(null);
-        deleteTree = yab.buildDeleteTree(deleteNodes);
-
-        // verify whether delete ydt tree is correct
-        assertThat(deleteTree.getFirstChild().getName(), is("test"));
-
-        cont1YdtContext = deleteTree.getFirstChild().getFirstChild();
-        assertThat(cont1YdtContext.getName(), is("cont1"));
-
-        cont2YdtContext = cont1YdtContext.getFirstChild();
-        assertThat(cont2YdtContext.getName(), is("cont2"));
-
-        cont3YdtContext = cont2YdtContext.getFirstChild();
-        assertThat(cont3YdtContext.getName(), is("cont3"));
-
-        ydtContext = cont3YdtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("leaf1"));
-        assertThat(ydtContext.getValue(), is("1"));
-
-        assertThat(cont2YdtContext.getNextSibling(), nullValue());
-
-        cont4YdtContext = cont1YdtContext.getNextSibling();
-        assertThat(cont4YdtContext.getName(), is("cont4"));
-
-        ydtContext = cont4YdtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("cont5"));
-
-        ydtContext = ydtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("leaf9"));
-        assertThat(ydtContext.getValue(), is("9"));
-
-        assertThat(cont4YdtContext.getNextSibling(), nullValue());
-
-        // ydtTree after removing delete nodes
-        ydtContext = appContext.getModuleContext();
-        assertThat(ydtContext.getName(), is("test"));
-
-        cont1YdtContext = ydtContext.getFirstChild();
-        assertThat(cont1YdtContext.getName(), is("cont1"));
-
-        ydtContext = cont1YdtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("leaf4"));
-        assertThat(ydtContext.getValue(), is("4"));
-
-        ydtContext = cont1YdtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf10"));
-        assertThat(ydtContext.getValue(), is("10"));
-    }
-
-    /**
-     * Checks whether YANG data tree and delete tree is correct.
-     */
-    @Test
-    public void validateListDeleteTree()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtForListEditOperationWithDelete();
-        YdtAppContext appContext =
-                defaultYdtBuilder.getAppRootNode().getFirstChild();
-        YdtContext ydtContext = appContext.getModuleContext();
-        List<YdtContext> deleteNodes = appContext.getDeleteNodes();
-
-        YdtContext cont1YdtContext;
-        YdtContext list1YdtContext;
-        YdtContext list2YdtContext;
-        YdtContext deleteTree;
-
-        // verify whether ydt tree is correct
-        assertThat(ydtContext.getName(), is("test"));
-
-        cont1YdtContext = ydtContext.getFirstChild();
-        assertThat(cont1YdtContext.getName(), is("cont1"));
-
-        list1YdtContext = cont1YdtContext.getFirstChild();
-        assertThat(list1YdtContext.getName(), is("list1"));
-
-        ydtContext = list1YdtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("leaf2"));
-        assertThat(ydtContext.getValue(), is("2"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf3"));
-        assertThat(ydtContext.getValue(), is("3"));
-
-        ydtContext = list1YdtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf4"));
-        assertThat(ydtContext.getValue(), is("4"));
-
-        list2YdtContext = cont1YdtContext.getNextSibling();
-        assertThat(list2YdtContext.getName(), is("list2"));
-
-        ydtContext = list2YdtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("leaf5"));
-        assertThat(ydtContext.getValue(), is("5"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf6"));
-        assertThat(ydtContext.getValue(), is("6"));
-
-        ydtContext = list2YdtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf10"));
-        assertThat(ydtContext.getValue(), is("10"));
-
-        // build delete tree
-        YangApplicationBroker yab = new YangApplicationBroker(null);
-        deleteTree = yab.buildDeleteTree(deleteNodes);
-
-        assertThat(deleteTree.getFirstChild().getName(), is("test"));
-
-        cont1YdtContext = deleteTree.getFirstChild().getFirstChild();
-        assertThat(cont1YdtContext.getName(), is("cont1"));
-
-        list1YdtContext = cont1YdtContext.getFirstChild();
-        assertThat(list1YdtContext.getName(), is("list1"));
-
-        ydtContext = list1YdtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("leaf2"));
-        assertThat(ydtContext.getValue(), is("2"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf3"));
-        assertThat(ydtContext.getValue(), is("3"));
-
-        assertThat(list1YdtContext.getNextSibling(), nullValue());
-
-        list2YdtContext = cont1YdtContext.getNextSibling();
-        assertThat(list2YdtContext.getName(), is("list2"));
-
-        ydtContext = list2YdtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("leaf5"));
-        assertThat(ydtContext.getValue(), is("5"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf6"));
-        assertThat(ydtContext.getValue(), is("6"));
-
-        assertThat(ydtContext.getNextSibling(), nullValue());
-
-        // verify whether ydt tree is correct
-        ydtContext = appContext.getModuleContext();
-        assertThat(ydtContext.getName(), is("test"));
-
-        cont1YdtContext = ydtContext.getFirstChild();
-        assertThat(cont1YdtContext.getName(), is("cont1"));
-
-        ydtContext = cont1YdtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("leaf4"));
-        assertThat(ydtContext.getValue(), is("4"));
-
-        ydtContext = cont1YdtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf10"));
-        assertThat(ydtContext.getValue(), is("10"));
-    }
-
-    /**
-     * Checks whether there is no exception when there is valid edit
-     * request.
-     */
-    @Test
-    public void testExecuteEditOperationWithoutDelete()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtForEditOperationWithoutDelete();
-        ymsManager.executeOperation(defaultYdtBuilder);
-    }
-
-    /**
-     * Checks whether there is no exception when there is valid delete
-     * request.
-     */
-    @Test
-    public void testExecuteEditOperationWithDelete()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtForEditOperationWithDelete();
-        ymsManager.executeOperation(defaultYdtBuilder);
-    }
-
-    /**
-     * Checks whether there is no exception when there is valid edit
-     * request for list.
-     */
-    @Test
-    public void testExecuteListEditOperationWithoutDelete()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtForListEditOperationWithoutDelete();
-        ymsManager.executeOperation(defaultYdtBuilder);
-    }
-
-    /**
-     * Checks whether there is no exception when there is valid delete
-     * request for list.
-     */
-    @Test
-    public void testExecuteListEditOperationWithDelete()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtForListEditOperationWithDelete();
-        ymsManager.executeOperation(defaultYdtBuilder);
-    }
-
-    /**
-     * Checks whether there is no exception when there is valid query
-     * request.
-     */
-    @Test
-    public void testExecuteQueryOperation()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder = buildYdtForQueryOperation();
-        ymsManager.executeOperation(defaultYdtBuilder);
-    }
-
-    /**
-     * Checks whether there is no exception when there is valid query
-     * request for list.
-     */
-    @Test
-    public void testExecuteListQueryOperation()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtForListQueryOperation();
-        ymsManager.executeOperation(defaultYdtBuilder);
-    }
-
-    /**
-     * Checks whether delete tree is updated correctly.
-     */
-    @Test
-    public void testSiblingsInDeleteTree()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder = buildYdtWithOneDeleteNode();
-        YdtAppContext appContext =
-                defaultYdtBuilder.getAppRootNode().getFirstChild();
-        YdtContext ydtContext = appContext.getModuleContext();
-        List<YdtContext> deleteNodes = appContext.getDeleteNodes();
-
-        // verify whether ydt tree is correct
-        assertThat(ydtContext.getName(), is("test"));
-
-        ydtContext = ydtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("cont1"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("cont4"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf10"));
-        assertThat(ydtContext.getValue(), is("10"));
-
-        // build delete tree
-        YangApplicationBroker yab = new YangApplicationBroker(null);
-        YdtContext deleteTree = yab.buildDeleteTree(deleteNodes);
-
-        assertThat(deleteTree.getFirstChild().getName(), is("test"));
-
-        ydtContext = deleteTree.getFirstChild().getFirstChild();
-        assertThat(ydtContext.getName(), is("cont4"));
-
-        assertThat(ydtContext.getNextSibling(), nullValue());
-        assertThat(ydtContext.getPreviousSibling(), nullValue());
-
-        ydtContext = appContext.getModuleContext();
-
-        // verify whether ydt tree is correct
-        assertThat(ydtContext.getName(), is("test"));
-
-        ydtContext = ydtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("cont1"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf10"));
-        assertThat(ydtContext.getValue(), is("10"));
-
-        assertThat(ydtContext.getNextSibling(), nullValue());
-    }
-
-    /**
-     * Checks last child is updated correctly after delete tree is built.
-     */
-    @Test
-    public void testLastChildInYdtTree()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtWithDeleteNodeAsLastChild();
-        YdtAppContext appContext =
-                defaultYdtBuilder.getAppRootNode().getFirstChild();
-        YdtContext ydtContext = appContext.getModuleContext();
-        List<YdtContext> deleteNodes = appContext.getDeleteNodes();
-        assertThat(YdtAppNodeOperationType.BOTH,
-                   is(appContext.getOperationType()));
-
-        // verify whether ydt tree is correct
-        assertThat(ydtContext.getName(), is("test"));
-
-        ydtContext = ydtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("cont1"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("list2"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("cont4"));
-
-        assertThat(ydtContext.getNextSibling(), nullValue());
-
-        // build delete tree
-        YangApplicationBroker yab = new YangApplicationBroker(null);
-        YdtContext deleteTree = yab.buildDeleteTree(deleteNodes);
-
-        assertThat(deleteTree.getFirstChild().getName(), is("test"));
-
-        ydtContext = deleteTree.getFirstChild().getFirstChild();
-        assertThat(ydtContext.getName(), is("cont4"));
-
-        ydtContext = deleteTree.getFirstChild().getLastChild();
-        assertThat(ydtContext.getName(), is("cont4"));
-
-        assertThat(ydtContext.getNextSibling(), nullValue());
-        assertThat(ydtContext.getPreviousSibling(), nullValue());
-
-        ydtContext = appContext.getModuleContext();
-
-        assertThat(ydtContext.getLastChild().getName(), is("list2"));
-
-        // verify whether ydt tree is correct
-        assertThat(ydtContext.getName(), is("test"));
-
-        ydtContext = ydtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("cont1"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("list2"));
-
-        assertThat(ydtContext.getNextSibling(), nullValue());
-    }
-
-    /**
-     * Checks YDT tree with all delete nodes.
-     */
-    @Test
-    public void testYdtTreeWithAllDeleteNodes()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder = buildYdtWithAllDeleteNode();
-        YdtAppContext appContext =
-                defaultYdtBuilder.getAppRootNode().getFirstChild();
-        YdtContext ydtContext = appContext.getModuleContext();
-        List<YdtContext> deleteNodes = appContext.getDeleteNodes();
-
-        assertThat(YdtAppNodeOperationType.DELETE_ONLY,
-                   is(appContext.getOperationType()));
-
-        // verify whether ydt tree is correct
-        assertThat(ydtContext.getName(), is("test"));
-
-        ydtContext = ydtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("cont1"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("list2"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("cont4"));
-
-        assertThat(ydtContext.getNextSibling(), nullValue());
-
-        // build delete tree
-        YangApplicationBroker yab = new YangApplicationBroker(null);
-        YdtContext deleteTree = yab.buildDeleteTree(deleteNodes);
-
-        assertThat(deleteTree.getFirstChild().getName(), is("test"));
-
-        ydtContext = deleteTree.getFirstChild().getFirstChild();
-        assertThat(ydtContext.getName(), is("cont1"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("list2"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("cont4"));
-
-        assertThat(ydtContext.getNextSibling(), nullValue());
-    }
-
-    /**
-     * Checks whether key leaves are also available when there is delete
-     * request for list.
-     */
-    @Test
-    public void testKeyLeavesInDeleteTree() throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder = buildYdtForKeyLeavesInDeleteTree();
-
-        YdtAppContext appContext =
-                defaultYdtBuilder.getAppRootNode().getFirstChild();
-        YdtContext ydtContext = appContext.getModuleContext();
-        List<YdtContext> deleteNodes = appContext.getDeleteNodes();
-
-        assertThat(YdtAppNodeOperationType.BOTH, is(appContext.getOperationType()));
-
-        // verify whether ydt tree is correct
-        assertThat(ydtContext.getName(), is("test"));
-
-        ydtContext = ydtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("list2"));
-
-        ydtContext = ydtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("leaf5"));
-        assertThat(ydtContext.getValue(), is("5"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf6"));
-        assertThat(ydtContext.getValue(), is("6"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf7"));
-        assertThat(ydtContext.getValue(), is("7"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("cont7"));
-
-        assertThat(ydtContext.getNextSibling(), nullValue());
-
-        // build delete tree
-        YangApplicationBroker yab = new YangApplicationBroker(null);
-        YdtContext deleteTree = yab.buildDeleteTree(deleteNodes);
-
-        assertThat(deleteTree.getFirstChild().getName(), is("test"));
-
-        ydtContext = deleteTree.getFirstChild().getFirstChild();
-        assertThat(ydtContext.getName(), is("list2"));
-
-        ydtContext = ydtContext.getFirstChild();
-        assertThat(ydtContext, notNullValue());
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext, notNullValue());
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("cont7"));
-
-        assertThat(ydtContext.getNextSibling(), nullValue());
-
-        ydtContext = appContext.getModuleContext();
-
-        // verify whether ydt tree is correct
-        assertThat(ydtContext.getName(), is("test"));
-
-        ydtContext = ydtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("list2"));
-
-        ydtContext = ydtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("leaf5"));
-        assertThat(ydtContext.getValue(), is("5"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf6"));
-        assertThat(ydtContext.getValue(), is("6"));
-
-        ydtContext = ydtContext.getNextSibling();
-        assertThat(ydtContext.getName(), is("leaf7"));
-        assertThat(ydtContext.getValue(), is("7"));
-
-        assertThat(ydtContext.getNextSibling(), nullValue());
-    }
-
-    /**
-     * Checks YDT tree and application tree for query request with mutiple
-     * augments.
-     */
-    @Test
-    public void testApptreeForQueryWithMultipleAugment()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder = buildYdtForQueryWithMultipleAugment();
-        YdtAppContext appContext = defaultYdtBuilder.getAppRootNode()
-                .getFirstChild();
-        YdtContext ydtNode = appContext.getModuleContext();
-        YangNode yangNode = (YangNode) ((YdtNode) ydtNode).getYangSchemaNode();
-
-        YangApplicationBroker yab = new YangApplicationBroker(defaultYdtBuilder.
-                getYangSchemaRegistry());
-        yab.processAugmentForChildNode(appContext, yangNode);
-
-        assertThat(appContext.getModuleContext().getName(), is("test"));
-
-        appContext = appContext.getFirstChild();
-
-        String augmentName = ((YangAugment) appContext
-                .getAugmentingSchemaNode()).getTargetNode().get(0)
-                .getResolvedNode().getJavaClassNameOrBuiltInType();
-        assertThat(augmentName, is("cont4"));
-
-        appContext = appContext.getFirstChild();
-        augmentName = ((YangAugment) appContext
-                .getAugmentingSchemaNode()).getTargetNode().get(0)
-                .getResolvedNode().getJavaClassNameOrBuiltInType();
-        assertThat(augmentName, is("cont4"));
-        assertThat(appContext.getFirstChild(), nullValue());
-        assertThat(appContext.getLastChild(), nullValue());
-    }
-
-    /**
-     * Checks whether there is no exception when there is valid query request
-     * for data resource with multiple augments.
-     */
-    @Test
-    public void testQueryWithMultipleAugment()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder = buildYdtForQueryWithMultipleAugment();
-        ymsManager.executeOperation(defaultYdtBuilder);
-    }
-
-    /**
-     * Checks whether YDT is updated correctly for delete with multiple augment.
-     */
-    @Test
-    public void testYdtForDeleteWithMultipleAugment()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtForDeleteWithMultipleAugment();
-        YdtAppContext appContext = defaultYdtBuilder.getAppRootNode()
-                .getFirstChild();
-
-        YangApplicationBroker yab = new YangApplicationBroker(defaultYdtBuilder.
-                getYangSchemaRegistry());
-        YdtContext deleteTree = yab.buildDeleteTree(appContext.getDeleteNodes());
-        yab.processAugmentedNodesForDelete(deleteTree.getFirstChild(),
-                                           appContext);
-
-        assertThat(appContext.getModuleContext().getName(), is("test"));
-
-        appContext = appContext.getFirstChild();
-        String augmentName = ((YangAugment) appContext
-                .getAugmentingSchemaNode()).getTargetNode().get(0)
-                .getResolvedNode().getJavaClassNameOrBuiltInType();
-        assertThat(augmentName, is("cont4"));
-
-        appContext = appContext.getFirstChild();
-        augmentName = ((YangAugment) appContext
-                .getAugmentingSchemaNode()).getTargetNode().get(0)
-                .getResolvedNode().getJavaClassNameOrBuiltInType();
-        assertThat(augmentName, is("cont4"));
-        assertThat(appContext.getFirstChild(), nullValue());
-        assertThat(appContext.getLastChild(), nullValue());
-
-        YdtContext ydtContext = deleteTree.getFirstChild();
-        assertThat(ydtContext.getName(), is("test"));
-
-        ydtContext = ydtContext.getFirstChild();
-        assertThat(ydtContext.getName(), is("cont4"));
-    }
-
-    /**
-     * Checks whether there is no exception when there is valid delete request
-     * for data resource with multiple augments.
-     */
-    @Test
-    public void testDeleteWithMultipleAugment() {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtForDeleteWithMultipleAugment();
-        ymsManager.executeOperation(defaultYdtBuilder);
-    }
-
-    /**
-     * Checks execute operation for rpc request with only output.
-     */
-    @Test
-    public void testRpcWithOutput()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtForRpcWithOnlyOutput();
-        ymsManager.executeOperation(defaultYdtBuilder);
-    }
-
-    /**
-     * Checks execute operation for rpc request with only input.
-     */
-    @Test
-    public void testRpcWithInput()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtForRpcWithOnlyInput();
-        ymsManager.executeOperation(defaultYdtBuilder);
-    }
-
-    /**
-     * Checks execute operation for rpc request with input and output.
-     */
-    @Test
-    public void testRpcWithInputOutput()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtForRpcWithBothInputOutput();
-        ymsManager.executeOperation(defaultYdtBuilder);
-    }
-
-    /**
-     * Checks execute operation for rpc request without input and
-     * output.
-     */
-    @Test
-    public void testRpcWithoutInputOutput()
-            throws IOException, CloneNotSupportedException {
-        YangRequestWorkBench defaultYdtBuilder =
-                buildYdtForRpc();
-        ymsManager.executeOperation(defaultYdtBuilder);
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ych/DefaultYangCodecHandlerTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ych/DefaultYangCodecHandlerTest.java
deleted file mode 100644
index dcce22a..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ych/DefaultYangCodecHandlerTest.java
+++ /dev/null
@@ -1,1422 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ych;
-
-import org.junit.Test;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.CombinedOpParam;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.AsNum;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.Attributes;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.DefaultAttributes;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.Metric;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.PathId;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.Aigp;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.BgpParameters;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.DefaultAigp;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.DefaultBgpParameters;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.DefaultLocalPref;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.DefaultMultiExitDisc;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.DefaultOrigin;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.DefaultUnrecognizedAttributes;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.LocalPref;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.MultiExitDisc;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.Origin;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.UnrecognizedAttributes;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.aigp.AigpTlv;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.aigp.DefaultAigpTlv;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.bgpparameters.DefaultOptionalCapabilities;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.bgpparameters.OptionalCapabilities;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.bgpparameters.optionalcapabilities.Cparameters;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.bgpparameters.optionalcapabilities.DefaultCparameters;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.bgpparameters.optionalcapabilities.cparameters.As4BytesCapability;
-import org.onosproject.yang.gen.v1.ych.combined.rev20160524.combined.attributes.bgpparameters.optionalcapabilities.cparameters.DefaultAs4BytesCapability;
-import org.onosproject.yang.gen.v1.ych.empty.container.rev20160524.EmptyContainerOpParam;
-import org.onosproject.yang.gen.v1.ych.empty.container.rev20160524.emptycontainer.EmptyContainer;
-import org.onosproject.yang.gen.v1.ych.purchasing.supervisor.rev20160524.YchPurchasingsupervisorOpParam;
-import org.onosproject.yang.gen.v1.ych.purchasing.supervisor.rev20160524.ychpurchasingsupervisor.DefaultYchPurchasingSupervisor;
-import org.onosproject.yang.gen.v1.ych.purchasing.supervisor.rev20160524.ychpurchasingsupervisor.YchPurchasingSupervisor;
-import org.onosproject.yang.gen.v1.ydt.customs.supervisor.rev20160524.CustomssupervisorOpParam;
-import org.onosproject.yang.gen.v1.ydt.employee.id.rev20160524.EmployeeidOpParam;
-import org.onosproject.yang.gen.v1.ydt.material.supervisor.rev20160524.MaterialsupervisorOpParam;
-import org.onosproject.yang.gen.v1.ydt.material.supervisor.rev20160524.materialsupervisor.DefaultSupervisor;
-import org.onosproject.yang.gen.v1.ydt.material.supervisor.rev20160524.materialsupervisor.Supervisor;
-import org.onosproject.yang.gen.v1.ydt.merchandiser.supervisor.rev20160524.MerchandisersupervisorOpParam;
-import org.onosproject.yang.gen.v1.ydt.root.rev20160524.LogisticsManagerOpParam;
-import org.onosproject.yang.gen.v1.ydt.root.rev20160524.logisticsmanager.DefaultPurchasingSupervisor;
-import org.onosproject.yang.gen.v1.ydt.trading.supervisor.rev20160524.TradingsupervisorOpParam;
-import org.onosproject.yang.gen.v1.ydt.warehouse.supervisor.rev20160524.WarehousesupervisorOpParam;
-import org.onosproject.yms.app.ych.defaultcodecs.YangCodecRegistry;
-import org.onosproject.yms.app.ysr.DefaultYangSchemaRegistry;
-import org.onosproject.yms.app.ysr.TestYangSchemaNodeProvider;
-import org.onosproject.yms.ych.YangCompositeEncoding;
-
-import java.io.BufferedReader;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.onosproject.yang.gen.v1.ydt.root.rev20160524.logisticsmanager.DefaultPurchasingSupervisor.OnosYangNodeOperationType.DELETE;
-import static org.onosproject.yms.ych.YangProtocolEncodingFormat.XML;
-import static org.onosproject.yms.ydt.YmsOperationType.EDIT_CONFIG_REQUEST;
-import static org.onosproject.yms.ydt.YmsOperationType.QUERY_CONFIG_REQUEST;
-import static org.onosproject.yms.ydt.YmsOperationType.QUERY_REQUEST;
-
-/**
- * Unit test case for default codec handler.
- */
-public class DefaultYangCodecHandlerTest {
-    private TestYangSchemaNodeProvider testYangSchemaNodeProvider =
-            new TestYangSchemaNodeProvider();
-    private static final String AM_XML = "Incorrect XML generated: ";
-    private static final String AM_OBJ = "Incorrect object generated: ";
-    private static final String EMPTY_CONTAINER = "EmptyContainerOpParam";
-    private static final String LOGISTIC_MOD = "LogisticsManagerOpParam";
-    private static final String MERCHA_MOD = "MerchandisersupervisorOpParam";
-
-    /**
-     * Returns the xml string for customssupervisor module.
-     *
-     * @return the xml string for customssupervisor module
-     */
-    private static String customsXml() {
-        return "<filter xmlns=\"ydt.filter-type\" type=\"subtree\">" +
-                "<customssupervisor xmlns=\"ydt.customs-supervisor\">" +
-                "<supervisor>Customssupervisor</supervisor>" +
-                "</customssupervisor>" +
-                "</filter>";
-    }
-
-    /**
-     * Returns the xml string for merchandisersupervisor module.
-     *
-     * @return the xml string for merchandisersupervisor module
-     */
-    private static String merchandXml() {
-        return "<config xmlns=\"ydt.root\">" +
-                "<merchandisersupervisor xmlns=\"ydt.Merchandiser-" +
-                "supervisor\">" +
-                "<supervisor>Merchandisersupervisor</supervisor>" +
-                "</merchandisersupervisor>" +
-                "</config>";
-    }
-
-    /**
-     * Returns the xml string for tradingsupervisor module.
-     *
-     * @return the xml string for tradingsupervisor module
-     */
-    private static String tradingXml() {
-        return "<config xmlns=\"ydt.root\">" +
-                "<tradingsupervisor xmlns=\"ydt.trading-supervisor\">" +
-                "<supervisor>Tradingsupervisor</supervisor>" +
-                "</tradingsupervisor>" +
-                "</config>";
-    }
-
-    /**
-     * Returns the xml string for customssupervisor module.
-     *
-     * @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>";
-    }
-
-    /**
-     * Returns the xml string for customssupervisor module with filter-type.
-     *
-     * @return the xml string for customssupervisor module with filter-type
-     */
-    private static String customsEmptyXml() {
-        return "<filter xmlns=\"ydt.filter-type\" type=\"subtree\">" +
-                "<customssupervisor xmlns=\"ydt.customs-supervisor\"/>" +
-                "</filter>";
-    }
-
-    /**
-     * Returns the xml string for materialsupervisor module.
-     *
-     * @return the xml string for materialsupervisor module
-     */
-    private static String materialXml() {
-        return "<filter xmlns=\"ydt.filter-type\" type=\"subtree\">" +
-                "<materialsupervisor xmlns=\"ydt.material-supervisor\">" +
-                "<supervisor>" +
-                "<name>abc1</name><departmentId>xyz1</departmentId>" +
-                "</supervisor>" +
-                "<supervisor><name>abc2</name><departmentId>xyz2</departmentId>" +
-                "</supervisor>" +
-                "<supervisor><name>abc3</name><departmentId>xyz3</departmentId>" +
-                "</supervisor>" +
-                "<supervisor><name>abc4</name><departmentId>xyz4</departmentId>" +
-                "</supervisor>" +
-                "<supervisor><name>abc5</name><departmentId>xyz5</departmentId>" +
-                "</supervisor>" +
-                "</materialsupervisor>" +
-                "</filter>";
-    }
-
-    /**
-     * Returns the xml string for EmptyContainer module.
-     *
-     * @return the xml string for EmptyContainer module
-     */
-    private static String containerEmptyXml() {
-        return "<filter xmlns=\"ydt.filter-type\" type=\"subtree\">" +
-                "<EmptyContainer xmlns=\"ych.Empty.Container\"/>" +
-                "</filter>";
-    }
-
-    /**
-     * Returns the xml string for Combined module.
-     *
-     * @return the xml string for Combined module
-     */
-    private static String listTestXml() {
-        return "<filter xmlns=\"ydt.filter-type\" type=\"subtree\">" +
-                "<Combined xmlns=\"ych:combined\"><attributes>" +
-                "<origin><value>123</value></origin>" +
-                "<multi-exit-disc><med>456</med></multi-exit-disc>" +
-                "<local-pref><pref>23</pref></local-pref>" +
-                "<aigp><aigp-tlv><metric>456</metric></aigp-tlv></aigp>" +
-                "<unrecognized-attributes><partial>false</partial>" +
-                "<transitive>false</transitive><type>1</type>" +
-                "<value>QUJD</value></unrecognized-attributes>" +
-                "<unrecognized-attributes><partial>true</partial>" +
-                "<transitive>true</transitive><type>2</type>" +
-                "<value>QUJD</value></unrecognized-attributes>" +
-                "<unrecognized-attributes><partial>true</partial>" +
-                "<transitive>false</transitive><type>3</type>" +
-                "<value>QUJD</value></unrecognized-attributes>" +
-                "<unrecognized-attributes><partial>false</partial>" +
-                "<transitive>true</transitive><type>4</type>" +
-                "<value>QUJD</value></unrecognized-attributes>" +
-                "<bgp-parameters><optional-capabilities><c-parameters>" +
-                "<as4-bytes-capability><as-number>11</as-number>" +
-                "</as4-bytes-capability></c-parameters>" +
-                "</optional-capabilities><optional-capabilities>" +
-                "<c-parameters><as4-bytes-capability>" +
-                "<as-number>22</as-number></as4-bytes-capability>" +
-                "</c-parameters></optional-capabilities>" +
-                "<optional-capabilities><c-parameters><as4-bytes-capability>" +
-                "<as-number>33</as-number></as4-bytes-capability>" +
-                "</c-parameters></optional-capabilities></bgp-parameters>" +
-                "<bgp-parameters><optional-capabilities><c-parameters>" +
-                "<as4-bytes-capability><as-number>11</as-number>" +
-                "</as4-bytes-capability></c-parameters>" +
-                "</optional-capabilities><optional-capabilities>" +
-                "<c-parameters><as4-bytes-capability>" +
-                "<as-number>22</as-number></as4-bytes-capability>" +
-                "</c-parameters></optional-capabilities>" +
-                "<optional-capabilities><c-parameters><as4-bytes-capability>" +
-                "<as-number>33</as-number></as4-bytes-capability>" +
-                "</c-parameters></optional-capabilities>" +
-                "</bgp-parameters></attributes></Combined></filter>";
-    }
-
-    /**
-     * Returns the xml string for ych-purchasingsupervisor module.
-     *
-     * @return the xml string for ych-purchasingsupervisor module
-     */
-    private static String purchaseXml() {
-        return "<filter xmlns=\"ydt.filter-type\" type=\"subtree\">" +
-                "<ych-purchasingsupervisor xmlns=\"ych.purchasing-supervisor\">" +
-                "<ych-purchasing-supervisor operation=\"create\">" +
-                "<ych-purchasing-specialist>purchasingSpecialist" +
-                "</ych-purchasing-specialist>" +
-                "<ych-purchasing-support>support</ych-purchasing-support>" +
-                "</ych-purchasing-supervisor>" +
-                "</ych-purchasingsupervisor>" +
-                "</filter>";
-    }
-
-    /**
-     * Returns the xml string for employeeid module.
-     *
-     * @return the xml string for employeeid module
-     */
-    private static String emplyIdXml() {
-        return "<config xmlns=\"ydt.root\">" +
-                "<employeeid xmlns=\"ydt.employee-id\">" +
-                "<employeeid>Employ1</employeeid>" +
-                "<employeeid>Employ5</employeeid>" +
-                "<employeeid>Employ4</employeeid>" +
-                "<employeeid>Employ3</employeeid>" +
-                "<employeeid>Employ2</employeeid>" +
-                "</employeeid>" +
-                "</config>";
-    }
-
-    /**
-     * Returns the xml string for warehousesupervisor module.
-     *
-     * @return the xml string for warehousesupervisor module
-     */
-    private static String wareHseXml() {
-        return "<config xmlns=\"ydt.root\">" +
-                "<warehousesupervisor xmlns=\"ydt.warehouse-supervisor\">" +
-                "<supervisor>supervisor4</supervisor>" +
-                "<supervisor>supervisor5</supervisor>" +
-                "<supervisor>supervisor1</supervisor>" +
-                "<supervisor>supervisor2</supervisor>" +
-                "<supervisor>supervisor3</supervisor>" +
-                "</warehousesupervisor>" +
-                "</config>";
-    }
-
-    /**
-     * Returns the xml string for more than one module.
-     *
-     * @return the xml string for more than one module
-     */
-    private static String multiModuleXml() {
-        return "<config xmlns=\"ydt.root\">" +
-                "<customssupervisor xmlns=\"ydt.customs-supervisor\">" +
-                "<supervisor>Customssupervisor</supervisor>" +
-                "</customssupervisor>" +
-                "<merchandisersupervisor xmlns=\"ydt.Merchandiser-supervisor\">" +
-                "<supervisor>Merchandisersupervisor</supervisor>" +
-                "</merchandisersupervisor>" +
-                "<materialsupervisor xmlns=\"ydt.material-supervisor\">" +
-                "<supervisor>" +
-                "<name>abc1</name>" +
-                "<departmentId>xyz1</departmentId>" +
-                "</supervisor>" +
-                "<supervisor>" +
-                "<name>abc2</name>" +
-                "<departmentId>xyz2</departmentId>" +
-                "</supervisor>" +
-                "<supervisor>" +
-                "<name>abc3</name>" +
-                "<departmentId>xyz3</departmentId>" +
-                "</supervisor>" +
-                "<supervisor>" +
-                "<name>abc4</name>" +
-                "<departmentId>xyz4</departmentId>" +
-                "</supervisor>" +
-                "<supervisor>" +
-                "<name>abc5</name>" +
-                "<departmentId>xyz5</departmentId>" +
-                "</supervisor>" +
-                "</materialsupervisor>" +
-                "<ych-purchasingsupervisor xmlns=\"ych.purchasing-supervisor\">" +
-                "<ych-purchasing-supervisor>" +
-                "<ych-purchasing-specialist>purchasingSpecialist" +
-                "</ych-purchasing-specialist>" +
-                "<ych-purchasing-support>support</ych-purchasing-support>" +
-                "</ych-purchasing-supervisor>" +
-                "</ych-purchasingsupervisor>" +
-                "<warehousesupervisor xmlns=\"ydt.warehouse-supervisor\">" +
-                "<supervisor>supervisor4</supervisor>" +
-                "<supervisor>supervisor5</supervisor>" +
-                "<supervisor>supervisor1</supervisor>" +
-                "<supervisor>supervisor2</supervisor>" +
-                "<supervisor>supervisor3</supervisor>" +
-                "</warehousesupervisor>" +
-                "<tradingsupervisor xmlns=\"ydt.trading-supervisor\">" +
-                "<supervisor>Tradingsupervisor</supervisor>" +
-                "</tradingsupervisor>" +
-                "<employeeid xmlns=\"ydt.employee-id\">" +
-                "<employeeid>Employ1</employeeid>" +
-                "<employeeid>Employ5</employeeid>" +
-                "<employeeid>Employ4</employeeid>" +
-                "<employeeid>Employ3</employeeid>" +
-                "<employeeid>Employ2</employeeid>" +
-                "</employeeid>" +
-                "</config>";
-    }
-
-    /**
-     * Unit test case in which verifying xml string for module object with leaf
-     * for composite encode.
-     */
-    @Test
-    public void proceessCodecHandlerForCompositeEnc() {
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry = testYangSchemaNodeProvider
-                .getDefaultYangSchemaRegistry();
-
-        // Creating the object
-        Object object = CustomssupervisorOpParam.builder()
-                .supervisor("Customssupervisor").build();
-
-        // Get the xml string and compare
-        Map<String, String> tagAttr = new HashMap<String, String>();
-        tagAttr.put("type", "subtree");
-
-        YangCodecRegistry.initializeDefaultCodec();
-        DefaultYangCodecHandler defaultYangCodecHandler =
-                new DefaultYangCodecHandler(schemaRegistry);
-        YangCompositeEncoding xml =
-                defaultYangCodecHandler
-                        .encodeCompositeOperation("filter", "ydt.filter-type",
-                                                  object, XML, null);
-
-        assertNull("customs-super: resource id not null",
-                   xml.getResourceIdentifier());
-        assertEquals(AM_XML + "customs-super: comp res info",
-                     customsCompositeXml(), xml.getResourceInformation());
-
-        // Creating the object
-        object = MerchandisersupervisorOpParam.builder()
-                .supervisor("Merchandisersupervisor").build();
-
-        // Get the xml string and compare
-        xml = defaultYangCodecHandler.encodeCompositeOperation("config",
-                                                               "ydt.root",
-                                                               object, XML,
-                                                               null);
-        assertNull("merch-super: res id not null", xml.getResourceIdentifier());
-        assertEquals(AM_XML + "merch-super: comp res info",
-                     merchandXml(), xml.getResourceInformation());
-
-        // Creating the object
-        object = TradingsupervisorOpParam.builder()
-                .supervisor("Tradingsupervisor").build();
-
-        // Get the xml string and compare
-        xml = defaultYangCodecHandler
-                .encodeCompositeOperation("config", "ydt.root", object, XML,
-                                          null);
-        assertNull("trading-super: res id not null",
-                   xml.getResourceIdentifier());
-        assertEquals(AM_XML + "trading-super: comp res info",
-                     tradingXml(), xml.getResourceInformation());
-    }
-
-    /**
-     * Unit test case in which verifying xml string for module object with leaf.
-     */
-    @Test
-    public void proceessCodecHandlerForLeaf() {
-        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);
-
-        // Get the xml string and compare
-        Map<String, String> tagAttr = new HashMap<String, String>();
-        tagAttr.put("type", "subtree");
-
-        YangCodecRegistry.initializeDefaultCodec();
-        DefaultYangCodecHandler defaultYangCodecHandler =
-                new DefaultYangCodecHandler(schemaRegistry);
-        String xml =
-                defaultYangCodecHandler.encodeOperation("filter",
-                                                        "ydt.filter-type",
-                                                        tagAttr, yangModuleList,
-                                                        XML, null);
-
-        assertEquals(AM_XML + "customs-super: leaf info", customsXml(), xml);
-
-        // Creating the object
-        object = MerchandisersupervisorOpParam.builder()
-                .supervisor("Merchandisersupervisor").build();
-        yangModuleList.clear();
-        yangModuleList.add(object);
-
-        // Get the xml string and compare
-        xml = defaultYangCodecHandler.encodeOperation("config", "ydt.root",
-                                                      null, yangModuleList,
-                                                      XML, null);
-        assertEquals(AM_XML + "merchandiser-super: leaf info", merchandXml(),
-                     xml);
-
-        // Creating the object
-        object = TradingsupervisorOpParam.builder()
-                .supervisor("Tradingsupervisor").build();
-        yangModuleList.clear();
-        yangModuleList.add(object);
-
-        // Get the xml string and compare
-        xml = defaultYangCodecHandler.encodeOperation("config", "ydt.root",
-                                                      null, yangModuleList,
-                                                      XML, null);
-        assertEquals(AM_XML + "trading-super: leaf info", tradingXml(), xml);
-    }
-
-    /**
-     * Unit test case in which verifying xml string for module object with
-     * empty leaf.
-     */
-    @Test
-    public void proceessCodecHandlerForEmptyLeaf() {
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry = testYangSchemaNodeProvider
-                .getDefaultYangSchemaRegistry();
-        List<Object> yangModuleList = new ArrayList<>();
-
-        // Creating the object
-        Object object = CustomssupervisorOpParam.builder().supervisor("")
-                .build();
-        yangModuleList.add(object);
-
-        // 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 + "customs-super: leaf is not empty",
-                     customsEmptyXml(), xml);
-    }
-
-    /**
-     * Unit test case in which verifying xml string for module object with list.
-     */
-    @Test
-    public void proceessCodecHandlerForList() {
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-        List<Object> yangModuleList = new ArrayList<>();
-
-        // 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 object = MaterialsupervisorOpParam.builder()
-                .addToSupervisor(supervisor1)
-                .addToSupervisor(supervisor2)
-                .addToSupervisor(supervisor3)
-                .addToSupervisor(supervisor4)
-                .addToSupervisor(supervisor5).build();
-
-        yangModuleList.add(object);
-
-        // 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 + "material-super: list info", materialXml(), xml);
-    }
-
-    /**
-     * Unit test case in which verifying xml string for module object with
-     * empty container.
-     */
-    @Test
-    public void proceessCodecHandlerForEmptyContainer() {
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-        List<Object> yangModuleList = new ArrayList<>();
-
-        // Creating the object
-        EmptyContainer emptyContainer = EmptyContainerOpParam.builder()
-                .emptyContainer();
-        Object object = EmptyContainerOpParam.builder()
-                .emptyContainer(emptyContainer).build();
-
-        yangModuleList.add(object);
-
-        // 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 + "empty-contain: container is not empty",
-                     containerEmptyXml(), xml);
-    }
-
-    /**
-     * Unit test case in which verifying xml string for module object with list
-     * inside list.
-     */
-    @Test
-    public void proceessCodecHandlerForListInsideList() {
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-        List<Object> yangModuleList = new ArrayList<>();
-
-        // Creating the object
-        PathId pathId = new PathId(123);
-        Origin origin = new DefaultOrigin.OriginBuilder().value(pathId)
-                .build();
-        MultiExitDisc multiExitDisc = new DefaultMultiExitDisc
-                .MultiExitDiscBuilder().med(456).build();
-        LocalPref localPref = new DefaultLocalPref.LocalPrefBuilder()
-                .pref(23).build();
-        Metric metric = new Metric(456);
-        AigpTlv aigpTlv = new DefaultAigpTlv.AigpTlvBuilder().metric(metric)
-                .build();
-        Aigp aigp = new DefaultAigp.AigpBuilder().aigpTlv(aigpTlv).build();
-
-        UnrecognizedAttributes unrecognizedAttributes1 =
-                new DefaultUnrecognizedAttributes
-                        .UnrecognizedAttributesBuilder()
-                        .partial(false).transitive(false).type((short) 1)
-                        .value("ABC".getBytes()).build();
-
-        UnrecognizedAttributes unrecognizedAttributes2 =
-                new DefaultUnrecognizedAttributes
-                        .UnrecognizedAttributesBuilder()
-                        .partial(true).transitive(true).type((short) 2)
-                        .value("ABC".getBytes())
-                        .build();
-
-        UnrecognizedAttributes unrecognizedAttributes3 =
-                new DefaultUnrecognizedAttributes
-                        .UnrecognizedAttributesBuilder()
-                        .partial(true).transitive(false).type((short) 3)
-                        .value("ABC".getBytes())
-                        .build();
-
-        UnrecognizedAttributes unrecognizedAttributes4 =
-                new DefaultUnrecognizedAttributes
-                        .UnrecognizedAttributesBuilder()
-                        .partial(false).transitive(true).type((short) 4)
-                        .value("ABC".getBytes()).build();
-
-        AsNum asNum1 = new AsNum(11);
-        As4BytesCapability as4BytesCapability1 =
-                new DefaultAs4BytesCapability.As4BytesCapabilityBuilder()
-                        .asNumber(asNum1).build();
-        Cparameters cparameters1 = new DefaultCparameters.CparametersBuilder()
-                .as4BytesCapability(as4BytesCapability1)
-                .build();
-        OptionalCapabilities optionalCapabilities1 =
-                new DefaultOptionalCapabilities.OptionalCapabilitiesBuilder()
-                        .cParameters(cparameters1).build();
-
-        AsNum asNum2 = new AsNum(22);
-        As4BytesCapability as4BytesCapability2 =
-                new DefaultAs4BytesCapability.As4BytesCapabilityBuilder()
-                        .asNumber(asNum2).build();
-        Cparameters cparameters2 = new DefaultCparameters.CparametersBuilder()
-                .as4BytesCapability(as4BytesCapability2)
-                .build();
-        OptionalCapabilities optionalCapabilities2 =
-                new DefaultOptionalCapabilities.OptionalCapabilitiesBuilder()
-                        .cParameters(cparameters2).build();
-
-        AsNum asNum3 = new AsNum(33);
-        As4BytesCapability as4BytesCapability3 =
-                new DefaultAs4BytesCapability.As4BytesCapabilityBuilder()
-                        .asNumber(asNum3).build();
-        Cparameters cparameters3 = new DefaultCparameters.CparametersBuilder()
-                .as4BytesCapability(as4BytesCapability3)
-                .build();
-        OptionalCapabilities optionalCapabilities3 =
-                new DefaultOptionalCapabilities.OptionalCapabilitiesBuilder()
-                        .cParameters(cparameters3).build();
-
-        BgpParameters bgpParameters1 =
-                new DefaultBgpParameters.BgpParametersBuilder()
-                        .addToOptionalCapabilities(optionalCapabilities1)
-                        .addToOptionalCapabilities(optionalCapabilities2)
-                        .addToOptionalCapabilities(optionalCapabilities3)
-                        .build();
-
-        AsNum asNum4 = new AsNum(11);
-        As4BytesCapability as4BytesCapability4 = new DefaultAs4BytesCapability
-                .As4BytesCapabilityBuilder()
-                .asNumber(asNum4).build();
-        Cparameters cparameters4 = new DefaultCparameters.CparametersBuilder()
-                .as4BytesCapability(as4BytesCapability4)
-                .build();
-        OptionalCapabilities optionalCapabilities4 =
-                new DefaultOptionalCapabilities.OptionalCapabilitiesBuilder()
-                        .cParameters(cparameters4).build();
-
-        AsNum asNum5 = new AsNum(22);
-        As4BytesCapability as4BytesCapability5 =
-                new DefaultAs4BytesCapability.As4BytesCapabilityBuilder()
-                        .asNumber(asNum5).build();
-        Cparameters cparameters5 =
-                new DefaultCparameters.CparametersBuilder()
-                        .as4BytesCapability(as4BytesCapability5)
-                        .build();
-        OptionalCapabilities optionalCapabilities5 =
-                new DefaultOptionalCapabilities.OptionalCapabilitiesBuilder()
-                        .cParameters(cparameters5).build();
-
-        AsNum asNum6 = new AsNum(33);
-        As4BytesCapability as4BytesCapability6 =
-                new DefaultAs4BytesCapability.As4BytesCapabilityBuilder()
-                        .asNumber(asNum6).build();
-        Cparameters cparameters6 =
-                new DefaultCparameters.CparametersBuilder()
-                        .as4BytesCapability(as4BytesCapability6)
-                        .build();
-        OptionalCapabilities optionalCapabilities6 =
-                new DefaultOptionalCapabilities.OptionalCapabilitiesBuilder()
-                        .cParameters(cparameters6).build();
-
-        BgpParameters bgpParameters2 =
-                new DefaultBgpParameters.BgpParametersBuilder()
-                        .addToOptionalCapabilities(optionalCapabilities4)
-                        .addToOptionalCapabilities(optionalCapabilities5)
-                        .addToOptionalCapabilities(optionalCapabilities6)
-                        .build();
-
-        Attributes attributes = new DefaultAttributes.AttributesBuilder()
-                .origin(origin)
-                .multiExitDisc(multiExitDisc)
-                .localPref(localPref)
-                .aigp(aigp)
-                .addToUnrecognizedAttributes(unrecognizedAttributes1)
-                .addToUnrecognizedAttributes(unrecognizedAttributes2)
-                .addToUnrecognizedAttributes(unrecognizedAttributes3)
-                .addToUnrecognizedAttributes(unrecognizedAttributes4)
-                .addToBgpParameters(bgpParameters1)
-                .addToBgpParameters(bgpParameters2).build();
-        Object object = CombinedOpParam.builder().attributes(attributes)
-                .build();
-
-        yangModuleList.add(object);
-
-        // 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 + "combined: list info", listTestXml(), xml);
-    }
-
-    /**
-     * Unit test case in which verifying xml string for module object with
-     * container.
-     */
-    @Test
-    public void proceessCodecHandlerForContainer() {
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-        List<Object> yangModuleList = new ArrayList<>();
-
-        // Creating the object
-        YchPurchasingSupervisor supervisor =
-                new DefaultYchPurchasingSupervisor
-                        .YchPurchasingSupervisorBuilder()
-                        .ychPurchasingSpecialist("purchasingSpecialist")
-                        .ychPurchasingSupport("support")
-                        .onosYangNodeOperationType(
-                                DefaultYchPurchasingSupervisor
-                                        .OnosYangNodeOperationType
-                                        .CREATE).build();
-        Object object = YchPurchasingsupervisorOpParam.builder()
-                .ychPurchasingSupervisor(supervisor).build();
-        yangModuleList.add(object);
-
-        // 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 + "puchas-super: container info", purchaseXml(),
-                     xml);
-    }
-
-
-    /**
-     * Unit test case in which verifying xml string for module object with
-     * leaf list.
-     */
-    @Test
-    public void proceessCodecHandlerForLeafList() {
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-        List<Object> yangModuleList = new ArrayList<>();
-
-        // Creating the object
-        EmployeeidOpParam.EmployeeidBuilder employeeidBuilder =
-                EmployeeidOpParam.builder();
-        employeeidBuilder.addToEmployeeid("Employ1");
-        employeeidBuilder.addToEmployeeid("Employ2");
-        employeeidBuilder.addToEmployeeid("Employ3");
-        employeeidBuilder.addToEmployeeid("Employ4");
-        employeeidBuilder.addToEmployeeid("Employ5");
-
-        Object object = employeeidBuilder.build();
-        yangModuleList.add(object);
-
-        // Get the xml string and compare
-        YangCodecRegistry.initializeDefaultCodec();
-        DefaultYangCodecHandler codecHandler =
-                new DefaultYangCodecHandler(schemaRegistry);
-        String xml = codecHandler.encodeOperation("config", "ydt.root", null,
-                                                  yangModuleList, XML, null);
-        assertEquals(AM_XML + "employ-id: leaf-list info", emplyIdXml(), xml);
-        WarehousesupervisorOpParam.WarehousesupervisorBuilder warehsebldr =
-                WarehousesupervisorOpParam.builder();
-        warehsebldr.addToSupervisor("supervisor1");
-        warehsebldr.addToSupervisor("supervisor2");
-        warehsebldr.addToSupervisor("supervisor3");
-        warehsebldr.addToSupervisor("supervisor4");
-        warehsebldr.addToSupervisor("supervisor5");
-
-        object = warehsebldr.build();
-        yangModuleList.clear();
-        yangModuleList.add(object);
-
-
-        // Get the xml string and compare
-        xml = codecHandler.encodeOperation("config", "ydt.root", null,
-                                           yangModuleList, XML, null);
-
-        assertEquals(AM_XML + "warehouse-super: leaf-list info", wareHseXml(),
-                     xml);
-    }
-
-    /**
-     * Unit test case in which verifying xml string for multiple module object.
-     */
-    @Test
-    public void proceessCodecHandlerForMultipleModule() {
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-
-        List<Object> yangModuleList = new ArrayList<>();
-        YangCodecRegistry.initializeDefaultCodec();
-        DefaultYangCodecHandler codecHandler =
-                new DefaultYangCodecHandler(schemaRegistry);
-
-        // Creating the object for customssupervisor module
-        Object object = CustomssupervisorOpParam.builder()
-                .supervisor("Customssupervisor").build();
-        yangModuleList.add(object);
-
-        // Creating the object for merchandisersupervisor module
-        object = MerchandisersupervisorOpParam.builder()
-                .supervisor("Merchandisersupervisor").build();
-        yangModuleList.add(object);
-
-        // Creating the object for materialsupervisor module
-        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 = MaterialsupervisorOpParam.builder()
-                .addToSupervisor(supervisor1)
-                .addToSupervisor(supervisor2)
-                .addToSupervisor(supervisor3)
-                .addToSupervisor(supervisor4)
-                .addToSupervisor(supervisor5).build();
-
-        yangModuleList.add(object);
-
-        // Creating the object for YchPurchasingsupervisor module
-        YchPurchasingSupervisor purSupervisor =
-                new DefaultYchPurchasingSupervisor
-                        .YchPurchasingSupervisorBuilder()
-                        .ychPurchasingSpecialist("purchasingSpecialist")
-                        .ychPurchasingSupport("support").build();
-        object = YchPurchasingsupervisorOpParam.builder()
-                .ychPurchasingSupervisor(purSupervisor).build();
-        yangModuleList.add(object);
-
-        // Creating the object for warehousesupervisor module
-        WarehousesupervisorOpParam.WarehousesupervisorBuilder warehsebldr =
-                WarehousesupervisorOpParam.builder();
-        warehsebldr.addToSupervisor("supervisor1");
-        warehsebldr.addToSupervisor("supervisor2");
-        warehsebldr.addToSupervisor("supervisor3");
-        warehsebldr.addToSupervisor("supervisor4");
-        warehsebldr.addToSupervisor("supervisor5");
-
-        object = warehsebldr.build();
-        yangModuleList.add(object);
-
-        // Creating the object for tradingsupervisor module
-        object = TradingsupervisorOpParam.builder()
-                .supervisor("Tradingsupervisor").build();
-        yangModuleList.add(object);
-
-        List<String> employeeid = EmployeeidOpParam.builder().employeeid();
-        if (employeeid == null) {
-            employeeid = new ArrayList<>();
-        }
-        employeeid.add("Employ1");
-        employeeid.add("Employ2");
-        employeeid.add("Employ3");
-        employeeid.add("Employ4");
-        employeeid.add("Employ5");
-
-        // Creating the object for employeeid module
-        object = EmployeeidOpParam.builder().employeeid(employeeid).build();
-        yangModuleList.add(object);
-
-        // Get the xml string and compare
-        String xml = codecHandler.encodeOperation("config", "ydt.root", null,
-                                                  yangModuleList, XML, null);
-        assertEquals(AM_XML + "multiple: module info", multiModuleXml(), xml);
-    }
-
-    /**
-     * Unit test case in which verifying object for xml string with config as
-     * root name and empty container.
-     */
-    @Test
-    public void proceessCodecDecodeFunctionForEmptyContainer() {
-        String path = "src/test/resources/ychTestResourceFiles/getconfigemptycontainer.xml";
-        StringBuilder sb = new StringBuilder();
-        String sCurrentLine;
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-
-        YangCodecRegistry.initializeDefaultCodec();
-        DefaultYangCodecHandler defaultYangCodecHandler =
-                new DefaultYangCodecHandler(schemaRegistry);
-
-        try (BufferedReader br = new BufferedReader(new FileReader(path))) {
-
-            while ((sCurrentLine = br.readLine()) != null) {
-                sb.append(sCurrentLine);
-            }
-
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-
-        // Verify the received object list
-        List<Object> objectList =
-                defaultYangCodecHandler.decode(sb.toString(),
-                                               XML, QUERY_CONFIG_REQUEST);
-        Iterator<Object> iterator = objectList.iterator();
-        while (iterator.hasNext()) {
-            Object object = iterator.next();
-            if (object.getClass().getSimpleName()
-                    .equals(EMPTY_CONTAINER)) {
-                EmptyContainerOpParam emptyContainerOpParam =
-                        (EmptyContainerOpParam) object;
-                assertNull(AM_OBJ + "empty-container: container value is not" +
-                                      "null",
-                              emptyContainerOpParam.emptyContainer());
-            } else {
-                assertEquals(AM_OBJ, EMPTY_CONTAINER, object
-                        .getClass().getSimpleName());
-            }
-        }
-    }
-
-
-    /**
-     * Unit test case in which verifying object for xml string with config as
-     * root name and multiple module.
-     */
-    @Test
-    public void proceessCodecDecodeFunctionForListInsideList() {
-        String path = "src/test/resources/ychTestResourceFiles/combinedrootname.xml";
-        StringBuilder sb = new StringBuilder();
-        String sCurrentLine;
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-
-        YangCodecRegistry.initializeDefaultCodec();
-        DefaultYangCodecHandler defaultYangCodecHandler =
-                new DefaultYangCodecHandler(schemaRegistry);
-
-        try (BufferedReader br = new BufferedReader(new FileReader(path))) {
-
-            while ((sCurrentLine = br.readLine()) != null) {
-                sb.append(sCurrentLine);
-            }
-
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-
-        // TODO YOB and YTB need to do some changes for binary
-        // Verify the received object list
-        /*objectList = defaultYangCodecHandler.decode(sb.toString(),
-                                                    XML_ENCODING,
-                                                    EDIT_CONFIG_REQUEST);
-        Iterator<Object> iterator = objectList.iterator();
-        while (iterator.hasNext()) {
-            Object object = iterator.next();
-            if (object.getClass().getSimpleName().equals("CombinedOpParam")) {
-                CombinedOpParam combinedOpParam = (CombinedOpParam) object;
-
-                PathId pathId = new PathId(123);
-                Origin origin = new DefaultOrigin.OriginBuilder()
-                        .value(pathId).build();
-                assertTrue(combinedOpParam.attributes().origin()
-                                   .equals(origin));
-
-                MultiExitDisc multiExitDisc = new DefaultMultiExitDisc
-                        .MultiExitDiscBuilder().med(456).build();
-                assertTrue(combinedOpParam.attributes().multiExitDisc()
-                                   .equals(multiExitDisc));
-
-                LocalPref localPref = new DefaultLocalPref.LocalPrefBuilder()
-                        .pref(23).build();
-                assertTrue(combinedOpParam.attributes().localPref()
-                                   .equals(localPref));
-
-                Metric metric = new Metric(456);
-                AigpTlv aigpTlv = new DefaultAigpTlv.AigpTlvBuilder()
-                        .metric(metric).build();
-                Aigp aigp = new DefaultAigp.AigpBuilder().aigpTlv(aigpTlv)
-                        .build();
-                assertTrue(combinedOpParam.attributes().aigp().equals(aigp));
-
-                UnrecognizedAttributes unrecognizedAttributes1 =
-                        new DefaultUnrecognizedAttributes
-                                .UnrecognizedAttributesBuilder()
-                                .partial(false).transitive(false).type((short) 1)
-                                .value("ABC".getBytes()).build();
-
-                UnrecognizedAttributes unrecognizedAttributes2 =
-                        new DefaultUnrecognizedAttributes
-                                .UnrecognizedAttributesBuilder()
-                                .partial(true).transitive(true).type((short) 2)
-                                .value("BCA".getBytes()).build();
-
-                UnrecognizedAttributes unrecognizedAttributes3 =
-                        new DefaultUnrecognizedAttributes
-                                .UnrecognizedAttributesBuilder()
-                                .partial(true).transitive(false).type((short) 3)
-                                .value("CAB".getBytes()).build();
-
-                UnrecognizedAttributes unrecognizedAttributes4 =
-                        new DefaultUnrecognizedAttributes
-                                .UnrecognizedAttributesBuilder()
-                                .partial(false).transitive(true).type((short) 4)
-                                .value("111".getBytes()).build();
-
-                AsNum asNum1 = new AsNum(11);
-                As4BytesCapability as4BytesCapability1 =
-                        new DefaultAs4BytesCapability
-                                .As4BytesCapabilityBuilder()
-                                .asNumber(asNum1).build();
-                Cparameters cparameters1 = new DefaultCparameters
-                        .CparametersBuilder()
-                        .as4BytesCapability(as4BytesCapability1)
-                        .build();
-                OptionalCapabilities optionalCapabilities1 =
-                        new DefaultOptionalCapabilities
-                                .OptionalCapabilitiesBuilder()
-                                .cParameters(cparameters1).build();
-
-                AsNum asNum2 = new AsNum(22);
-                As4BytesCapability as4BytesCapability2 =
-                        new DefaultAs4BytesCapability
-                                .As4BytesCapabilityBuilder()
-                                .asNumber(asNum2).build();
-                Cparameters cparameters2 = new DefaultCparameters
-                        .CparametersBuilder()
-                        .as4BytesCapability(as4BytesCapability2)
-                        .build();
-                OptionalCapabilities optionalCapabilities2 =
-                        new DefaultOptionalCapabilities
-                                .OptionalCapabilitiesBuilder()
-                                .cParameters(cparameters2).build();
-
-                AsNum asNum3 = new AsNum(33);
-                As4BytesCapability as4BytesCapability3 =
-                        new DefaultAs4BytesCapability
-                                .As4BytesCapabilityBuilder()
-                                .asNumber(asNum3).build();
-                Cparameters cparameters3 =
-                        new DefaultCparameters.CparametersBuilder()
-                                .as4BytesCapability(as4BytesCapability3)
-                                .build();
-                OptionalCapabilities optionalCapabilities3 =
-                        new DefaultOptionalCapabilities
-                                .OptionalCapabilitiesBuilder()
-                                .cParameters(cparameters3).build();
-
-                BgpParameters bgpParameters1 =
-                        new DefaultBgpParameters.BgpParametersBuilder()
-                                .addToOptionalCapabilities(optionalCapabilities1)
-                                .addToOptionalCapabilities(optionalCapabilities2)
-                                .addToOptionalCapabilities(optionalCapabilities3)
-                                .build();
-
-                AsNum asNum4 = new AsNum(11);
-                As4BytesCapability as4BytesCapability4 =
-                        new DefaultAs4BytesCapability
-                                .As4BytesCapabilityBuilder()
-                                .asNumber(asNum4).build();
-                Cparameters cparameters4 =
-                        new DefaultCparameters.CparametersBuilder()
-                                .as4BytesCapability(as4BytesCapability4)
-                                .build();
-                OptionalCapabilities optionalCapabilities4 =
-                        new DefaultOptionalCapabilities
-                                .OptionalCapabilitiesBuilder()
-                                .cParameters(cparameters4).build();
-
-                AsNum asNum5 = new AsNum(22);
-                As4BytesCapability as4BytesCapability5 =
-                        new DefaultAs4BytesCapability
-                                .As4BytesCapabilityBuilder()
-                                .asNumber(asNum5).build();
-                Cparameters cparameters5 =
-                        new DefaultCparameters.CparametersBuilder()
-                                .as4BytesCapability(as4BytesCapability5)
-                                .build();
-                OptionalCapabilities optionalCapabilities5 =
-                        new DefaultOptionalCapabilities
-                                .OptionalCapabilitiesBuilder()
-                                .cParameters(cparameters5).build();
-
-                AsNum asNum6 = new AsNum(33);
-                As4BytesCapability as4BytesCapability6 =
-                        new DefaultAs4BytesCapability
-                                .As4BytesCapabilityBuilder()
-                                .asNumber(asNum6).build();
-                Cparameters cparameters6 =
-                        new DefaultCparameters.CparametersBuilder()
-                                .as4BytesCapability(as4BytesCapability6)
-                                .build();
-                OptionalCapabilities optionalCapabilities6 =
-                        new DefaultOptionalCapabilities
-                                .OptionalCapabilitiesBuilder()
-                                .cParameters(cparameters6).build();
-
-                BgpParameters bgpParameters2 =
-                        new DefaultBgpParameters.BgpParametersBuilder()
-                                .addToOptionalCapabilities(optionalCapabilities4)
-                                .addToOptionalCapabilities(optionalCapabilities5)
-                                .addToOptionalCapabilities(optionalCapabilities6)
-                                .build();
-
-                Attributes attributes =
-                        new DefaultAttributes.AttributesBuilder()
-                                .origin(origin)
-                                .multiExitDisc(multiExitDisc)
-                                .localPref(localPref)
-                                .aigp(aigp)
-                                .addToUnrecognizedAttributes(unrecognizedAttributes1)
-                                .addToUnrecognizedAttributes(unrecognizedAttributes2)
-                                .addToUnrecognizedAttributes(unrecognizedAttributes3)
-                                .addToUnrecognizedAttributes(unrecognizedAttributes4)
-                                .addToBgpParameters(bgpParameters1)
-                                .addToBgpParameters(bgpParameters2).build();
-            } else {
-                assertTrue(false);
-            }
-        }*/
-    }
-
-    /**
-     * Unit test case in which verifying object for xml string with config as root name and
-     * operation type.
-     */
-    @Test
-    public void proceessCodecDecodeFunctionForOperTypeTest() {
-        String path = "src/test/resources/ychTestResourceFiles/configrootnameOperationType.xml";
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-
-        YangCodecRegistry.initializeDefaultCodec();
-        DefaultYangCodecHandler defaultYangCodecHandler =
-                new DefaultYangCodecHandler(schemaRegistry);
-
-        StringBuilder sb = new StringBuilder();
-        String sCurrentLine;
-
-        try (BufferedReader br = new BufferedReader(new FileReader(path))) {
-
-            while ((sCurrentLine = br.readLine()) != null) {
-                sb.append(sCurrentLine);
-            }
-
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-
-        // Verify the received object list
-        List<Object> objectList =
-                defaultYangCodecHandler.decode(sb.toString(),
-                                               XML, EDIT_CONFIG_REQUEST);
-        Iterator<Object> iterator = objectList.iterator();
-        while (iterator.hasNext()) {
-            Object object = iterator.next();
-            if (object.getClass().getSimpleName()
-                    .equals(LOGISTIC_MOD)) {
-                LogisticsManagerOpParam logistics =
-                        (LogisticsManagerOpParam) object;
-                DefaultPurchasingSupervisor purchasingSupervisor =
-                        (DefaultPurchasingSupervisor) logistics
-                                .purchasingSupervisor();
-
-                assertEquals(AM_OBJ + "purchase-super: operation type", DELETE,
-                             purchasingSupervisor.onosYangNodeOperationType());
-                assertEquals(AM_OBJ + "customs-super: leaf value", "abc",
-                             logistics.customsSupervisor());
-                assertEquals(AM_OBJ + "purchase-spec: leaf value", "bcd",
-                             logistics.purchasingSupervisor()
-                                     .purchasingSpecialist());
-                assertEquals(AM_OBJ + "purchase-support: leaf value",
-                             "cde", logistics.purchasingSupervisor()
-                                     .support());
-
-            } else if (object.getClass().getSimpleName()
-                    .equals(MERCHA_MOD)) {
-                MerchandisersupervisorOpParam merchandisersupervisorOpParam =
-                        (MerchandisersupervisorOpParam) object;
-                assertEquals(AM_OBJ + "merchandiser-super: leaf value",
-                             "abc", merchandisersupervisorOpParam.supervisor());
-            } else {
-                assertEquals(AM_OBJ, LOGISTIC_MOD, object
-                        .getClass().getSimpleName());
-                assertEquals(AM_OBJ, MERCHA_MOD, object
-                        .getClass().getSimpleName());
-            }
-        }
-    }
-
-    /**
-     * Validate the leaf value for purchasing specialist.
-     *
-     * @param objectList object list
-     */
-    private void processPurchasingSpecObj(List<Object> objectList) {
-        Iterator<Object> iterator = objectList.iterator();
-        while (iterator.hasNext()) {
-            Object object = iterator.next();
-            if (object.getClass().getSimpleName()
-                    .equals("LogisticsManagerOpParam")) {
-                LogisticsManagerOpParam logisticsManagerOpParam =
-                        (LogisticsManagerOpParam) object;
-                assertEquals(AM_OBJ + "purchasing-spec: leaf value", "bcd",
-                             logisticsManagerOpParam.purchasingSupervisor()
-                                     .purchasingSpecialist());
-            } else {
-                assertEquals(AM_OBJ, "LogisticsManagerOpParam", object
-                        .getClass().getSimpleName());
-            }
-        }
-
-    }
-
-    /**
-     * Validate the leaf value for merchandiser supervisor.
-     *
-     * @param objectList object list
-     */
-    private void processMerchandiserObj(List<Object> objectList) {
-        Iterator<Object> iterator = objectList.iterator();
-        while (iterator.hasNext()) {
-            Object object = iterator.next();
-            if (object.getClass().getSimpleName()
-                    .equals(MERCHA_MOD)) {
-                MerchandisersupervisorOpParam merchandisersupervisorOpParam =
-                        (MerchandisersupervisorOpParam) object;
-                assertEquals(AM_OBJ + "merchandiser-super: leaf value", "abc",
-                             merchandisersupervisorOpParam.supervisor());
-
-            } else {
-                assertEquals(AM_OBJ, MERCHA_MOD, object
-                        .getClass().getSimpleName());
-            }
-        }
-    }
-
-    /**
-     * Unit test case in which verifying object for xml string with get and
-     * filter as root name.
-     */
-    @Test
-    public void proceessCodecDecodeFunctionForGet() {
-        String path = "src/test/resources/ychTestResourceFiles/getrootname.xml";
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-
-        YangCodecRegistry.initializeDefaultCodec();
-        DefaultYangCodecHandler defaultYangCodecHandler =
-                new DefaultYangCodecHandler(schemaRegistry);
-
-        StringBuilder sb = new StringBuilder();
-        String sCurrentLine;
-
-        try (BufferedReader br = new BufferedReader(new FileReader(path))) {
-
-            while ((sCurrentLine = br.readLine()) != null) {
-                sb.append(sCurrentLine);
-            }
-
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-
-        // Verify the received object list
-        List<Object> objectList =
-                defaultYangCodecHandler.decode(sb.toString(),
-                                               XML, QUERY_REQUEST);
-        processPurchasingSpecObj(objectList);
-    }
-
-    /**
-     * Unit test case in which verifying object for xml string with get-config
-     * and filter as root name.
-     */
-    @Test
-    public void proceessCodecDecodeFunctionForGetConfig() {
-        String path = "src/test/resources/ychTestResourceFiles/getconfigrootname.xml";
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-
-        YangCodecRegistry.initializeDefaultCodec();
-        DefaultYangCodecHandler defaultYangCodecHandler =
-                new DefaultYangCodecHandler(schemaRegistry);
-
-        StringBuilder sb = new StringBuilder();
-        String sCurrentLine;
-
-        try (BufferedReader br = new BufferedReader(new FileReader(path))) {
-
-            while ((sCurrentLine = br.readLine()) != null) {
-                sb.append(sCurrentLine);
-            }
-
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-
-        // Verify the received object list
-        List<Object> objectList = defaultYangCodecHandler.decode(
-                sb.toString(),
-                XML, QUERY_CONFIG_REQUEST);
-        processMerchandiserObj(objectList);
-    }
-
-    /**
-     * Unit test case in which verifying object for xml string with data as
-     * root name.
-     */
-    @Test
-    public void proceessCodecDecodeFunctionForGetData() {
-        String path = "src/test/resources/ychTestResourceFiles/getReply.xml";
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-
-        YangCodecRegistry.initializeDefaultCodec();
-        DefaultYangCodecHandler defaultYangCodecHandler =
-                new DefaultYangCodecHandler(schemaRegistry);
-
-        StringBuilder sb = new StringBuilder();
-        String sCurrentLine;
-
-        try (BufferedReader br = new BufferedReader(new FileReader(path))) {
-
-            while ((sCurrentLine = br.readLine()) != null) {
-                sb.append(sCurrentLine);
-            }
-
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-
-        // Verify the received object list
-        List<Object> objectList = defaultYangCodecHandler.decode(
-                sb.toString(),
-                XML, QUERY_CONFIG_REQUEST);
-        processPurchasingSpecObj(objectList);
-    }
-
-    /**
-     * Unit test case in which verifying object for xml string with rpc-reply
-     * and data as root name .
-     */
-    @Test
-    public void proceessCodecDecodeFunctionForGetConfigData() {
-        String path = "src/test/resources/ychTestResourceFiles/getconfigReply.xml";
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-
-        YangCodecRegistry.initializeDefaultCodec();
-        DefaultYangCodecHandler defaultYangCodecHandler =
-                new DefaultYangCodecHandler(schemaRegistry);
-
-        StringBuilder sb = new StringBuilder();
-        String sCurrentLine;
-
-        try (BufferedReader br = new BufferedReader(new FileReader(path))) {
-
-            while ((sCurrentLine = br.readLine()) != null) {
-                sb.append(sCurrentLine);
-            }
-
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-
-        // Verify the received object list
-        List<Object> objectList = defaultYangCodecHandler.decode(sb.toString(),
-                                                                 XML, null);
-        processMerchandiserObj(objectList);
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/AugmentTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/AugmentTest.java
deleted file mode 100644
index 8fd5580..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/AugmentTest.java
+++ /dev/null
@@ -1,528 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import static org.junit.Assert.assertNull;
-import static org.onosproject.yms.app.ydt.YdtAppNodeOperationType.BOTH;
-import static org.onosproject.yms.app.ydt.YdtAppNodeOperationType.DELETE_ONLY;
-import static org.onosproject.yms.app.ydt.YdtAppNodeOperationType.OTHER_EDIT;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A1;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A2;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A2L;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A3;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A4;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A5;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A5L;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A6;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A6L;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.AUG1;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.AUG2;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.AUG3;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.AUG4;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.AUG5;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.AUG6;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.AUG7;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.AUG8;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.AUG9;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.IETF;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SLINK;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.STP;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.TOPONS;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.augmentNetworkYdt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateAppLogicalNodeContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateAppModuleNodeContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateAppNodeContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafListContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.walkINTree;
-import static org.onosproject.yms.ydt.YdtContextOperationType.DELETE;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class AugmentTest {
-
-    private Set<String> valueSet = new HashSet();
-
-    private static final String[] EXPECTED = {
-            "Entry Node is yms-ietf-network.",
-            "Entry Node is yms-ietf-network.",
-            "Entry Node is networks.",
-            "Entry Node is network.",
-            "Entry Node is network-id.",
-            "Exit Node is network-id.",
-            "Entry Node is link.",
-            "Entry Node is link-id.",
-            "Exit Node is link-id.",
-            "Entry Node is source.",
-            "Entry Node is source-node.",
-            "Exit Node is source-node.",
-            "Entry Node is source-tp.",
-            "Exit Node is source-tp.",
-            "Exit Node is source.",
-
-            "Entry Node is destination.",
-            "Entry Node is dest-node.",
-            "Exit Node is dest-node.",
-            "Entry Node is dest-tp.",
-            "Exit Node is dest-tp.",
-            "Exit Node is destination.",
-
-            "Entry Node is supporting-link.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Entry Node is link-ref.",
-            "Exit Node is link-ref.",
-            "Exit Node is supporting-link.",
-
-            "Entry Node is supporting-link.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Entry Node is link-ref.",
-            "Exit Node is link-ref.",
-            "Exit Node is supporting-link.",
-
-            "Entry Node is augment1.",
-            "Entry Node is value1.",
-            "Exit Node is value1.",
-            "Exit Node is augment1.",
-
-            "Entry Node is augment2.",
-            "Entry Node is key1.",
-            "Exit Node is key1.",
-            "Entry Node is key2.",
-            "Exit Node is key2.",
-
-            "Entry Node is augment5.",
-
-            "Entry Node is augment6leafList.",
-            "Exit Node is augment6leafList.",
-
-            "Entry Node is value5.",
-            "Exit Node is value5.",
-            "Exit Node is augment5.",
-
-            "Entry Node is augment5leafList.",
-            "Exit Node is augment5leafList.",
-
-            "Entry Node is augment3.",
-
-            "Entry Node is augment4.",
-            "Entry Node is value4.",
-            "Exit Node is value4.",
-            "Exit Node is augment4.",
-
-            "Entry Node is augment5.",
-
-            "Entry Node is leaf6.",
-            "Exit Node is leaf6.",
-
-            "Entry Node is value5.",
-            "Exit Node is value5.",
-            "Exit Node is augment5.",
-
-            "Entry Node is augment6.",
-            "Entry Node is value6.",
-            "Exit Node is value6.",
-            "Exit Node is augment6.",
-
-            "Entry Node is value3.",
-            "Exit Node is value3.",
-            "Exit Node is augment3.",
-
-            "Entry Node is augment3leaf.",
-            "Exit Node is augment3leaf.",
-
-            "Exit Node is augment2.",
-
-            "Entry Node is augment2leafList.",
-            "Exit Node is augment2leafList.",
-
-            "Exit Node is link.",
-
-            "Entry Node is supporting-network.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Exit Node is supporting-network.",
-            "Entry Node is node.",
-            "Entry Node is node-id.",
-            "Exit Node is node-id.",
-            "Entry Node is t-point.",
-            "Entry Node is tp-id.",
-            "Exit Node is tp-id.",
-
-            "Entry Node is supporting-termination-point.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Entry Node is node-ref.",
-            "Exit Node is node-ref.",
-            "Entry Node is tp-ref.",
-            "Exit Node is tp-ref.",
-
-            "Entry Node is augment1.",
-            "Entry Node is value1.",
-            "Exit Node is value1.",
-            "Exit Node is augment1.",
-
-            "Entry Node is augment1-leaf.",
-            "Exit Node is augment1-leaf.",
-
-            "Entry Node is augment2.",
-
-            "Entry Node is augment3.",
-            "Entry Node is value3.",
-            "Exit Node is value3.",
-            "Exit Node is augment3.",
-
-            "Entry Node is augment4leaf.",
-            "Exit Node is augment4leaf.",
-
-            "Entry Node is value2.",
-            "Exit Node is value2.",
-            "Exit Node is augment2.",
-            "Entry Node is augment2leafList.",
-            "Exit Node is augment2leafList.",
-            "Entry Node is augment2leaf.",
-            "Exit Node is augment2leaf.",
-
-            "Exit Node is supporting-termination-point.",
-            "Exit Node is t-point.",
-            "Entry Node is supporting-node.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Entry Node is node-ref.",
-            "Exit Node is node-ref.",
-            "Exit Node is supporting-node.",
-
-            "Exit Node is node.",
-            // last augmented sibling in network
-            "Entry Node is link-id.",
-            "Exit Node is link-id.",
-
-            "Exit Node is network.",
-            "Exit Node is networks.",
-            "Entry Node is networks-state.",
-            "Entry Node is network.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Entry Node is server-provided.",
-            "Exit Node is server-provided.",
-            "Exit Node is network.",
-            "Exit Node is networks-state.",
-            "Exit Node is yms-ietf-network.",
-            "Exit Node is yms-ietf-network."
-    };
-
-    /**
-     * Creates and validates ietf network augment ydt.
-     */
-    @Test
-    public void augmentTest() {
-        YangRequestWorkBench ydtBuilder = augmentNetworkYdt();
-        validateTree(ydtBuilder);
-        validateAppTree(ydtBuilder);
-        walkINTree(ydtBuilder, EXPECTED);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // Assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, "yms-ietf-network", null);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "yms-ietf-network", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "networks", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "network", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-id", "network1");
-        ydtNode = ydtNode.getNextSibling();
-
-        // Validating augmented child
-        validateNodeContents(ydtNode, "link", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "link-id", "id1");
-        ydtNode = ydtNode.getNextSibling();
-
-        // Inside source node
-        validateNodeContents(ydtNode, "source", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "source-node", "source1");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "source-tp", "source2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-
-        //Inside destination node
-        validateNodeContents(ydtNode, "destination", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "dest-node", "dest1");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "dest-tp", "dest2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-
-        //Inside supporting links
-        validateNodeContents(ydtNode, SLINK, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network1");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "link-ref", "id2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-
-        //Inside another supporting links instance
-        validateNodeContents(ydtNode, SLINK, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network2");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "link-ref", "id3");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-
-        validateNodeContents(ydtNode, "augment1", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "value1", "1");
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "augment2", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "key1", "1");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "key2", "2");
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "augment5", DELETE);
-        ydtNode = ydtNode.getFirstChild();
-        valueSet.add("1");
-        valueSet.add("2");
-        validateLeafListContents(ydtNode, A6L, valueSet);
-        ydtNode = ydtNode.getNextSibling();
-
-        validateLeafContents(ydtNode, "value5", "5");
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafListContents(ydtNode, A5L, valueSet);
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "augment3", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-
-        validateNodeContents(ydtNode, "augment4", DELETE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "value4", "4");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-
-        validateNodeContents(ydtNode, "augment5", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-
-        validateLeafContents(ydtNode, "leaf6", "6");
-        ydtNode = ydtNode.getNextSibling();
-
-        validateLeafContents(ydtNode, "value5", "5");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-
-        validateNodeContents(ydtNode, "augment6", DELETE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "value6", "6");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-
-        validateLeafContents(ydtNode, "value3", "3");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "augment3leaf", "3");
-
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafListContents(ydtNode, A2L, valueSet);
-
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "supporting-network", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network2");
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "node", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "node-id", "node1");
-        ydtNode = ydtNode.getNextSibling();
-
-        //Inside termination-point
-        validateNodeContents(ydtNode, "t-point", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "tp-id", "tp_id1");
-        ydtNode = ydtNode.getNextSibling();
-
-        validateTerminationPointAugment(ydtNode);
-    }
-
-    /**
-     * Validates the termination point node in given built ydt.
-     */
-    private void validateTerminationPointAugment(YdtNode ydtNode) {
-
-        //Inside supporting-termination-point
-        validateNodeContents(ydtNode, STP, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network-ref");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "node-ref", "node-ref");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "tp-ref", "tp-ref");
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "augment1", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "value1", "1");
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "augment1-leaf", "1");
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "augment2", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-
-        validateNodeContents(ydtNode, "augment3", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "value3", "3");
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "augment4leaf", "4");
-
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "value2", "2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafListContents(ydtNode, A2L, valueSet);
-
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "augment2leaf", "2");
-
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "supporting-node", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network3");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "node-ref", "network4");
-
-        ydtNode = ydtNode.getParent().getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "link-id", "id1");
-        ydtNode = ydtNode.getParent().getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "networks-state", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "network", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network5");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "server-provided", "true");
-    }
-
-    /**
-     * Validates the given built ydt application tree.
-     */
-    private void validateAppTree(YangRequestWorkBench ydtBuilder) {
-
-        // Assign root node to ydtNode for validating purpose.
-        YdtAppContext ydtAppContext = ydtBuilder.getAppRootNode();
-        // Logical root node does not have operation type
-        validateAppLogicalNodeContents(ydtAppContext);
-        ydtAppContext = ydtAppContext.getFirstChild();
-        validateAppModuleNodeContents(ydtAppContext, IETF, BOTH);
-        ydtAppContext = ydtAppContext.getFirstChild();
-
-        //Inside link node
-        validateAppNodeContents(ydtAppContext, AUG1, TOPONS, BOTH);
-        ydtAppContext = ydtAppContext.getFirstChild();
-        validateAppNodeContents(ydtAppContext, AUG3, A1, OTHER_EDIT);
-        assertNull(ydtAppContext.getFirstChild());
-        assertNull(ydtAppContext.getPreviousSibling());
-        ydtAppContext = ydtAppContext.getNextSibling();
-        validateAppNodeContents(ydtAppContext, AUG3, A2, BOTH);
-
-        ydtAppContext = ydtAppContext.getFirstChild();
-        validateAppNodeContents(ydtAppContext, AUG5, A5, DELETE_ONLY);
-
-        ydtAppContext = ydtAppContext.getFirstChild();
-        validateAppNodeContents(ydtAppContext, AUG9, A6, DELETE_ONLY);
-        ydtAppContext = ydtAppContext.getParent();
-
-        ydtAppContext = ydtAppContext.getNextSibling();
-        validateAppNodeContents(ydtAppContext, AUG5, A3, BOTH);
-
-        ydtAppContext = ydtAppContext.getFirstChild();
-        validateAppNodeContents(ydtAppContext, AUG7, A4, DELETE_ONLY);
-
-        ydtAppContext = ydtAppContext.getNextSibling();
-        validateAppNodeContents(ydtAppContext, AUG7, A5, OTHER_EDIT);
-
-        ydtAppContext = ydtAppContext.getFirstChild();
-        validateAppNodeContents(ydtAppContext, AUG8, A6, OTHER_EDIT);
-        ydtAppContext = ydtAppContext.getParent();
-
-        ydtAppContext = ydtAppContext.getNextSibling();
-        validateAppNodeContents(ydtAppContext, AUG7, A6, DELETE_ONLY);
-
-        ydtAppContext = ydtAppContext.getParent();
-        ydtAppContext = ydtAppContext.getParent();
-        ydtAppContext = ydtAppContext.getParent();
-
-        ydtAppContext = ydtAppContext.getNextSibling();
-
-        validateAppNodeContents(ydtAppContext, AUG2, TOPONS, OTHER_EDIT);
-        ydtAppContext = ydtAppContext.getFirstChild();
-        validateAppNodeContents(ydtAppContext, AUG4, A1, OTHER_EDIT);
-        assertNull(ydtAppContext.getFirstChild());
-        assertNull(ydtAppContext.getPreviousSibling());
-        ydtAppContext = ydtAppContext.getNextSibling();
-        validateAppNodeContents(ydtAppContext, AUG4, A2, OTHER_EDIT);
-        assertNull(ydtAppContext.getNextSibling());
-        ydtAppContext = ydtAppContext.getFirstChild();
-        validateAppNodeContents(ydtAppContext, AUG6, A3, OTHER_EDIT);
-
-        ydtAppContext = ydtAppContext.getNextSibling();
-        validateAppNodeContents(ydtAppContext, AUG6, A4, OTHER_EDIT);
-        assertNull(ydtAppContext.getFirstChild());
-        assertNull(ydtAppContext.getNextSibling());
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/FoodArenaTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/FoodArenaTest.java
deleted file mode 100644
index 7f058a9..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/FoodArenaTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.onosproject.yms.app.ydt.YdtTestUtils.foodArenaYdt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.walkINTree;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class FoodArenaTest {
-
-    // Logger list is used for walker testing.
-    private final List<String> logger = new ArrayList<>();
-
-    private static final String[] EXPECTED = {
-            "Entry Node is foodarena.",
-            "Entry Node is food.",
-            "Entry Node is food.",
-            "Entry Node is chocolate.",
-            "Exit Node is chocolate.",
-            "Exit Node is food.",
-            "Exit Node is food.",
-            "Exit Node is foodarena."
-    };
-
-    /**
-     * Creates and validates food arena ydt.
-     */
-    @Test
-    public void foodArenaTest() throws IOException {
-
-        YangRequestWorkBench ydtBuilder = foodArenaYdt();
-        validateTree(ydtBuilder);
-        walkINTree(ydtBuilder, EXPECTED);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-        // Assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, "foodarena", null);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "food", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "food", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "chocolate", "dark");
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/IetfNetworkTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/IetfNetworkTest.java
deleted file mode 100644
index 0befc4d..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/IetfNetworkTest.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-
-import static org.onosproject.yms.app.ydt.YdtTestUtils.ietfNetwork1Ydt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.walkINTree;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class IetfNetworkTest {
-
-    private static final String[] EXPECTED = {
-            "Entry Node is yms-ietf-network.",
-            "Entry Node is yms-ietf-network.",
-            "Entry Node is networks.",
-            "Entry Node is network.",
-            "Entry Node is network-id.",
-            "Exit Node is network-id.",
-            "Entry Node is supporting-network.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Exit Node is supporting-network.",
-            "Entry Node is node.",
-            "Entry Node is node-id.",
-            "Exit Node is node-id.",
-            "Entry Node is supporting-node.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Entry Node is node-ref.",
-            "Exit Node is node-ref.",
-            "Exit Node is supporting-node.",
-            "Exit Node is node.",
-            "Exit Node is network.",
-            "Exit Node is networks.",
-            "Entry Node is networks-state.",
-            "Entry Node is network.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Entry Node is server-provided.",
-            "Exit Node is server-provided.",
-            "Exit Node is network.",
-            "Exit Node is networks-state.",
-            "Exit Node is yms-ietf-network.",
-            "Exit Node is yms-ietf-network."
-    };
-
-    /**
-     * Creates and validates ietf network ydt.
-     */
-    @Test
-    public void ietfNetwork1Test() {
-        YangRequestWorkBench ydtBuilder = ietfNetwork1Ydt();
-        validateTree(ydtBuilder);
-        walkINTree(ydtBuilder, EXPECTED);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // Assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, "yms-ietf-network", null);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "yms-ietf-network", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "networks", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "network", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-id", "network1");
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "supporting-network", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network2");
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "node", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "node-id", "node1");
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "supporting-node", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network3");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "node-ref", "network4");
-
-        ydtNode = ydtNode.getParent().getParent().getParent().getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "networks-state", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "network", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network5");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "server-provided", "true");
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/IetfTopologyTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/IetfTopologyTest.java
deleted file mode 100644
index c757b0c..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/IetfTopologyTest.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-
-import static org.onosproject.yms.app.ydt.YdtAppNodeOperationType.OTHER_EDIT;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.AUG1;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.AUG2;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.IETF;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SLINK;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.STP;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.TOPONS;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.ietfNetworkTopologyYdt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateAppLogicalNodeContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateAppModuleNodeContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateAppNodeContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.walkINTree;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class IetfTopologyTest {
-
-    private static final String[] EXPECTED = {
-            "Entry Node is yms-ietf-network.",
-            "Entry Node is yms-ietf-network.",
-            "Entry Node is networks.",
-            "Entry Node is network.",
-            "Entry Node is network-id.",
-            "Exit Node is network-id.",
-            "Entry Node is link.",
-            "Entry Node is link-id.",
-            "Exit Node is link-id.",
-            "Entry Node is source.",
-            "Entry Node is source-node.",
-            "Exit Node is source-node.",
-            "Entry Node is source-tp.",
-            "Exit Node is source-tp.",
-            "Exit Node is source.",
-
-            "Entry Node is destination.",
-            "Entry Node is dest-node.",
-            "Exit Node is dest-node.",
-            "Entry Node is dest-tp.",
-            "Exit Node is dest-tp.",
-            "Exit Node is destination.",
-
-            "Entry Node is supporting-link.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Entry Node is link-ref.",
-            "Exit Node is link-ref.",
-            "Exit Node is supporting-link.",
-
-            "Entry Node is supporting-link.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Entry Node is link-ref.",
-            "Exit Node is link-ref.",
-            "Exit Node is supporting-link.",
-            "Exit Node is link.",
-
-            "Entry Node is supporting-network.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Exit Node is supporting-network.",
-            "Entry Node is node.",
-            "Entry Node is node-id.",
-            "Exit Node is node-id.",
-            "Entry Node is t-point.",
-            "Entry Node is tp-id.",
-            "Exit Node is tp-id.",
-
-            "Entry Node is supporting-termination-point.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Entry Node is node-ref.",
-            "Exit Node is node-ref.",
-            "Entry Node is tp-ref.",
-            "Exit Node is tp-ref.",
-
-            "Exit Node is supporting-termination-point.",
-            "Exit Node is t-point.",
-            "Entry Node is supporting-node.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Entry Node is node-ref.",
-            "Exit Node is node-ref.",
-            "Exit Node is supporting-node.",
-
-            "Exit Node is node.",
-            // last augmented sibling in network
-            "Entry Node is link-id.",
-            "Exit Node is link-id.",
-
-            "Exit Node is network.",
-            "Exit Node is networks.",
-            "Entry Node is networks-state.",
-            "Entry Node is network.",
-            "Entry Node is network-ref.",
-            "Exit Node is network-ref.",
-            "Entry Node is server-provided.",
-            "Exit Node is server-provided.",
-            "Exit Node is network.",
-            "Exit Node is networks-state.",
-            "Exit Node is yms-ietf-network.",
-            "Exit Node is yms-ietf-network."
-    };
-
-    /**
-     * Creates and validates ietf network ydt.
-     */
-    @Test
-    public void ietfNetwork1Test() {
-        YangRequestWorkBench ydtBuilder = ietfNetworkTopologyYdt();
-        validateTree(ydtBuilder);
-        validateAppTree(ydtBuilder);
-        walkINTree(ydtBuilder, EXPECTED);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // Assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, "yms-ietf-network", null);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "yms-ietf-network", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "networks", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "network", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-id", "network1");
-        ydtNode = ydtNode.getNextSibling();
-
-        // Validating augmented child
-        validateNodeContents(ydtNode, "link", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "link-id", "id1");
-        ydtNode = ydtNode.getNextSibling();
-
-        // Inside source node
-        validateNodeContents(ydtNode, "source", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "source-node", "source1");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "source-tp", "source2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-
-        //Inside destination node
-        validateNodeContents(ydtNode, "destination", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "dest-node", "dest1");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "dest-tp", "dest2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-
-        //Inside supporting links
-        validateNodeContents(ydtNode, SLINK, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network1");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "link-ref", "id2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-
-        //Inside another supporting links instance
-        validateNodeContents(ydtNode, SLINK, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network2");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "link-ref", "id3");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "supporting-network", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network2");
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "node", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "node-id", "node1");
-        ydtNode = ydtNode.getNextSibling();
-
-        //Inside termination-point
-        validateNodeContents(ydtNode, "t-point", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "tp-id", "tp_id1");
-        ydtNode = ydtNode.getNextSibling();
-
-        //Inside supporting-termination-point
-        validateNodeContents(ydtNode, STP, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network-ref");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "node-ref", "node-ref");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "tp-ref", "tp-ref");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "supporting-node", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network3");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "node-ref", "network4");
-
-        ydtNode = ydtNode.getParent().getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "link-id", "id1");
-        ydtNode = ydtNode.getParent().getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "networks-state", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "network", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "network-ref", "network5");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "server-provided", "true");
-    }
-
-    /**
-     * Validates the given built ydt application tree.
-     */
-    private void validateAppTree(YangRequestWorkBench ydtBuilder) {
-
-        // Assign root node to ydtNode for validating purpose.
-        YdtAppContext ydtAppContext = ydtBuilder.getAppRootNode();
-        // Logical root node does not have operation type
-        validateAppLogicalNodeContents(ydtAppContext);
-        ydtAppContext = ydtAppContext.getFirstChild();
-        validateAppModuleNodeContents(ydtAppContext, IETF, OTHER_EDIT);
-        ydtAppContext = ydtAppContext.getFirstChild();
-
-        //Inside link node
-        validateAppNodeContents(ydtAppContext, AUG1, TOPONS, OTHER_EDIT);
-        ydtAppContext = ydtAppContext.getNextSibling();
-
-        validateAppNodeContents(ydtAppContext, AUG2, TOPONS, OTHER_EDIT);
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/ListTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/ListTest.java
deleted file mode 100644
index 711f882..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/ListTest.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.onosproject.yangutils.datamodel.utils.builtindatatype.DataTypeException;
-import org.onosproject.yms.app.ydt.exceptions.YdtException;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import static org.junit.Assert.assertEquals;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.E_LEAF;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.E_LIST;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.E_TOPARENT;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.INV;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.LISTNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.LWC;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.getTestYdtBuilder;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.getYdtBuilder;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.listWithContainer1Ydt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.listWithContainer2Ydt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.listWithContainerYdt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.listWithoutContainerYdt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafListContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.walkINTree;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class ListTest {
-
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    private Set<String> valueSet = new HashSet();
-
-    private static final String[] ERROR = {
-            "rootlist is missing some of the keys of listwithcontainer.",
-            "Duplicate entry with name invalid.",
-            "Some of the key elements are not unique in listwithcontainer.",
-            "Too few key parameters in listwithcontainer." +
-                    " Expected 2; actual 1.",
-            "Too many key parameters in listwithcontainer." +
-                    " Expected 2; actual 3.",
-            "Application with name \"" + "invalid\" doesn't exist.",
-            "Too many instances of listwithcontainer. Expected maximum " +
-                    "instances 3.",
-            "Duplicate entry found under invalidinterval leaf-list node.",
-            "YANG file error : Input value \"string\" is not a valid uint16."
-    };
-
-    private static final String[] EXPECTED = {
-            "Entry Node is list.",
-            "Entry Node is rootlist.",
-            "Entry Node is listwithoutcontainer.",
-            "Entry Node is invalidinterval.",
-            "Exit Node is invalidinterval.",
-            "Exit Node is listwithoutcontainer.",
-            "Exit Node is rootlist.",
-            "Exit Node is list."
-    };
-
-    List<String> keysValueList = new ArrayList<>();
-
-    /**
-     * Creates and validates rootlist module with listwithoutcontainer node.
-     */
-    @Test
-    public void listwithoutcontainerTest() throws YdtException {
-        YangRequestWorkBench ydtBuilder = listWithoutContainerYdt();
-        validateTree(ydtBuilder);
-        // walker test
-        walkINTree(ydtBuilder, EXPECTED);
-    }
-
-    /**
-     * Creates and validates rootlist module with listwithcontainer node
-     * using addMultiInstanceChild interface for adding multi instance node.
-     */
-    @Test
-    public void listwithcontainerTest() throws YdtException {
-        YangRequestWorkBench ydtBuilder = listWithContainerYdt();
-        validateListwithcontainerTree(ydtBuilder);
-    }
-
-    /**
-     * Creates and validates rootlist module with listwithcontainer
-     * node using addChild interface for adding multi instance node.
-     */
-    @Test
-    public void listwithcontainer1Test() throws YdtException {
-        YangRequestWorkBench ydtBuilder = listWithContainer1Ydt();
-        validateListwithcontainerTree(ydtBuilder);
-    }
-
-    /**
-     * Creates and validates rootlist module with multiple instances of
-     * listwithcontainer node using addMultiInstanceChild interface for adding
-     * multi instance node.
-     */
-    @Test
-    public void listwithcontainer2Test() throws YdtException {
-        YangRequestWorkBench ydtBuilder = listWithContainer2Ydt();
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, "list", null);
-
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "rootlist", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "listwithoutcontainer", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, INV, "12");
-    }
-
-    /**
-     * Validates the given list with container built ydt.
-     */
-    private void validateListwithcontainerTree(
-            YangRequestWorkBench ydtBuilder) {
-
-        valueSet.add("1");
-        valueSet.add("2");
-        // assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, "list", null);
-
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "rootlist", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, LWC, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "invalid", "12");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "invalid1", "12");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafListContents(ydtNode, INV, valueSet);
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "interface", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, INV, "12");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "invalid", "121");
-    }
-
-    /**
-     * Tests the negative error scenario when application name for ydt is
-     * invalid.
-     */
-    @Test
-    public void negative1Test() {
-        thrown.expect(YdtException.class);
-        thrown.expectMessage(ERROR[5]);
-        getYdtBuilder("list", "invalid", "ydt.invalid", MERGE);
-    }
-
-    /**
-     * Tests the negative error scenario when list node is not having all
-     * key elements.
-     */
-    @Test
-    public void negative2Test() throws YdtException {
-
-        YangRequestWorkBench ydtBuilder = getTestYdtBuilder(LISTNS);
-        ydtBuilder.addChild(LWC, LISTNS);
-        ydtBuilder.addLeaf("invalid", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-
-        traversToParentErrorMsgValidator(ydtBuilder, ERROR[0]);
-    }
-
-    /**
-     * Tests the negative error scenario when duplicate entry of list node
-     * is created.
-     */
-    @Test
-    public void negative3Test() throws YdtException {
-        YangRequestWorkBench ydtBuilder = getTestYdtBuilder(LISTNS);
-        ydtBuilder.addChild(LWC, LISTNS);
-        ydtBuilder.addLeaf("invalid", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        leafErrorMsgValidator(ydtBuilder, "invalid", "12", ERROR[1]);
-    }
-
-    /**
-     * Tests the negative error scenario when key elements of list node
-     * are not unique.
-     */
-    @Test
-    public void negative4Test() throws YdtException {
-        YangRequestWorkBench ydtBuilder = getTestYdtBuilder(LISTNS);
-        ydtBuilder.addChild(LWC, LISTNS);
-        ydtBuilder.addLeaf("invalid", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("invalid1", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(LWC, LISTNS);
-        ydtBuilder.addLeaf("invalid", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("invalid1", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        traversToParentErrorMsgValidator(ydtBuilder, ERROR[2]);
-    }
-
-    /**
-     * Tests the negative error scenario when all key elements of list node
-     * are not supplied.
-     */
-    @Test
-    public void negative5Test() throws YdtException {
-        keysValueList.clear();
-        keysValueList.add("1");
-        keysValueList.add("2");
-        keysValueList.add("2");
-        YangRequestWorkBench ydtBuilder = getTestYdtBuilder(LISTNS);
-        listNodeErrorMsgValidator(ydtBuilder, keysValueList, ERROR[4]);
-
-        keysValueList.clear();
-        keysValueList.add("1");
-        ydtBuilder = getTestYdtBuilder(LISTNS);
-        listNodeErrorMsgValidator(ydtBuilder, keysValueList, ERROR[3]);
-    }
-
-    /**
-     * Tests the negative error scenario when instances of a list node are
-     * created above the allowed limit.
-     */
-    @Test
-    public void negative6Test() throws YdtException {
-        keysValueList.clear();
-        keysValueList.add("1");
-        keysValueList.add("1");
-        YangRequestWorkBench ydtBuilder = getTestYdtBuilder(LISTNS);
-        ydtBuilder.addMultiInstanceChild(LWC, LISTNS, keysValueList, null);
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(LWC, LISTNS);
-        ydtBuilder.addLeaf("invalid", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("invalid1", LISTNS, "121");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(LWC, LISTNS);
-        ydtBuilder.addLeaf("invalid", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("invalid1", LISTNS, "1211");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(LWC, LISTNS);
-        ydtBuilder.addLeaf("invalid", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("invalid1", LISTNS, "21");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        traversToParentErrorMsgValidator(ydtBuilder, ERROR[6]);
-    }
-
-    /**
-     * Tests the negative error scenario when list node is not having all
-     * key elements.
-     */
-    @Test
-    public void negative7Test() throws YdtException {
-        YangRequestWorkBench ydtBuilder = getTestYdtBuilder(LISTNS);
-        ydtBuilder.addChild(LWC, LISTNS);
-        traversToParentErrorMsgValidator(ydtBuilder, ERROR[0]);
-    }
-
-    /**
-     * Tests the negative error scenario when duplicate key entry is created
-     * inside leaf-list node.
-     */
-    @Test
-    public void negative8Test() throws YdtException {
-        YangRequestWorkBench ydtBuilder = getTestYdtBuilder(LISTNS);
-        ydtBuilder.addChild(LWC, LISTNS);
-        ydtBuilder.addLeaf("invalid", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("invalid1", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(INV, LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        leafErrorMsgValidator(ydtBuilder, INV, "12", ERROR[7]);
-    }
-
-    /**
-     * Tests the negative error scenario when string is passed for uint16 type
-     * leaf node.
-     */
-    @Test
-    public void negative9Test() throws YdtException {
-        YangRequestWorkBench ydtBuilder = getTestYdtBuilder(LISTNS);
-        ydtBuilder.addChild(LWC, LISTNS);
-        ydtBuilder.addLeaf("invalid", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("invalid1", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        leafErrorMsgValidator(ydtBuilder, INV, "string", ERROR[8]);
-    }
-
-    /**
-     * Tests the negative error scenario when duplicate key entry created
-     * inside a leaf-list node.
-     */
-    @Test
-    public void negative10Test() throws YdtException {
-        valueSet.clear();
-        valueSet.add("1");
-        valueSet.add("2");
-        valueSet.add("12");
-        YangRequestWorkBench ydtBuilder = getTestYdtBuilder(LISTNS);
-        ydtBuilder.addChild(LWC, LISTNS);
-        ydtBuilder.addLeaf("invalid", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("invalid1", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(INV, LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        thrown.expect(YdtException.class);
-        thrown.expectMessage(ERROR[7]);
-        ydtBuilder.addLeaf(INV, LISTNS, valueSet);
-    }
-
-    /**
-     * Tests the negative error scenario when string is passed for uint16 type
-     * key entry inside a leaf-list node.
-     */
-    @Test
-    public void negative11Test() throws YdtException {
-        valueSet.clear();
-        valueSet.add("string");
-        YangRequestWorkBench ydtBuilder = getTestYdtBuilder(LISTNS);
-        ydtBuilder.addChild(LWC, LISTNS);
-        ydtBuilder.addLeaf("invalid", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("invalid1", LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(INV, LISTNS, "12");
-        ydtBuilder.traverseToParent();
-        thrown.expect(DataTypeException.class);
-        thrown.expectMessage(ERROR[8]);
-        ydtBuilder.addLeaf(INV, LISTNS, valueSet);
-    }
-
-    /**
-     * Validate the error message obtained by adding multi instance node in
-     * current context against the given error string.
-     *
-     * @param bldr  ydt builder
-     * @param list  list of key values
-     * @param error error string
-     */
-    private void listNodeErrorMsgValidator(YangRequestWorkBench bldr,
-                                           List<String> list, String error) {
-        /*
-         * This try catch is explicitly written to use as utility in other
-         * test cases.
-         */
-        boolean isExpOccurred = false;
-        try {
-            bldr.addMultiInstanceChild(LWC, LISTNS, list, null);
-        } catch (YdtException e) {
-            isExpOccurred = true;
-            assertEquals(e.getMessage(), error);
-        }
-        assertEquals(E_LIST + LWC, isExpOccurred, true);
-    }
-
-    /**
-     * Validate the error message obtained by traversing back to parent of
-     * current context against the given error string.
-     *
-     * @param ydtBuilder ydt builder
-     * @param error      error string
-     */
-    private void traversToParentErrorMsgValidator(
-            YangRequestWorkBench ydtBuilder, String error) {
-        /*
-         * This try catch is explicitly written to use as utility in other
-         * test cases.
-         */
-        boolean isExpOccurred = false;
-        try {
-            ydtBuilder.traverseToParent();
-        } catch (YdtException e) {
-            isExpOccurred = true;
-            assertEquals(e.getMessage(), error);
-        }
-        assertEquals(E_TOPARENT, isExpOccurred, true);
-    }
-
-    /**
-     * Validate the error message obtained by adding leaf node in
-     * current context against the given error string.
-     *
-     * @param bldr  ydt builder
-     * @param name  name of the leaf
-     * @param val   leaf value
-     * @param error error string
-     */
-    private void leafErrorMsgValidator(
-            YangRequestWorkBench bldr, String name, String val, String error) {
-        /*
-         * This try catch is explicitly written to use as utility in other
-         * test cases.
-         */
-        boolean isExpOccurred = false;
-        try {
-            bldr.addLeaf(name, LISTNS, val);
-        } catch (YdtException e) {
-            isExpOccurred = true;
-            assertEquals(e.getMessage(), error);
-        }
-        assertEquals(E_LEAF + name, isExpOccurred, true);
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/LogisticsManagerTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/LogisticsManagerTest.java
deleted file mode 100644
index a64c4c4..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/LogisticsManagerTest.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import static org.onosproject.yms.app.ydt.YdtTestUtils.logisticsManagerYdt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafListContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.walkINTree;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class LogisticsManagerTest {
-
-    // Logger list is used for walker testing.
-    private final List<String> logger = new ArrayList<>();
-
-    private Set<String> valueSet = new HashSet();
-
-    private static final String[] EXPECTED = {
-            "Entry Node is logisticsmanager.",
-            "Entry Node is customssupervisor.",
-            "Entry Node is supervisor.",
-            "Exit Node is supervisor.",
-            "Exit Node is customssupervisor.",
-            "Entry Node is merchandisersupervisor.",
-            "Entry Node is supervisor.",
-            "Exit Node is supervisor.",
-            "Exit Node is merchandisersupervisor.",
-            "Entry Node is materialsupervisor.",
-            "Entry Node is supervisor.",
-            "Entry Node is name.",
-            "Exit Node is name.",
-            "Entry Node is departmentId.",
-            "Exit Node is departmentId.",
-            "Exit Node is supervisor.",
-            "Entry Node is supervisor.",
-            "Entry Node is name.",
-            "Exit Node is name.",
-            "Entry Node is departmentId.",
-            "Exit Node is departmentId.",
-            "Exit Node is supervisor.",
-            "Exit Node is materialsupervisor.",
-            "Entry Node is purchasingsupervisor.",
-            "Entry Node is supervisor.",
-            "Entry Node is purchasing-specialist.",
-            "Exit Node is purchasing-specialist.",
-            "Entry Node is support.",
-            "Exit Node is support.",
-            "Exit Node is supervisor.",
-            "Exit Node is purchasingsupervisor.",
-            "Entry Node is warehousesupervisor.",
-            "Entry Node is supervisor.",
-            "Exit Node is supervisor.",
-            "Exit Node is warehousesupervisor.",
-            "Entry Node is tradingsupervisor.",
-            "Entry Node is supervisor.",
-            "Exit Node is supervisor.",
-            "Exit Node is tradingsupervisor.",
-            "Entry Node is employeeid.",
-            "Entry Node is employeeid.",
-            "Exit Node is employeeid.",
-            "Exit Node is employeeid.",
-            "Exit Node is logisticsmanager."
-    };
-
-    /**
-     * Creates and validates logistics manager ydt.
-     */
-    @Test
-    public void logisticsManagerTest() {
-        YangRequestWorkBench ydtBuilder = logisticsManagerYdt();
-        validateTree(ydtBuilder);
-        // walker test
-        walkINTree(ydtBuilder, EXPECTED);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-        valueSet.add("1");
-        valueSet.add("2");
-        valueSet.add("3");
-        valueSet.add("4");
-        valueSet.add("5");
-        // assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, "logisticsmanager", null);
-
-        ydtNode = ydtNode.getFirstChild();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, "customssupervisor", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "supervisor", "abc");
-
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "merchandisersupervisor", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "supervisor", "abc");
-
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "materialsupervisor", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "supervisor", MERGE);
-
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "name", "abc");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "departmentId", "xyz");
-
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "supervisor", MERGE);
-
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "name", "ab");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "departmentId", "xy");
-
-        ydtNode = ydtNode.getParent().getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "purchasingsupervisor", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "supervisor", MERGE);
-
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "purchasing-specialist", "abc");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "support", "xyz");
-
-        ydtNode = ydtNode.getParent().getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "warehousesupervisor", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafListContents(ydtNode, "supervisor", valueSet);
-
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "tradingsupervisor", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "supervisor", "abc");
-
-        ydtNode = ydtNode.getParent();
-
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "employeeid", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafListContents(ydtNode, "employeeid", valueSet);
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/MockYangSchemaRegistry.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/MockYangSchemaRegistry.java
deleted file mode 100644
index 84c99fd..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/MockYangSchemaRegistry.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.onosproject.yangutils.datamodel.YangSchemaNode;
-import org.onosproject.yms.app.ysr.DefaultYangSchemaRegistry;
-import org.onosproject.yms.app.ysr.TestYangSchemaNodeProvider;
-import org.onosproject.yms.app.ysr.YangSchemaRegistry;
-
-import static org.junit.Assert.assertEquals;
-
-
-/**
- * Represent Yang schema registry. Yang schema registry provides
- * interface to an application to register its YANG
- * schema with YMS. It provides YANG schema nodes to YDT, YNB and YSB.
- */
-public class MockYangSchemaRegistry implements YangSchemaRegistry {
-
-
-    @Override
-    public void registerApplication(
-            Object managerObject,
-            Class<?> serviceClass) {
-    }
-
-    @Override
-    public void unRegisterApplication(Object managerObject,
-                                      Class<?> serviceClass) {
-    }
-
-    @Override
-    public Object getRegisteredApplication(YangSchemaNode yangSchemaNode) {
-        return null;
-    }
-
-    @Override
-    public YangSchemaNode getYangSchemaNodeUsingAppName(String schemaName) {
-        return null;
-    }
-
-    @Override
-    public YangSchemaNode getYangSchemaNodeUsingSchemaName(String appName) {
-
-        final String target = "target/TestYangSchemaNodeProvider";
-        TestYangSchemaNodeProvider testYangSchemaNodeProvider =
-                new TestYangSchemaNodeProvider();
-
-        String searchDir = "src/test/resources/ydtTestYangFiles/";
-
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-
-        DefaultYangSchemaRegistry registry = testYangSchemaNodeProvider
-                .getDefaultYangSchemaRegistry();
-        YangSchemaNode yangNode = registry
-                .getYangSchemaNodeUsingSchemaName(appName);
-        assertEquals(appName, yangNode.getName());
-        return yangNode;
-    }
-
-    @Override
-    public YangSchemaNode
-    getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-            String rootInterfaceFileName) {
-        return null;
-    }
-
-    @Override
-    public YangSchemaNode getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-            String rootOpParamFileName) {
-        return null;
-    }
-
-    @Override
-    public YangSchemaNode getRootYangSchemaNodeForNotification(
-            String eventSubject) {
-        return null;
-    }
-
-    @Override
-    public Class<?> getRegisteredClass(YangSchemaNode schemaNode,
-                                       String appName) {
-        return null;
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/RpcTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/RpcTest.java
deleted file mode 100644
index 8ca52c1..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/RpcTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.onosproject.yms.app.ydt.YdtTestUtils.helloOnos;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.walkINTree;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class RpcTest {
-
-    // Logger list is used for walker testing.
-    private final List<String> logger = new ArrayList<>();
-
-    private static final String[] EXPECTED = {
-            "Entry Node is Hello-ONOS.",
-            "Entry Node is Hello_ONOS.",
-            "Entry Node is hello-world.",
-            "Entry Node is input.",
-            "Entry Node is name.",
-            "Exit Node is name.",
-            "Entry Node is surName.",
-            "Exit Node is surName.",
-            "Entry Node is stringList.",
-            "Entry Node is string1.",
-            "Exit Node is string1.",
-            "Entry Node is string2.",
-            "Exit Node is string2.",
-            "Exit Node is stringList.",
-            "Exit Node is input.",
-            "Exit Node is hello-world.",
-            "Exit Node is Hello_ONOS.",
-            "Exit Node is Hello-ONOS."
-    };
-
-    /**
-     * Creates and validates hello onos ydt.
-     */
-    @Test
-    public void rpc1Test() {
-        YangRequestWorkBench ydtBuilder = helloOnos();
-        validateTree(ydtBuilder);
-        // walker test
-        walkINTree(ydtBuilder, EXPECTED);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, "Hello-ONOS", null);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "Hello_ONOS", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "hello-world", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "input", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "name", "onos");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "surName", "yang");
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "stringList", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "string1", "ON");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "string2", "LAB");
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtBitTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtBitTest.java
deleted file mode 100644
index 5446b51..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtBitTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-
-import static org.onosproject.yms.app.ydt.YdtTestConstants.BIT;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.BITNS;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.bitYdt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateErrMsg;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class YdtBitTest {
-
-    /*
-        BINARY
-
-        Positive scenario
-        input with position 0
-        input with position 1
-        input with position 2
-    */
-
-    /**
-     * Creates and validates bit ydt covering different positive scenario.
-     */
-    @Test
-    public void positiveTest() {
-        YangRequestWorkBench ydtBuilder = bitYdt();
-        validateTree(ydtBuilder);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, "builtInType", null);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "bit", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "bitList", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "bit", "disable-nagle");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "bitList", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "bit", "auto-sense-speed");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "bitList", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "bit", "ten-Mb-only");
-    }
-
-    /*
-        Negative scenario
-
-        input with position 0
-        input with position 1
-        input with position 2
-    */
-
-    /**
-     * Tests all the negative scenario's for bit data type.
-     */
-    @Test
-    public void negativeTest() {
-        validateErrMsg("bit", BITNS, "0", BIT, "bitList");
-        validateErrMsg("bit", BITNS, "default", BIT, "bitList");
-        validateErrMsg("bit", BITNS, "1", BIT, "bitList");
-        validateErrMsg("bit", BITNS, "", BIT, "bitList");
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtBooleanTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtBooleanTest.java
deleted file mode 100644
index 505c640..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtBooleanTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-
-import static org.onosproject.yms.app.ydt.YdtTestConstants.BOOL;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.BOOLNS;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.booleanYdt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateErrMsg;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class YdtBooleanTest {
-
-    /*
-        BOOLEAN
-        Positive scenario
-        input with in "booleanList" and false
-    */
-
-    /**
-     * Creates and validates boolean ydt covering different positive scenario.
-     */
-    @Test
-    public void positiveTest() {
-        YangRequestWorkBench ydtBuilder = booleanYdt();
-        validateTree(ydtBuilder);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, "builtInType", null);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "bool", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "booleanList", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "boolean", "true");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "booleanList", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "boolean", "false");
-    }
-
-    /*
-        Negative scenario
-
-        input with in non zero value in case of "booleanList"
-        input with zero value in case of false
-        input with empty value in case of false
-    */
-
-    /**
-     * Tests all the negative scenario's for boolean data type.
-     */
-    @Test
-    public void negativeTest() {
-        validateErrMsg("boolean", BOOLNS, "10", BOOL, "booleanList");
-        validateErrMsg("boolean", BOOLNS, "0", BOOL, "booleanList");
-        validateErrMsg("boolean", BOOLNS, "", BOOL, "booleanList");
-        validateErrMsg("boolean", BOOLNS, "-1", BOOL, "booleanList");
-        validateErrMsg("boolean", BOOLNS, "tru", BOOL, "booleanList");
-        validateErrMsg("boolean", BOOLNS, "boolean", BOOL, "booleanList");
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtDecimal64Test.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtDecimal64Test.java
deleted file mode 100644
index 1d15d04..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtDecimal64Test.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.exceptions.YdtException;
-
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.B;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.C;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.E;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.F;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.G;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.H;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MIDIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MRV;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.NIWMF;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.NWF;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.PIWMF;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.PWF;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.TYPE;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.decimal64Ydt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class YdtDecimal64Test {
-
-    /*
-
-    Positive scenario
-
-    input at boundry for decimal64 with fraction 2
-        i. min value
-        ii. max value
-
-    input at boundry for decimal64 with minimum fraction
-        i. min value
-        ii. mid value
-        iii. max value
-
-    input at boundry for decimal64 with maximum fraction
-        i. min value
-        ii. mid value
-        iii. max value
-
-    input with in range
-        if range is 10 to 100 for integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-    input with multi interval range
-        if range is 10..40 | 50..100 for decimal64
-            i.1. input 11
-            i.2. input 10
-            i.3. input 40
-            i.4. input 50
-            i.5. input 55
-            i.6. input 100
-
-        if range is "min .. 3.14 | 10 | 20..max" for decimal64
-            i.1. input min
-            i.2. input 2.505
-            i.3. input 3.14
-            i.4. input 10
-            i.5. input 20
-            i.6. input 92233720368547757
-            i.7. input 92233720368547758.07
-
-    */
-
-    /**
-     * Creates and validates decimal64 ydt covering different positive scenario.
-     */
-    @Test
-    public void positiveTest() throws YdtException {
-        YangRequestWorkBench ydtBuilder = decimal64Ydt();
-        validateTree(ydtBuilder);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, TYPE, null);
-
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "decimal64", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "negInt", C);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "posInt", A);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, NIWMF, F);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, PIWMF, G);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, NWF, H);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, PWF, E);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MIDIWR, "11");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MINIWR, "10");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MAXIWR, "100");
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "decimal", "11");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "decimal", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "decimal", "40");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "decimal", "50");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "decimal", "55");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "decimal", "100");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revDecimal", C);
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revDecimal", "2.505");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revDecimal", "3.14");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revDecimal", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revDecimal", "20");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revDecimal", B);
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revDecimal", A);
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtEmptyTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtEmptyTest.java
deleted file mode 100644
index ea5ee34..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtEmptyTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.exceptions.YdtException;
-
-import static org.onosproject.yms.app.ydt.YdtTestConstants.EMPTY;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.EMPTYNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.TYPE;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.emptyTypeYdt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateErrMsg;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class YdtEmptyTest {
-
-    /*
-        EMPTY
-        Positive scenario
-        input with in empty.
-    */
-
-    /**
-     * Creates and validates empty ydt covering different positive scenario.
-     */
-    @Test
-    public void positiveTest() throws YdtException {
-        YangRequestWorkBench ydtBuilder = emptyTypeYdt();
-        validateTree(ydtBuilder);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, TYPE, null);
-
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "emptydata", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "emptyList", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "empty", "");
-    }
-
-    /*
-        Negative scenario
-
-        input with " "
-        input with "tab"
-        input with """"
-    */
-
-    /**
-     * Tests all the negative scenario's for empty data type.
-     */
-    @Test
-    public void negativeTest() throws YdtException {
-        validateErrMsg("empty", EMPTYNS, " ", EMPTY, "emptyList");
-        validateErrMsg("empty", EMPTYNS, "    ", EMPTY, "emptyList");
-        validateErrMsg("empty", EMPTYNS, " ", EMPTY, "emptyList");
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtEnumTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtEnumTest.java
deleted file mode 100644
index 77c2f81..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtEnumTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.exceptions.YdtException;
-
-import static org.onosproject.yms.app.ydt.YdtTestConstants.ENUM;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.ENUMNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.TYPE;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.enumYdt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateErrMsg;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class YdtEnumTest {
-
-/*
-    ENUM
-
-    Positive scenario
-
-        input with in enum
-        input with "ten"
-        input with "hundred"
-        input with "thousand"
-*/
-
-    /**
-     * Creates and validates enum ydt covering different positive scenario.
-     */
-    @Test
-    public void positiveTest() throws YdtException {
-        YangRequestWorkBench ydtBuilder = enumYdt();
-        validateTree(ydtBuilder);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, TYPE, null);
-
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "enumtest", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "enumList", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "enumleaf", "ten");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "enumList", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "enumleaf", "hundred");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, "enumList", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "enumleaf", "thousand");
-    }
-
-    /*
-        Negative scenario
-
-        input with "10"
-        input with "thousands"
-    */
-
-    /**
-     * Tests all the negative scenario's for enum data type.
-     */
-    @Test
-    public void negativeTest() throws YdtException {
-        validateErrMsg("enumleaf", ENUMNS, "10", ENUM, "enumList");
-        validateErrMsg("enumleaf", ENUMNS, "thousands", ENUM, "enumList");
-        validateErrMsg("enumleaf", ENUMNS, "enumeration", ENUM, "enumList");
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtInteger16Test.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtInteger16Test.java
deleted file mode 100644
index 172732b..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtInteger16Test.java
+++ /dev/null
@@ -1,392 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.exceptions.YdtException;
-
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT16;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT16;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.INT16NS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT16;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MIDIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MIDUIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINUIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINVALUE;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MRV;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.RUI;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SINT16;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SUINT16;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.TYPE;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.integer16Ydt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateErrMsg;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class YdtInteger16Test {
-
-    /*
-    Positive scenario
-
-    input at boundry for integer
-        i. min value
-        ii. max value
-
-    input at boundry for uinteger
-        i. min value
-        ii. max value
-
-    input with in range
-        if range is 10 to 100 for integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-        if range is 10 to 100 for uinteger
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-    input with multi interval range
-        if range is 10..40 | 50..100 for integer
-            i.1. input 11
-            i.2. input 10
-            i.3. input 40
-            i.4. input 50
-            i.5. input 55
-            i.6. input 100
-
-        if range is 10..40 | 50..100 for uinteger
-            i.1. input 11
-            i.2. input 10
-            i.3. input 40
-            i.4. input 50
-            i.5. input 55
-            i.6. input 100
-
-        if range is "min .. 2 | 10 | 20..max" for integer
-            i.1. input -32768
-            i.2. input 1
-            i.3. input 2
-            i.4. input 10
-            i.5. input 20
-            i.6. input 100
-            i.7. input 32767
-
-         if range is "min .. 2 | 10 | 20..max" for uInteger
-            i.1. input 0
-            i.2. input 1
-            i.3. input 2
-            i.4. input 10
-            i.5. input 20
-            i.6. input 100
-            i.7. input 65535
-    */
-
-    /**
-     * Creates and validates integer16 ydt covering different positive scenario.
-     */
-    @Test
-    public void positiveTest() throws YdtException {
-        YangRequestWorkBench ydtBuilder = integer16Ydt();
-        validateTree(ydtBuilder);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, TYPE, null);
-
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "integer16", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "negInt", "-32768");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "posInt", "32767");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "minUInt", "0");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "maxUInt", "65535");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MIDIWR, "11");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MINIWR, "10");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MAXIWR, "100");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MIDUIWR, "11");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MINUIWR, "10");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MAXUIWR, "100");
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "11");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "40");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "50");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "55");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "100");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "11");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "40");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "50");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "55");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "100");
-
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "-32768");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "1");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-
-        validate1Tree(ydtNode);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validate1Tree(YdtNode ydtNode) {
-
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "20");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "100");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "32767");
-
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "0");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "1");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "20");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "100");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "65535");
-    }
-
-    /*
-        Negative scenario
-
-        wrong type input
-            i. input string instead of integer
-            ii. input string instead of uinteger
-
-    input out of range
-        i. input for int 8 range -32768 to 32767
-        i.1. input -32769
-        i.2. input 32768
-
-        ii. input for uint 8 range 0 to 65535
-        ii.1. input -32769
-        ii.2. input 65536
-
-        input out of range parameter
-            if range is 10 to 100 for int
-                i.1. input 9
-                i.2. input 101
-
-            if range is 10 to 100 for uInt
-                i.1. input 9
-                i.2. input 101
-
-        input with multi interval range
-        if range is 10..40 | 50..100 for integer
-            i.1. input 9
-            i.2. input 41
-            i.3. input 49
-            i.4. input 101
-
-        if range is 10..40 | 50..100 for uinteger
-            i.1. input 9
-            i.2. input 41
-            i.3. input 49
-            i.4. input 101
-
-        input with multi interval range
-        if range is min ..  | 10 | 20..max for integer
-            i.1. input -32769
-            i.2. input 4
-            i.3. input 9
-            i.4. input 11
-            i.5. input 19
-            i.6. input 32768
-
-        if range is min .. 3 | 10 | 20..max for uinteger
-            i.1. input -32769
-            i.2. input 4
-            i.3. input 9
-            i.4. input 11
-            i.5. input 19
-            i.6. input 65536
-
-    */
-
-    /**
-     * Tests all the negative scenario's for integer8 data type.
-     */
-    @Test
-    public void negative1Test() throws YdtException {
-        validateErrMsg("posInt", INT16NS, "integer", SINT16, null);
-        validateErrMsg("posInt", INT16NS, "integer", SINT16, null);
-        validateErrMsg("posInt", INT16NS, "127.0", SINT16, null);
-        validateErrMsg("maxUInt", INT16NS, "integer", SUINT16, null);
-        validateErrMsg("maxUInt", INT16NS, "127.0", SUINT16, null);
-        validateErrMsg("negInt", INT16NS, "-32769", SINT16, null);
-        validateErrMsg("posInt", INT16NS, "32768", SINT16, null);
-        validateErrMsg("minUInt", INT16NS, "-32769", MINVALUE, null);
-        validateErrMsg("maxUInt", INT16NS, "65536", MAXUINT16, null);
-        validateErrMsg(MINIWR, INT16NS, "9", CAPSINT16, null);
-        validateErrMsg(MAXIWR, INT16NS, "101", CAPSINT16, null);
-        validateErrMsg(MINUIWR, INT16NS, "9", CAPSUINT16, null);
-        validateErrMsg(MAXUIWR, INT16NS, "101", CAPSUINT16, null);
-
-        validateErrMsg("integer", INT16NS, "9", CAPSINT16, MRV);
-        validateErrMsg("integer", INT16NS, "41", CAPSINT16, MRV);
-        validateErrMsg("integer", INT16NS, "49", CAPSINT16, MRV);
-        validateErrMsg("integer", INT16NS, "101", CAPSINT16, MRV);
-        validateErrMsg("UnInteger", INT16NS, "9", CAPSUINT16, MRV);
-        validateErrMsg("UnInteger", INT16NS, "41", CAPSUINT16, MRV);
-        validateErrMsg("UnInteger", INT16NS, "49", CAPSUINT16, MRV);
-        validateErrMsg("UnInteger", INT16NS, "101", CAPSUINT16, MRV);
-        validateErrMsg("UnInteger", INT16NS, "9", CAPSUINT16, MRV);
-        validateErrMsg("UnInteger", INT16NS, "41", CAPSUINT16, MRV);
-        validateErrMsg("UnInteger", INT16NS, "49", CAPSUINT16, MRV);
-        validateErrMsg("UnInteger", INT16NS, "101", CAPSUINT16, MRV);
-        validateErrMsg("UnInteger", INT16NS, "9", CAPSUINT16, MRV);
-        validateErrMsg("UnInteger", INT16NS, "41", CAPSUINT16, MRV);
-        validateErrMsg("UnInteger", INT16NS, "49", CAPSUINT16, MRV);
-        validateErrMsg("UnInteger", INT16NS, "101", CAPSUINT16, MRV);
-        validateErrMsg("revInteger", INT16NS, "-32769", SINT16, MRV);
-        validateErrMsg("revInteger", INT16NS, "19", CAPSINT16, MRV);
-        validateErrMsg("revInteger", INT16NS, "4", CAPSINT16, MRV);
-        validateErrMsg("revInteger", INT16NS, "32768", SINT16, MRV);
-        validateErrMsg("revInteger", INT16NS, "9", CAPSINT16, MRV);
-        validateErrMsg("revInteger", INT16NS, "11", CAPSINT16, MRV);
-        validateErrMsg(RUI, INT16NS, "-32769", MINVALUE, MRV);
-        validateErrMsg(RUI, INT16NS, "4", CAPSUINT16, MRV);
-        validateErrMsg(RUI, INT16NS, "9", CAPSUINT16, MRV);
-        validateErrMsg(RUI, INT16NS, "11", CAPSUINT16, MRV);
-        validateErrMsg(RUI, INT16NS, "19", CAPSUINT16, MRV);
-        validateErrMsg(RUI, INT16NS, "65536", MAXUINT16, MRV);
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtInteger32Test.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtInteger32Test.java
deleted file mode 100644
index dd40ef5..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtInteger32Test.java
+++ /dev/null
@@ -1,390 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.exceptions.YdtException;
-
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT32;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT32;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.INT32NS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT32;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MIDIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MIDUIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINUIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINVALUE;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MRV;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.RUI;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SINT32;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SUINT32;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.TYPE;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.integer32Ydt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateErrMsg;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class YdtInteger32Test {
-
-    /*
-    Positive scenario
-
-    input at boundry for integer
-        i. min value
-        ii. max value
-
-    input at boundry for uinteger
-        i. min value
-        ii. max value
-
-    input with in range
-        if range is 10 to 100 for integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-        if range is 10 to 100 for uinteger
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-    input with multi interval range
-        if range is 10..40 | 50..100 for integer
-            i.1. input 11
-            i.2. input 10
-            i.3. input 40
-            i.4. input 50
-            i.5. input 55
-            i.6. input 100
-
-        if range is 10..40 | 50..100 for uinteger
-            i.1. input 11
-            i.2. input 10
-            i.3. input 40
-            i.4. input 50
-            i.5. input 55
-            i.6. input 100
-
-        if range is "min .. 2 | 10 | 20..max" for integer
-            i.1. input -2147483648
-            i.2. input 1
-            i.3. input 2
-            i.4. input 10
-            i.5. input 20
-            i.6. input 100
-            i.7. input 2147483647
-
-         if range is "min .. 2 | 10 | 20..max" for uInteger
-            i.1. input 0
-            i.2. input 1
-            i.3. input 2
-            i.4. input 10
-            i.5. input 20
-            i.6. input 100
-            i.7. input 4294967295
-    */
-
-    /**
-     * Creates and validates integer32 ydt covering different positive scenario.
-     */
-    @Test
-    public void positiveTest() throws YdtException {
-        YangRequestWorkBench ydtBuilder = integer32Ydt();
-        validateTree(ydtBuilder);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, TYPE, null);
-
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "integer32", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "negInt", "-2147483648");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "posInt", "2147483647");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "minUInt", MINVALUE);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "maxUInt", MAXUINT32);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MIDIWR, "11");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MINIWR, "10");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MAXIWR, "100");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MIDUIWR, "11");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MINUIWR, "10");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MAXUIWR, "100");
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "11");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "40");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "50");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "55");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "100");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "11");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "40");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "50");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "55");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "100");
-
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "-2147483648");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "1");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "20");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-
-        validate1Tree(ydtNode);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validate1Tree(YdtNode ydtNode) {
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "100");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "2147483647");
-
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, MINVALUE);
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "1");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "20");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "100");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, MAXUINT32);
-    }
-
-    /*
-        Negative scenario
-
-        wrong type input
-            i. input string instead of integer
-            ii. input string instead of uinteger
-
-        input out of range
-            i. input for int 8 range -2147483648 to 2147483647
-            i.1. input -2147483649
-            i.2. input 2147483648
-
-            ii. input for uint 8 range 0 to 4294967295
-            ii.1. input -2147483649
-            ii.2. input 4294967296
-
-            input out of range parameter
-                if range is 10 to 100 for int
-                    i.1. input 9
-                    i.2. input 101
-
-                if range is 10 to 100 for uInt
-                    i.1. input 9
-                    i.2. input 101
-
-            input with multi interval range
-            if range is 10..40 | 50..100 for integer
-                i.1. input 9
-                i.2. input 41
-                i.3. input 49
-                i.4. input 101
-
-            if range is 10..40 | 50..100 for uinteger
-                i.1. input 9
-                i.2. input 41
-                i.3. input 49
-                i.4. input 101
-
-            input with multi interval range
-            if range is min ..  | 10 | 20..max for integer
-                i.1. input -2147483649
-                i.2. input 4
-                i.3. input 9
-                i.4. input 11
-                i.5. input 19
-                i.6. input 256
-
-            if range is min .. 3 | 10 | 20..max for uinteger
-                i.1. input -2147483649
-                i.2. input 4
-                i.3. input 9
-                i.4. input 11
-                i.5. input 19
-                i.6. input 4294967296
-
-        */
-
-    /**
-     * Tests all the negative scenario's for integer8 data type.
-     */
-    @Test
-    public void negativeTest() throws YdtException {
-        validateErrMsg("posInt", INT32NS, "integer", SINT32, null);
-        validateErrMsg("posInt", INT32NS, "127.0", SINT32, null);
-        validateErrMsg("maxUInt", INT32NS, "integer", SUINT32, null);
-        validateErrMsg("maxUInt", INT32NS, "127.0", SUINT32, null);
-        validateErrMsg("negInt", INT32NS, "-2147483649", SINT32, null);
-        validateErrMsg("posInt", INT32NS, "2147483648", SINT32, null);
-        validateErrMsg("minUInt", INT32NS, "-2147483649", MINVALUE, null);
-        validateErrMsg("maxUInt", INT32NS, "4294967296", MAXUINT32, null);
-        validateErrMsg(MINIWR, INT32NS, "9", CAPSINT32, null);
-        validateErrMsg(MAXIWR, INT32NS, "101", CAPSINT32, null);
-        validateErrMsg(MINUIWR, INT32NS, "9", CAPSUINT32, null);
-        validateErrMsg(MAXUIWR, INT32NS, "101", CAPSUINT32, null);
-
-        validateErrMsg("integer", INT32NS, "9", CAPSINT32, MRV);
-        validateErrMsg("integer", INT32NS, "41", CAPSINT32, MRV);
-        validateErrMsg("integer", INT32NS, "49", CAPSINT32, MRV);
-        validateErrMsg("integer", INT32NS, "101", CAPSINT32, MRV);
-        validateErrMsg("UnInteger", INT32NS, "9", CAPSUINT32, MRV);
-        validateErrMsg("UnInteger", INT32NS, "41", CAPSUINT32, MRV);
-        validateErrMsg("UnInteger", INT32NS, "49", CAPSUINT32, MRV);
-        validateErrMsg("UnInteger", INT32NS, "101", CAPSUINT32, MRV);
-        validateErrMsg("UnInteger", INT32NS, "9", CAPSUINT32, MRV);
-        validateErrMsg("UnInteger", INT32NS, "41", CAPSUINT32, MRV);
-        validateErrMsg("UnInteger", INT32NS, "49", CAPSUINT32, MRV);
-        validateErrMsg("UnInteger", INT32NS, "101", CAPSUINT32, MRV);
-        validateErrMsg("UnInteger", INT32NS, "9", CAPSUINT32, MRV);
-        validateErrMsg("UnInteger", INT32NS, "41", CAPSUINT32, MRV);
-        validateErrMsg("UnInteger", INT32NS, "49", CAPSUINT32, MRV);
-        validateErrMsg("UnInteger", INT32NS, "101", CAPSUINT32, MRV);
-        validateErrMsg("revInteger", INT32NS, "-2147483649", SINT32, MRV);
-        validateErrMsg("revInteger", INT32NS, "4", CAPSINT32, MRV);
-        validateErrMsg("revInteger", INT32NS, "9", CAPSINT32, MRV);
-        validateErrMsg("revInteger", INT32NS, "11", CAPSINT32, MRV);
-        validateErrMsg("revInteger", INT32NS, "19", CAPSINT32, MRV);
-        validateErrMsg("revInteger", INT32NS, "2147483648", SINT32, MRV);
-        validateErrMsg(RUI, INT32NS, "-2147483649", MINVALUE, MRV);
-        validateErrMsg(RUI, INT32NS, "4", CAPSUINT32, MRV);
-        validateErrMsg(RUI, INT32NS, "9", CAPSUINT32, MRV);
-        validateErrMsg(RUI, INT32NS, "11", CAPSUINT32, MRV);
-        validateErrMsg(RUI, INT32NS, "19", CAPSUINT32, MRV);
-        validateErrMsg(RUI, INT32NS, "4294967296", MAXUINT32, MRV);
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtInteger64Test.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtInteger64Test.java
deleted file mode 100644
index 136381d..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtInteger64Test.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.exceptions.YdtException;
-
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT64;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT64;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.I;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.INT64NS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.J;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.K;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.L;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.M;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT64;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MIDIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MIDUIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINUIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINVALUE;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MRV;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.RUI;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLINT64;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLUINT64;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.TYPE;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.integer64Ydt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateErrMsg;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class YdtInteger64Test {
-
-    /*
-
-    Positive scenario
-
-    input at boundry for integer
-        i. min value
-        ii. max value
-
-    input at boundry for uinteger
-        i. min value
-        ii. max value
-
-    input with in range
-        if range is 10 to 100 for integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-        if range is 10 to 100 for uinteger
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-    input with multi interval range
-        if range is 10..40 | 50..100 for integer
-            i.1. input 11
-            i.2. input 10
-            i.3. input 40
-            i.4. input 50
-            i.5. input 55
-            i.6. input 100
-
-        if range is 10..40 | 50..100 for uinteger
-            i.1. input 11
-            i.2. input 10
-            i.3. input 40
-            i.4. input 50
-            i.5. input 55
-            i.6. input 100
-
-        if range is "min .. 2 | 10 | 20..max" for integer
-            i.1. input -9223372036854775808
-            i.2. input 1
-            i.3. input 2
-            i.4. input 10
-            i.5. input 20
-            i.6. input 100
-            i.7. input 9223372036854775807
-
-         if range is "min .. 2 | 10 | 20..max" for uInteger
-            i.1. input 0
-            i.2. input 1
-            i.3. input 2
-            i.4. input 10
-            i.5. input 20
-            i.6. input 100
-            i.7. input 18446744073709551615
-    */
-
-    /**
-     * Creates and validates integer64 ydt covering different positive scenario.
-     */
-    @Test
-    public void positiveTest() throws YdtException {
-        YangRequestWorkBench ydtBuilder = integer64Ydt();
-        validateTree(ydtBuilder);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, TYPE, null);
-
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "integer64", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "negInt", K);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "posInt", J);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "minUInt", MINVALUE);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "maxUInt", MAXUINT64);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MIDIWR, "11");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MINIWR, "10");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MAXIWR, "100");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MIDUIWR, "11");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MINUIWR, "10");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MAXUIWR, "100");
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "11");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "40");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "50");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "55");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "100");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "11");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "40");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "50");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "55");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "100");
-
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", K);
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "1");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-
-        validate1Tree(ydtNode);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validate1Tree(YdtNode ydtNode) {
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "20");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "100");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", J);
-
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, MINVALUE);
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "1");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "20");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "100");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, MAXUINT64);
-    }
-
-    /*
-        Negative scenario
-
-        wrong type input
-            i. input string instead of integer
-            ii. input string instead of uinteger
-
-        input out of range
-            i. input for int 8 range -9223372036854775808 to 9223372036854775807
-            i.1. input -9223372036854775809
-            i.2. input 9223372036854775808
-
-            ii. input for uint 8 range 0 to 18446744073709551615
-            ii.1. input -9223372036854775809
-            ii.2. input 18446744073709551616
-
-        input out of range parameter
-            if range is 10 to 100 for int
-                i.1. input 9
-                i.2. input 101
-
-            if range is 10 to 100 for uInt
-                i.1. input 9
-                i.2. input 101
-
-        input with multi interval range
-        if range is 10..40 | 50..100 for integer
-            i.1. input 9
-            i.2. input 41
-            i.3. input 49
-            i.4. input 101
-
-        if range is 10..40 | 50..100 for uinteger
-            i.1. input 9
-            i.2. input 41
-            i.3. input 49
-            i.4. input 101
-
-        input with multi interval range
-        if range is min ..  | 10 | 20..max for integer
-            i.1. input -9223372036854775809
-            i.2. input 4
-            i.3. input 9
-            i.4. input 11
-            i.5. input 19
-            i.6. input 9223372036854775808
-
-        if range is min .. 3 | 10 | 20..max for uinteger
-            i.1. input -9223372036854775809
-            i.2. input 4
-            i.3. input 9
-            i.4. input 11
-            i.5. input 19
-            i.6. input 18446744073709551616
-
-    */
-
-    /**
-     * Tests all the negative scenario's for integer8 data type.
-     */
-    @Test
-    public void negativeTest() throws YdtException {
-        validateErrMsg("posInt", INT64NS, "integer", SMALLINT64, null);
-        validateErrMsg("posInt", INT64NS, "integer", SMALLINT64, null);
-        validateErrMsg("posInt", INT64NS, "127.0", SMALLINT64, null);
-        validateErrMsg("maxUInt", INT64NS, "integer", SMALLUINT64, null);
-        validateErrMsg("maxUInt", INT64NS, "127.0", SMALLUINT64, null);
-        validateErrMsg("negInt", INT64NS, L, SMALLINT64, null);
-        validateErrMsg("posInt", INT64NS, I, SMALLINT64, null);
-        validateErrMsg("minUInt", INT64NS, L, MINVALUE, null);
-        validateErrMsg("maxUInt", INT64NS, M, MAXUINT64, null);
-        validateErrMsg(MINIWR, INT64NS, "9", CAPSINT64, null);
-        validateErrMsg(MAXIWR, INT64NS, "101", CAPSINT64, null);
-        validateErrMsg(MINUIWR, INT64NS, "9", CAPSUINT64, null);
-        validateErrMsg(MAXUIWR, INT64NS, "101", CAPSUINT64, null);
-
-        validateErrMsg("integer", INT64NS, "9", CAPSINT64, MRV);
-        validateErrMsg("integer", INT64NS, "41", CAPSINT64, MRV);
-        validateErrMsg("integer", INT64NS, "49", CAPSINT64, MRV);
-        validateErrMsg("integer", INT64NS, "101", CAPSINT64, MRV);
-        validateErrMsg("UnInteger", INT64NS, "9", CAPSUINT64, MRV);
-        validateErrMsg("UnInteger", INT64NS, "41", CAPSUINT64, MRV);
-        validateErrMsg("UnInteger", INT64NS, "49", CAPSUINT64, MRV);
-        validateErrMsg("UnInteger", INT64NS, "101", CAPSUINT64, MRV);
-        validateErrMsg("UnInteger", INT64NS, "9", CAPSUINT64, MRV);
-        validateErrMsg("UnInteger", INT64NS, "41", CAPSUINT64, MRV);
-        validateErrMsg("UnInteger", INT64NS, "49", CAPSUINT64, MRV);
-        validateErrMsg("UnInteger", INT64NS, "101", CAPSUINT64, MRV);
-        validateErrMsg("UnInteger", INT64NS, "9", CAPSUINT64, MRV);
-        validateErrMsg("UnInteger", INT64NS, "41", CAPSUINT64, MRV);
-        validateErrMsg("UnInteger", INT64NS, "49", CAPSUINT64, MRV);
-        validateErrMsg("UnInteger", INT64NS, "101", CAPSUINT64, MRV);
-        validateErrMsg("revInteger", INT64NS, L, SMALLINT64, MRV);
-        validateErrMsg("revInteger", INT64NS, "11", CAPSINT64, MRV);
-        validateErrMsg("revInteger", INT64NS, "4", CAPSINT64, MRV);
-        validateErrMsg("revInteger", INT64NS, "9", CAPSINT64, MRV);
-        validateErrMsg("revInteger", INT64NS, "19", CAPSINT64, MRV);
-        validateErrMsg("revInteger", INT64NS, I, SMALLINT64, MRV);
-        validateErrMsg(RUI, INT64NS, L, MINVALUE, MRV);
-        validateErrMsg(RUI, INT64NS, "4", CAPSUINT64, MRV);
-        validateErrMsg(RUI, INT64NS, "9", CAPSUINT64, MRV);
-        validateErrMsg(RUI, INT64NS, "11", CAPSUINT64, MRV);
-        validateErrMsg(RUI, INT64NS, "19", CAPSUINT64, MRV);
-        validateErrMsg(RUI, INT64NS, M, MAXUINT64, MRV);
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtInteger8Test.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtInteger8Test.java
deleted file mode 100644
index 0658f26..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtInteger8Test.java
+++ /dev/null
@@ -1,389 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.exceptions.YdtException;
-
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT8;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT8;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.INT8NS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT8;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MIDIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MIDUIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINUIWR;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINVALUE;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MRV;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.RUI;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLINT8;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLUINT8;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.TYPE;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.integer8Ydt;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateErrMsg;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateLeafContents;
-import static org.onosproject.yms.app.ydt.YdtTestUtils.validateNodeContents;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class YdtInteger8Test {
-
-    /*
-    Positive scenario
-
-    input at boundry for integer
-        i. min value
-        ii. max value
-
-    input at boundry for uinteger
-        i. min value
-        ii. max value
-
-    input with in range
-        if range is 10 to 100 for integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-        if range is 10 to 100 for uinteger
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-    input with multi interval range
-        if range is 10..40 | 50..100 for integer
-            i.1. input 11
-            i.2. input 10
-            i.3. input 40
-            i.4. input 50
-            i.5. input 55
-            i.6. input 100
-
-        if range is 10..40 | 50..100 for uinteger
-            i.1. input 11
-            i.2. input 10
-            i.3. input 40
-            i.4. input 50
-            i.5. input 55
-            i.6. input 100
-
-        if range is "min .. 2 | 10 | 20..max" for integer
-            i.1. input -128
-            i.2. input 1
-            i.3. input 2
-            i.4. input 10
-            i.5. input 20
-            i.6. input 100
-            i.7. input 127
-
-         if range is "min .. 2 | 10 | 20..max" for uInteger
-            i.1. input 0
-            i.2. input 1
-            i.3. input 2
-            i.4. input 10
-            i.5. input 20
-            i.6. input 100
-            i.7. input 255
-    */
-
-    /**
-     * Creates and validates integer8 ydt covering different positive scenario.
-     */
-    @Test
-    public void positiveTest() throws YdtException {
-        YangRequestWorkBench ydtBuilder = integer8Ydt();
-        validateTree(ydtBuilder);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validateTree(YangRequestWorkBench ydtBuilder) {
-
-        // assign root node to ydtNode for validating purpose.
-        YdtNode ydtNode = (YdtNode) ydtBuilder.getRootNode();
-        // Logical root node does not have operation type
-        validateNodeContents(ydtNode, TYPE, null);
-
-        ydtNode = ydtNode.getFirstChild();
-        validateNodeContents(ydtNode, "integer8", MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "negInt", "-128");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "posInt", "127");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "minUInt", MINVALUE);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, "maxUInt", MAXUINT8);
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MIDIWR, "11");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MINIWR, "10");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MAXIWR, "100");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MIDUIWR, "11");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MINUIWR, "10");
-        ydtNode = ydtNode.getNextSibling();
-        validateLeafContents(ydtNode, MAXUIWR, "100");
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "11");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "40");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "50");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "55");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "integer", "100");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "11");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "40");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "50");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "55");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "UnInteger", "100");
-
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "-128");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "1");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        validate1Tree(ydtNode);
-    }
-
-    /**
-     * Validates the given built ydt.
-     */
-    private void validate1Tree(YdtNode ydtNode) {
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "20");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "100");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, "revInteger", "127");
-
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, MINVALUE);
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "1");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "2");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "10");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "20");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, "100");
-        ydtNode = ydtNode.getParent();
-        ydtNode = ydtNode.getNextSibling();
-        validateNodeContents(ydtNode, MRV, MERGE);
-        ydtNode = ydtNode.getFirstChild();
-        validateLeafContents(ydtNode, RUI, MAXUINT8);
-    }
-
-    /*
-        Negative scenario
-
-        wrong type input
-            i. input string instead of integer
-            ii. input string instead of uinteger
-
-        input out of range
-            i. input for int 8 range -128 to 127
-            i.1. input -129
-            i.2. input 128
-
-            ii. input for uint 8 range 0 to 255
-            ii.1. input -128
-            ii.2. input 256
-
-        input out of range parameter
-            if range is 10 to 100 for int
-                i.1. input 9
-                i.2. input 101
-
-            if range is 10 to 100 for uInt
-                i.1. input 9
-                i.2. input 101
-
-        input with multi interval range
-        if range is 10..40 | 50..100 for integer
-            i.1. input 9
-            i.2. input 41
-            i.3. input 49
-            i.4. input 101
-
-        if range is 10..40 | 50..100 for uinteger
-            i.1. input 9
-            i.2. input 41
-            i.3. input 49
-            i.4. input 101
-
-        input with multi interval range
-        if range is min ..  | 10 | 20..max for integer
-            i.1. input -129
-            i.2. input 4
-            i.3. input 9
-            i.4. input 11
-            i.5. input 19
-            i.6. input 128
-
-        if range is min .. 3 | 10 | 20..max for uinteger
-            i.1. input -129
-            i.2. input 4
-            i.3. input 9
-            i.4. input 11
-            i.5. input 19
-            i.6. input 256
-
-    */
-
-    /**
-     * Tests all the negative scenario's for integer8 data type.
-     */
-    @Test
-    public void negativeTest() throws YdtException {
-        validateErrMsg("posInt", INT8NS, "integer", SMALLINT8, null);
-        validateErrMsg("posInt", INT8NS, "127.0", SMALLINT8, null);
-        validateErrMsg("maxUInt", INT8NS, "integer", SMALLUINT8, null);
-        validateErrMsg("maxUInt", INT8NS, "127.0", SMALLUINT8, null);
-        validateErrMsg("negInt", INT8NS, "-129", SMALLINT8, null);
-        validateErrMsg("posInt", INT8NS, "128", SMALLINT8, null);
-        validateErrMsg("minUInt", INT8NS, "-128", MINVALUE, null);
-        validateErrMsg("maxUInt", INT8NS, "256", MAXUINT8, null);
-        validateErrMsg(MINIWR, INT8NS, "9", CAPSINT8, null);
-        validateErrMsg(MAXIWR, INT8NS, "101", CAPSINT8, null);
-        validateErrMsg(MINUIWR, INT8NS, "9", CAPSUINT8, null);
-        validateErrMsg(MAXUIWR, INT8NS, "101", CAPSUINT8, null);
-
-        validateErrMsg("integer", INT8NS, "9", CAPSINT8, MRV);
-        validateErrMsg("integer", INT8NS, "41", CAPSINT8, MRV);
-        validateErrMsg("integer", INT8NS, "49", CAPSINT8, MRV);
-        validateErrMsg("integer", INT8NS, "101", CAPSINT8, MRV);
-        validateErrMsg("UnInteger", INT8NS, "9", CAPSUINT8, MRV);
-        validateErrMsg("UnInteger", INT8NS, "41", CAPSUINT8, MRV);
-        validateErrMsg("UnInteger", INT8NS, "49", CAPSUINT8, MRV);
-        validateErrMsg("UnInteger", INT8NS, "101", CAPSUINT8, MRV);
-        validateErrMsg("UnInteger", INT8NS, "9", CAPSUINT8, MRV);
-        validateErrMsg("UnInteger", INT8NS, "41", CAPSUINT8, MRV);
-        validateErrMsg("UnInteger", INT8NS, "49", CAPSUINT8, MRV);
-        validateErrMsg("UnInteger", INT8NS, "101", CAPSUINT8, MRV);
-        validateErrMsg("UnInteger", INT8NS, "9", CAPSUINT8, MRV);
-        validateErrMsg("UnInteger", INT8NS, "41", CAPSUINT8, MRV);
-        validateErrMsg("UnInteger", INT8NS, "49", CAPSUINT8, MRV);
-        validateErrMsg("UnInteger", INT8NS, "101", CAPSUINT8, MRV);
-        validateErrMsg("revInteger", INT8NS, "-129", SMALLINT8, MRV);
-        validateErrMsg("revInteger", INT8NS, "128", SMALLINT8, MRV);
-        validateErrMsg("revInteger", INT8NS, "4", CAPSINT8, MRV);
-        validateErrMsg("revInteger", INT8NS, "11", CAPSINT8, MRV);
-        validateErrMsg("revInteger", INT8NS, "9", CAPSINT8, MRV);
-        validateErrMsg("revInteger", INT8NS, "19", CAPSINT8, MRV);
-        validateErrMsg(RUI, INT8NS, "-129", MINVALUE, MRV);
-        validateErrMsg(RUI, INT8NS, "4", CAPSUINT8, MRV);
-        validateErrMsg(RUI, INT8NS, "9", CAPSUINT8, MRV);
-        validateErrMsg(RUI, INT8NS, "11", CAPSUINT8, MRV);
-        validateErrMsg(RUI, INT8NS, "19", CAPSUINT8, MRV);
-        validateErrMsg(RUI, INT8NS, "256", MAXUINT8, MRV);
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtTestConstants.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtTestConstants.java
deleted file mode 100644
index daa5ce3..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtTestConstants.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-/**
- * Represents common constant utility for YANG data tree UT framework.
- */
-final class YdtTestConstants {
-
-    // No instantiation.
-    private YdtTestConstants() {
-    }
-
-    public static final String BACKSLASH = "\"";
-    public static final String PERIOD = ".";
-    public static final String A = "92233720368547758.07";
-    public static final String B = "92233720368547757";
-    public static final String C = "-92233720368547758.08";
-    public static final String D = "92233720368547757";
-    public static final String E = "9.223372036854775807";
-    public static final String F = "-922337203685477580.8";
-    public static final String G = "922337203685477580.7";
-    public static final String H = "-9.223372036854775808";
-    public static final String I = "9223372036854775808";
-    public static final String J = "9223372036854775807";
-    public static final String K = "-9223372036854775808";
-    public static final String L = "-9223372036854775809";
-    public static final String M = "18446744073709551616";
-    public static final String NWF = "negIntWithMaxFraction";
-    public static final String PWF = "posIntWithMaxFraction";
-    public static final String NIWMF = "negIntWithMinFraction";
-    public static final String PIWMF = "posIntWithMinFraction";
-    public static final String CAPSUINT8 = "UINT8";
-    public static final String CAPSINT8 = "INT8";
-    public static final String SMALLUINT8 = "uint8.";
-    public static final String SMALLINT8 = "int8.";
-    public static final String MAXUINT8 = "255";
-    public static final String CAPSUINT16 = "UINT16";
-    public static final String CAPSINT16 = "INT16";
-    public static final String SUINT16 = "uint16.";
-    public static final String SINT16 = "int16.";
-    public static final String MAXUINT16 = "65535";
-    public static final String CAPSUINT32 = "UINT32";
-    public static final String CAPSINT32 = "INT32";
-    public static final String SUINT32 = "uint32.";
-    public static final String SINT32 = "int32.";
-    public static final String MAXUINT32 = "4294967295";
-    public static final String CAPSUINT64 = "UINT64";
-    public static final String CAPSINT64 = "INT64";
-    public static final String SMALLUINT64 = "uint64.";
-    public static final String SMALLINT64 = "int64.";
-    public static final String MAXUINT64 = "18446744073709551615";
-    public static final String MINVALUE = "0";
-    public static final String MINIWR = "minIntWithRange";
-    public static final String MIDIWR = "midIntWithRange";
-    public static final String MAXIWR = "maxIntWithRange";
-    public static final String MINUIWR = "minUIntWithRange";
-    public static final String MIDUIWR = "midUIntWithRange";
-    public static final String MAXUIWR = "maxUIntWithRange";
-    public static final String MRV = "multiRangeValidation";
-    public static final String RUI = "revUnInteger";
-    public static final String TYPE = "builtInType";
-    public static final String INT8NS = "ydt.integer8";
-    public static final String BIT = "BITS";
-    public static final String BOOL = "BOOLEAN";
-    public static final String EMPTY = "";
-    public static final String ENUM = "ENUMERATION";
-    public static final String LIST = "List";
-    public static final String LWC = "listwithcontainer";
-    public static final String INV = "invalidinterval";
-    public static final String INT16NS = "ydt.integer16";
-    public static final String INT32NS = "ydt.integer32";
-    public static final String INT64NS = "ydt.integer64";
-    public static final String BITNS = "ydt.bit";
-    public static final String BOOLNS = "ydt.boolean";
-    public static final String EMPTYNS = "ydt.emptydata";
-    public static final String ENUMNS = "ydt.enumtest";
-    public static final String LISTNS = "ydt.rootlist";
-    public static final String A1 = "ydt.augment-topology1";
-    public static final String A2 = "ydt.augment-topology2";
-    public static final String A3 = "ydt.augment-topology3";
-    public static final String A4 = "ydt.augment-topology4";
-    public static final String A5 = "ydt.augment-topology5";
-    public static final String A6 = "ydt.augment-topology6";
-    public static final String A2L = "augment2leafList";
-    public static final String A5L = "augment5leafList";
-    public static final String A6L = "augment6leafList";
-    public static final String MATERIALNS = "ydt.material-supervisor";
-    public static final String PURCHASNS = "ydt.purchasing-supervisor";
-    public static final String WAREHNS = "ydt.warehouse-supervisor";
-    public static final String TRADNS = "ydt.trading-supervisor";
-    public static final String EMPNS = "ydt.employee-id";
-    public static final String COUSTOMNS = "ydt.customs-supervisor";
-    public static final String MERCHNS = "ydt.Merchandiser-supervisor";
-    public static final String STP = "supporting-termination-point";
-    public static final String SLINK = "supporting-link";
-    public static final String AUG1 = "/nd:networks/nd:network";
-    public static final String AUG2 = "/nd:networks/nd:network/nd:node";
-    public static final String AUG3 = "/nd:networks/nd:network/topo:link";
-    public static final String AUG4 = "/nd:networks/nd:network/nd:node/" +
-            "topo:t-point/supporting-termination-point";
-    public static final String AUG5 = "/nd:networks/nd:network/topo:link/" +
-            "aug2:augment2";
-    public static final String AUG6 = "/nd:networks/nd:network/nd:node/" +
-            "topo:t-point/supporting-termination-point/aug2:augment2";
-    public static final String AUG7 = "/nd:networks/nd:network/topo:link/" +
-            "aug2:augment2/aug3:augment3";
-    public static final String AUG8 = "/nd:networks/nd:network/topo:link/" +
-            "aug2:augment2/aug3:augment3/aug5:augment5";
-    public static final String AUG9 = "/nd:networks/nd:network/topo:link/" +
-            "aug2:augment2/aug5:augment5";
-    public static final String NETNS = "ydt.augmentNetwork";
-    public static final String IETFNS =
-            "urn:ietf:params:xml:ns:yang:ietf-network";
-    public static final String IETF = "yms-ietf-network";
-    public static final String TOPONS =
-            "urn:ietf:params:xml:ns:yang:ietf-network-topology";
-    public static final String E_LEAF = "Exception has not occurred for " +
-            "invalid leaf value with name ";
-    public static final String E_LIST = "Exception has not occurred for " +
-            "invalid node addition with the name ";
-    public static final String E_TOPARENT = "Exception has not occurred " +
-            "in traverse back to parent for multi instance node.";
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtTestUtils.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtTestUtils.java
deleted file mode 100644
index f375c1a..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ydt/YdtTestUtils.java
+++ /dev/null
@@ -1,1792 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.yms.app.ydt;
-
-import org.junit.Rule;
-import org.junit.rules.ExpectedException;
-import org.onosproject.yms.app.ydt.exceptions.YdtException;
-import org.onosproject.yms.app.ysr.TestYangSchemaNodeProvider;
-import org.onosproject.yms.app.ysr.YangSchemaRegistry;
-import org.onosproject.yms.ydt.YdtContext;
-import org.onosproject.yms.ydt.YdtContextOperationType;
-import org.onosproject.yms.ydt.YdtListener;
-import org.onosproject.yms.ydt.YdtType;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A1;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A2;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A2L;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A3;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A4;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A5;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A5L;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A6;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.A6L;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.BACKSLASH;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.BIT;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.BITNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.BOOL;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.BOOLNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT16;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT32;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT64;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT8;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT16;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT32;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT64;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT8;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.COUSTOMNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.EMPNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.EMPTY;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.EMPTYNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.ENUM;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.ENUMNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.E_LEAF;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.IETF;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.IETFNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.INT16NS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.INT32NS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.INT64NS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.INT8NS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.INV;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.LIST;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.LISTNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.LWC;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MATERIALNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT16;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT32;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT64;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT8;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MERCHNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MINVALUE;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.MRV;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.NIWMF;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.NWF;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.PERIOD;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.PIWMF;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.PURCHASNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.PWF;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SINT16;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SINT32;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SLINK;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLINT64;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLINT8;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLUINT64;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLUINT8;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.STP;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SUINT16;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.SUINT32;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.TOPONS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.TRADNS;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.TYPE;
-import static org.onosproject.yms.app.ydt.YdtTestConstants.WAREHNS;
-import static org.onosproject.yms.ydt.YdtContextOperationType.DELETE;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-
-public class YdtTestUtils implements YdtListener {
-
-    private static List<String> kValList = new ArrayList<>();
-
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    private static YangSchemaRegistry schemaRegistry;
-
-    private static TestYangSchemaNodeProvider schemaProvider =
-            new TestYangSchemaNodeProvider();
-
-    // Logger list is used for walker testing.
-    private static final List<String> LOGGER = new ArrayList<>();
-
-    /**
-     * Returns the LOGGER with log for testing the YDT walker.
-     *
-     * @return list of logs
-     */
-    public static List<String> getLogger() {
-        return LOGGER;
-    }
-
-    /**
-     * Clear the LOGGER array.
-     */
-    public static void resetLogger() {
-        LOGGER.clear();
-    }
-
-    @Override
-    public void enterYdtNode(YdtContext ydtContext) {
-        LOGGER.add("Entry Node is " + ydtContext.getName() + PERIOD);
-    }
-
-    @Override
-    public void exitYdtNode(YdtContext ydtContext) {
-        LOGGER.add("Exit Node is " + ydtContext.getName() + PERIOD);
-    }
-
-    /**
-     * Returns schema registry of YDT.
-     *
-     * @return schema registry
-     */
-    public static YangSchemaRegistry getSchemaRegistry() {
-        return schemaRegistry;
-    }
-
-    /**
-     * Sets the ydt schema registry.
-     *
-     * @param registry schema registry
-     */
-    public static void setSchemaRegistry(YangSchemaRegistry registry) {
-        schemaRegistry = registry;
-    }
-
-    /**
-     * Returns the ydt builder for food module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench foodArenaYdt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder("foodarena", "food", "ydt.food", MERGE);
-        ydtBuilder.addChild("food", "ydt.food");
-//        ydtBuilder.addChild("snack", null, "ydt.food");
-//        ydtBuilder.addChild("latenight", null, "ydt.food");
-        ydtBuilder.addLeaf("chocolate", "ydt.food", "dark");
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for yms-ietf-network module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench ietfNetwork1Ydt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder(IETF, IETF, IETFNS, MERGE);
-        // Adding container
-        ydtBuilder.addChild("networks", null);
-        // Adding list inside container
-        ydtBuilder.addChild("network", null);
-        // Adding key element network Id
-        ydtBuilder.addLeaf("network-id", null, "network1");
-        ydtBuilder.traverseToParent();
-
-        // Adding list inside list
-        ydtBuilder.addChild("supporting-network", null);
-        // Adding key element network-ref
-        ydtBuilder.addLeaf("network-ref", null, "network2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        // Adding list inside list
-        ydtBuilder.addChild("node", null);
-        // Adding key element node-id
-        ydtBuilder.addLeaf("node-id", null, "node1");
-        ydtBuilder.traverseToParent();
-
-        // Adding list inside list
-        ydtBuilder.addChild("supporting-node", null);
-        // Adding key element network-ref
-        ydtBuilder.addLeaf("network-ref", null, "network3");
-        ydtBuilder.traverseToParent();
-
-        // Adding key element node-ref
-        ydtBuilder.addLeaf("node-ref", null, "network4");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        // Adding container
-        ydtBuilder.addChild("networks-state", null);
-        // Adding list inside container
-        ydtBuilder.addChild("network", null);
-        // Adding key element network-ref
-        ydtBuilder.addLeaf("network-ref", null, "network5");
-        ydtBuilder.traverseToParent();
-        // Adding leaf server-provided
-        ydtBuilder.addLeaf("server-provided", null, "true");
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for yms-ietf-network-topology module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench ietfNetworkTopologyYdt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder(IETF, IETF, IETFNS, MERGE);
-        // Adding container
-        ydtBuilder.addChild("networks", IETFNS, MERGE);
-        // Adding list inside container
-        ydtBuilder.addChild("network", IETFNS, MERGE);
-
-        // Adding key element network Id
-        ydtBuilder.addLeaf("network-id", null, "network1");
-        ydtBuilder.traverseToParent();
-
-        kValList.clear();
-        kValList.add("id1");
-        // adding the augmented node
-        ydtBuilder.addMultiInstanceChild("link", TOPONS, kValList, MERGE);
-        // container source
-        ydtBuilder.addChild("source", TOPONS, MERGE);
-        ydtBuilder.addLeaf("source-node", null, "source1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("source-tp", null, "source2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        // container destination
-        ydtBuilder.addChild("destination", TOPONS, MERGE);
-        ydtBuilder.addLeaf("dest-node", null, "dest1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("dest-tp", null, "dest2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        kValList.clear();
-        kValList.add("network1");
-        kValList.add("id2");
-        // adding the supporting-link list node
-        ydtBuilder.addMultiInstanceChild(SLINK, TOPONS, kValList, MERGE);
-        ydtBuilder.traverseToParent();
-
-        kValList.clear();
-        kValList.add("network2");
-        kValList.add("id3");
-        // adding the supporting-link list another instance
-        ydtBuilder.addMultiInstanceChild(SLINK, TOPONS, kValList, MERGE);
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        // Adding list inside list
-        ydtBuilder.addChild("supporting-network", null);
-        // Adding key element network-ref
-        ydtBuilder.addLeaf("network-ref", null, "network2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        // Adding list inside list
-        ydtBuilder.addChild("node", null);
-        // Adding key element node-id
-        ydtBuilder.addLeaf("node-id", null, "node1");
-        ydtBuilder.traverseToParent();
-
-        kValList.clear();
-        kValList.add("tp_id1");
-        //adding augmented termination-point list
-        ydtBuilder.addMultiInstanceChild("t-point", TOPONS,
-                                         kValList, MERGE);
-        kValList.clear();
-        kValList.add("network-ref");
-        kValList.add("node-ref");
-        kValList.add("tp-ref");
-        //adding supporting-termination-point
-        ydtBuilder.addMultiInstanceChild(STP, TOPONS, kValList, MERGE);
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        // Adding list inside list
-        ydtBuilder.addChild("supporting-node", null);
-        // Adding key element network-ref
-        ydtBuilder.addLeaf("network-ref", null, "network3");
-        ydtBuilder.traverseToParent();
-
-        // Adding key element node-ref
-        ydtBuilder.addLeaf("node-ref", null, "network4");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("link-id", TOPONS, "id1");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        // Adding container
-        ydtBuilder.addChild("networks-state", null);
-        // Adding list inside container
-        ydtBuilder.addChild("network", null);
-        // Adding key element network-ref
-        ydtBuilder.addLeaf("network-ref", null, "network5");
-        ydtBuilder.traverseToParent();
-        // Adding leaf server-provided
-        ydtBuilder.addLeaf("server-provided", null, "true");
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for augmented module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench augmentNetworkYdt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder(IETF, IETF, IETFNS, MERGE);
-        // Adding container
-        ydtBuilder.addChild("networks", IETFNS, MERGE);
-        // Adding list inside container
-        ydtBuilder.addChild("network", IETFNS, MERGE);
-
-        // Adding key element network Id
-        ydtBuilder.addLeaf("network-id", null, "network1");
-        ydtBuilder.traverseToParent();
-
-        kValList.clear();
-        kValList.add("id1");
-        // adding the augmented node
-        ydtBuilder.addMultiInstanceChild("link", TOPONS, kValList, MERGE);
-        // container source
-        ydtBuilder.addChild("source", TOPONS, MERGE);
-        ydtBuilder.addLeaf("source-node", null, "source1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("source-tp", null, "source2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        // container destination
-        ydtBuilder.addChild("destination", TOPONS, MERGE);
-        ydtBuilder.addLeaf("dest-node", null, "dest1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("dest-tp", null, "dest2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        kValList.clear();
-        kValList.add("network1");
-        kValList.add("id2");
-        // adding the supporting-link list node
-        ydtBuilder.addMultiInstanceChild(SLINK, TOPONS, kValList, MERGE);
-        ydtBuilder.traverseToParent();
-
-        kValList.clear();
-        kValList.add("network2");
-        kValList.add("id3");
-        // adding the supporting-link list another instance
-        ydtBuilder.addMultiInstanceChild(SLINK, TOPONS, kValList, MERGE);
-        ydtBuilder.traverseToParent();
-
-        kValList.clear();
-        kValList.add("1");
-        ydtBuilder.addMultiInstanceChild("augment1", A1, kValList, MERGE);
-        ydtBuilder.traverseToParent();
-
-        kValList.clear();
-        kValList.add("1");
-        kValList.add("2");
-        ydtBuilder.addMultiInstanceChild("augment2", A2, kValList, MERGE);
-
-        ydtBuilder.addChild("augment5", A5, DELETE);
-
-        ydtBuilder.addMultiInstanceChild(A6L, A6, kValList, DELETE);
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("value5", null, "5");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addMultiInstanceChild(A5L, A5, kValList, DELETE);
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild("augment3", A3, MERGE);
-
-        ydtBuilder.addChild("augment4", A4, DELETE);
-        ydtBuilder.addLeaf("value4", null, "4");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild("augment5", A5, MERGE);
-
-        ydtBuilder.addLeaf("leaf6", A6, "6");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("value5", null, "5");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild("augment6", A6, DELETE);
-        ydtBuilder.addLeaf("value6", null, "6");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("value3", null, "3");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("augment3leaf", A3, "3");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addMultiInstanceChild(A2L, A2, kValList, MERGE);
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.traverseToParent();
-
-        // Adding list inside list
-        ydtBuilder.addChild("supporting-network", null);
-        // Adding key element network-ref
-        ydtBuilder.addLeaf("network-ref", null, "network2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        // Adding list inside list
-        ydtBuilder.addChild("node", null);
-        // Adding key element node-id
-        ydtBuilder.addLeaf("node-id", null, "node1");
-        ydtBuilder.traverseToParent();
-
-        kValList.clear();
-        kValList.add("tp_id1");
-        //adding augmented termination-point list
-        ydtBuilder.addMultiInstanceChild("t-point", TOPONS,
-                                         kValList, MERGE);
-        kValList.clear();
-        kValList.add("network-ref");
-        kValList.add("node-ref");
-        kValList.add("tp-ref");
-        //adding supporting-termination-point
-        ydtBuilder.addMultiInstanceChild(STP, TOPONS, kValList, MERGE);
-
-        // Adding augmented container1 inside supporting-termination-point
-        augmentTerminationPointYdt(ydtBuilder);
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Adds augments inside supporting-termination-point in augmented module.
-     *
-     * @param ydtBuilder ydt builder which need to be updated
-     */
-    private static void augmentTerminationPointYdt(YangRequestWorkBench ydtBuilder) {
-
-        ydtBuilder.addChild("augment1", A1);
-        ydtBuilder.addLeaf("value1", null, "1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("augment1-leaf", A1, "1");
-
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild("augment2", A2, MERGE);
-
-        ydtBuilder.addChild("augment3", A3, MERGE);
-        ydtBuilder.addLeaf("value3", null, "3");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("augment4leaf", A4, "4");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("value2", null, "2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        kValList.clear();
-        kValList.add("1");
-        kValList.add("2");
-        ydtBuilder.addMultiInstanceChild(A2L, A2, kValList, MERGE);
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("augment2leaf", A2, "2");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        // Adding list inside list
-        ydtBuilder.addChild("supporting-node", null);
-        // Adding key element network-ref
-        ydtBuilder.addLeaf("network-ref", null, "network3");
-        ydtBuilder.traverseToParent();
-
-        // Adding key element node-ref
-        ydtBuilder.addLeaf("node-ref", null, "network4");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("link-id", TOPONS, "id1");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        // Adding container
-        ydtBuilder.addChild("networks-state", null);
-        // Adding list inside container
-        ydtBuilder.addChild("network", null);
-        // Adding key element network-ref
-        ydtBuilder.addLeaf("network-ref", null, "network5");
-        ydtBuilder.traverseToParent();
-        // Adding leaf server-provided
-        ydtBuilder.addLeaf("server-provided", null, "true");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-    }
-
-    /**
-     * Returns the ydt builder for rootlist module with listwithcontainer node
-     * using addMultiInstanceChild interface for adding multi instance node.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench listWithContainerYdt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder("list", "rootlist", "ydt.rootlist", MERGE);
-        kValList.clear();
-        kValList.add("12");
-        kValList.add("12");
-        ydtBuilder.addMultiInstanceChild(LWC, null, kValList, MERGE);
-        ydtBuilder.addLeaf(INV, null, "1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(INV, null, "2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild("interface", null);
-        ydtBuilder.addLeaf(INV, null, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("invalid", null, "121");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for rootlist module with listwithcontainer
-     * node using addChild interface for adding multi instance node.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench listWithContainer1Ydt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder("list", "rootlist", "ydt.rootlist", MERGE);
-        ydtBuilder.addChild(LWC, null);
-        ydtBuilder.addLeaf("invalid", null, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("invalid1", null, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(INV, null, "1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(INV, null, "2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild("interface", null);
-        ydtBuilder.addLeaf(INV, null, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("invalid", null, "121");
-        ydtBuilder.traverseToParent();
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for rootlist module with multiple instances of
-     * listwithcontainer node using addMultiInstanceChild interface for adding
-     * multi instance node.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench listWithContainer2Ydt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder("list", "rootlist", "ydt.rootlist", MERGE);
-        kValList.clear();
-        kValList.add("1222");
-        kValList.add("1212");
-        ydtBuilder.addMultiInstanceChild(LWC, null, kValList, MERGE);
-
-        kValList.clear();
-        kValList.add("12");
-        kValList.add("1");
-        ydtBuilder.addMultiInstanceChild(INV, null, kValList, MERGE);
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(INV, null, "122");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(INV, null, "2222");
-        ydtBuilder.traverseToParent();
-
-        kValList.clear();
-        kValList.add("1222");
-        kValList.add("1212");
-        ydtBuilder.addMultiInstanceChild(INV, null, kValList, MERGE);
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild("interface", null);
-        ydtBuilder.addLeaf(INV, null, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for rootlist module with listwithoutcontainer
-     * node.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench listWithoutContainerYdt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder("list", "rootlist", "ydt.rootlist", MERGE);
-        ydtBuilder.addChild("listwithoutcontainer", null);
-        ydtBuilder.addLeaf(INV, null, "12");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for logisticsmanager module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench logisticsManagerYdt() {
-
-        Set<String> valueSet = new HashSet();
-        valueSet.add("1");
-        valueSet.add("2");
-        valueSet.add("3");
-        valueSet.add("4");
-        valueSet.add("5");
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder("logisticsmanager", "customssupervisor",
-                                   null, MERGE);
-        ydtBuilder.addLeaf("supervisor", COUSTOMNS, "abc");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild("merchandisersupervisor", MERCHNS, MERGE);
-        ydtBuilder.addLeaf("supervisor", MERCHNS, "abc");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild("materialsupervisor", MATERIALNS, MERGE);
-        ydtBuilder.addChild("supervisor", MATERIALNS);
-        ydtBuilder.addLeaf("name", MATERIALNS, "abc");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("departmentId", MATERIALNS, "xyz");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild("supervisor", MATERIALNS);
-        ydtBuilder.addLeaf("name", MATERIALNS, "ab");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("departmentId", MATERIALNS, "xy");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild("purchasingsupervisor", PURCHASNS, MERGE);
-        ydtBuilder.addChild("supervisor", PURCHASNS);
-        ydtBuilder.addLeaf("purchasing-specialist", PURCHASNS, "abc");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("support", "ydt.purchasing-supervisor", "xyz");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild("warehousesupervisor", WAREHNS, MERGE);
-        ydtBuilder.addLeaf("supervisor", WAREHNS, valueSet);
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild("tradingsupervisor", TRADNS, MERGE);
-        ydtBuilder.addLeaf("supervisor", TRADNS, "abc");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild("employeeid", EMPNS, MERGE);
-        ydtBuilder.addLeaf("employeeid", EMPNS, valueSet);
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for bit module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench bitYdt() {
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder("builtInType", "bit", "ydt.bit", MERGE);
-        ydtBuilder.addChild("bitList", null);
-        ydtBuilder.addLeaf("bit", null, "disable-nagle");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild("bitList", null);
-        ydtBuilder.addLeaf("bit", null, "auto-sense-speed");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild("bitList", null);
-        ydtBuilder.addLeaf("bit", null, "ten-Mb-only");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild("bitList", null);
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for bool module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench booleanYdt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder("builtInType", "bool", "ydt.boolean", MERGE);
-        ydtBuilder.addChild("booleanList", null);
-        ydtBuilder.addLeaf("boolean", null, "true");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild("booleanList", null);
-        ydtBuilder.addLeaf("boolean", null, "false");
-        ydtBuilder.traverseToParent();
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for emptydata module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench emptyTypeYdt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder(
-                "builtInType", "emptydata", "ydt.emptydata", MERGE);
-        ydtBuilder.addChild("emptyList", null);
-        ydtBuilder.addLeaf("empty", null, "");
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for enumtest module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench enumYdt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder(
-                "builtInType", "enumtest", "ydt.enumtest", MERGE);
-        ydtBuilder.addChild("enumList", null);
-        ydtBuilder.addLeaf("enumleaf", null, "ten");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild("enumList", null);
-        ydtBuilder.addLeaf("enumleaf", null, "hundred");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild("enumList", null);
-        ydtBuilder.addLeaf("enumleaf", null, "thousand");
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for builtin type integer8 module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench integer8Ydt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder(
-                "builtInType", "integer8", "ydt.integer8", MERGE);
-        ydtBuilder.addLeaf("negInt", null, "-128");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("posInt", null, "127");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("minUInt", null, "0");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("maxUInt", null, "255");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("midIntWithRange", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("minIntWithRange", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("maxIntWithRange", null, "100");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("midUIntWithRange", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("minUIntWithRange", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("maxUIntWithRange", null, "100");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "40");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "50");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "55");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("UnInteger", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "40");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "50");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "55");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("revInteger", null, "-128");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "20");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "127");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "0");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "20");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "255");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for builtin type integer16 module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench integer16Ydt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder(
-                "builtInType", "integer16", "ydt.integer16", MERGE);
-        ydtBuilder.addLeaf("negInt", null, "-32768");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("posInt", null, "32767");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("minUInt", null, "0");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("maxUInt", null, "65535");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("midIntWithRange", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("minIntWithRange", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("maxIntWithRange", null, "100");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("midUIntWithRange", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("minUIntWithRange", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("maxUIntWithRange", null, "100");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "40");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "50");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "55");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("UnInteger", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "40");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "50");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "55");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("revInteger", null, "-32768");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "20");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "32767");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "0");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "20");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "65535");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for builtin type integer32 module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench integer32Ydt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder(
-                "builtInType", "integer32", "ydt.integer32", MERGE);
-        ydtBuilder.addLeaf("negInt", null, "-2147483648");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("posInt", null, "2147483647");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("minUInt", null, "0");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("maxUInt", null, "4294967295");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("midIntWithRange", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("minIntWithRange", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("maxIntWithRange", null, "100");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("midUIntWithRange", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("minUIntWithRange", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("maxUIntWithRange", null, "100");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "40");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "50");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "55");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("UnInteger", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "40");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "50");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "55");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("revInteger", null, "-2147483648");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "20");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "2147483647");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "0");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "20");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "4294967295");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for builtin type integer64 module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench integer64Ydt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder(
-                "builtInType", "integer64", "ydt.integer64", MERGE);
-        ydtBuilder.addLeaf("negInt", null, "-9223372036854775808");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("posInt", null, "9223372036854775807");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("minUInt", null, "0");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("maxUInt", null, "18446744073709551615");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("midIntWithRange", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("minIntWithRange", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("maxIntWithRange", null, "100");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addLeaf("midUIntWithRange", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("minUIntWithRange", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("maxUIntWithRange", null, "100");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "40");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "50");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "55");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("integer", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("UnInteger", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "40");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "50");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "55");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("UnInteger", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("revInteger", null, "-9223372036854775808");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "20");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revInteger", null, "9223372036854775807");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "0");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "1");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "2");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "20");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
-        ydtBuilder.addLeaf("revUnInteger", null, "18446744073709551615");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder for builtin type decimal64 module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench decimal64Ydt() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder(
-                "builtInType", "decimal64", "ydt.decimal64", MERGE);
-        ydtBuilder.addLeaf("negInt", null, "-92233720368547758.08");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("posInt", null, "92233720368547758.07");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(NIWMF, null, "-922337203685477580.8");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(PIWMF, null, "922337203685477580.7");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(NWF, null, "-9.223372036854775808");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(PWF, null, "9.223372036854775807");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("midIntWithRange", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("minIntWithRange", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("maxIntWithRange", null, "100");
-        ydtBuilder.traverseToParent();
-
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("decimal", null, "11");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("decimal", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("decimal", null, "40");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("decimal", null, "50");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("decimal", null, "55");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("decimal", null, "100");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("revDecimal", null, "-92233720368547758.08");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("revDecimal", null, "2.505");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("revDecimal", null, "3.14");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("revDecimal", null, "10");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("revDecimal", null, "20");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("revDecimal", null, "92233720368547757");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addChild(MRV, null);
-        ydtBuilder.addLeaf("revDecimal", null, "92233720368547758.07");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the ydt builder with requested logical root name and module name.
-     *
-     * @param rootName   logical rootNode name
-     * @param moduleName application(module) name
-     * @param nameSpace  namespace of module
-     * @param opType     operation type
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench getYdtBuilder(String rootName, String
-            moduleName, String nameSpace, YdtContextOperationType opType) {
-        setSchemaRegistry(schemaProvider.getDefaultYangSchemaRegistry());
-        YangRequestWorkBench ydtBuilder;
-        schemaProvider.processSchemaRegistry(null);
-        ydtBuilder = new YangRequestWorkBench(
-                rootName, null, null, schemaProvider
-                .getDefaultYangSchemaRegistry(), true);
-        ydtBuilder.addChild(moduleName, nameSpace, opType);
-        return ydtBuilder;
-    }
-
-    /**
-     * Compares the two value sets.
-     */
-    public static void compareValueSet(Set<String> valueSet,
-                                       Set<String> userInputValueSet) {
-        // Check the value against user input.
-        assertTrue("Expected 'valueSet' and 'userInputValueSet' to be equal.",
-                   valueSet.containsAll(userInputValueSet));
-    }
-
-    /**
-     * Returns the ydt builder for Hello_ONOS module.
-     *
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench helloOnos() {
-
-        YangRequestWorkBench ydtBuilder;
-        ydtBuilder = getYdtBuilder(
-                "Hello-ONOS", "Hello_ONOS", "ydt:hello_onos", MERGE);
-        ydtBuilder.addChild("hello-world", null);
-        ydtBuilder.addChild("input", null);
-        ydtBuilder.addLeaf("name", null, "onos");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf("surName", null, "yang");
-        ydtBuilder.traverseToParent();
-
-        kValList.clear();
-        kValList.add("ON");
-        kValList.add("LAB");
-        ydtBuilder.addMultiInstanceChild("stringList", null, kValList,
-                                         MERGE);
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-
-        return ydtBuilder;
-    }
-
-    /**
-     * Returns the error message for requested node.
-     *
-     * @param value    value in string format
-     * @param dataType requested data type
-     * @return error string
-     */
-    static String getErrorString(String value, String dataType) {
-        StringBuilder msg = new StringBuilder();
-        switch (dataType) {
-            case SINT16:
-            case SINT32:
-            case SMALLINT8:
-            case SMALLINT64:
-            case SMALLUINT8:
-            case SMALLUINT64:
-            case SUINT16:
-            case SUINT32:
-            case CAPSINT8:
-            case CAPSINT16:
-            case CAPSINT32:
-            case CAPSINT64:
-            case CAPSUINT8:
-            case CAPSUINT16:
-            case CAPSUINT32:
-            case CAPSUINT64:
-            case BIT:
-            case BOOL:
-            case ENUM:
-                msg.append("YANG file error : Input value ").append(BACKSLASH)
-                        .append(value).append(BACKSLASH)
-                        .append(" is not a valid ").append(dataType);
-                break;
-            case EMPTY:
-                msg.append("YANG file error : Input value ").append(BACKSLASH)
-                        .append(value).append(BACKSLASH).append(
-                        " is not allowed for a data type EMPTY");
-                break;
-            case MINVALUE:
-                msg.append("YANG file error : ").append(value)
-                        .append(" is lesser than minimum value ")
-                        .append(MINVALUE).append(PERIOD);
-                break;
-            case MAXUINT8:
-            case MAXUINT16:
-            case MAXUINT32:
-            case MAXUINT64:
-                msg.append("YANG file error : ").append(value)
-                        .append(" is greater than maximum value ")
-                        .append(dataType).append(PERIOD);
-                break;
-            default:
-                return null;
-        }
-        return msg.toString();
-    }
-
-    /**
-     * Validates the error message which is obtained by checking the given
-     * value against its data type restrictions.
-     *
-     * @param name      leaf name
-     * @param nameSpace leaf namespace
-     * @param val       leaf value
-     * @param type      data type suffix string for exception message
-     * @param childName child name
-     */
-    public static void validateErrMsg(String name, String nameSpace,
-                                      String val, String type, String childName) {
-        YangRequestWorkBench ydtBuilder = getTestYdtBuilder(nameSpace);
-        boolean isExpOccurred = false;
-        /*
-         * If childName exist then leaf need to be added under the
-         * child node with the given childName
-         */
-        if (childName != null) {
-            ydtBuilder.addChild(childName, nameSpace);
-        }
-        /*
-         * This try catch is explicitly written to use as utility in other
-         * test cases.
-         */
-        try {
-            ydtBuilder.addLeaf(name, nameSpace, val);
-        } catch (YdtException e) {
-            isExpOccurred = true;
-            assertEquals(e.getMessage(), getErrorString(val, type));
-        }
-        assertEquals(E_LEAF + name, isExpOccurred, true);
-    }
-
-    /**
-     * Returns ydt builder for requested namespace.
-     *
-     * @param namespace namespace of the requested yang data tree
-     * @return ydt builder
-     */
-    public static YangRequestWorkBench getTestYdtBuilder(String namespace) {
-
-        switch (namespace) {
-            case INT8NS:
-                return getYdtBuilder(TYPE, "integer8", INT8NS, MERGE);
-            case INT16NS:
-                return getYdtBuilder(TYPE, "integer16", INT16NS, MERGE);
-            case INT32NS:
-                return getYdtBuilder(TYPE, "integer32", INT32NS, MERGE);
-            case INT64NS:
-                return getYdtBuilder(TYPE, "integer64", INT64NS, MERGE);
-            case BITNS:
-                return getYdtBuilder(TYPE, "bit", BITNS, MERGE);
-            case BOOLNS:
-                return getYdtBuilder(TYPE, "bool", BOOLNS, MERGE);
-            case EMPTYNS:
-                return getYdtBuilder(TYPE, "emptydata", EMPTYNS, MERGE);
-            case ENUMNS:
-                return getYdtBuilder(TYPE, "enumtest", ENUMNS, MERGE);
-            case LISTNS:
-                return getYdtBuilder(LIST, "rootlist", LISTNS, MERGE);
-            default:
-                return null;
-        }
-    }
-
-    /**
-     * Validates the contents of node like name, namespace and operation type.
-     *
-     * @param ydtNode node need to be validate
-     * @param name    name of the node
-     * @param opType  operation type of the node
-     */
-    public static void validateNodeContents(YdtNode ydtNode, String name,
-                                            YdtContextOperationType opType) {
-        assertEquals(ydtNode.getName(), name);
-        assertEquals(ydtNode.getYdtContextOperationType(), opType);
-    }
-
-    /**
-     * Validates the contents of leaf node like name, namespace and operation
-     * type.
-     *
-     * @param ydtNode node need to be validate
-     * @param name    name of the node
-     * @param value   value of the leaf node
-     */
-    public static void validateLeafContents(YdtNode ydtNode, String name,
-                                            String value) {
-        validateNodeContents(ydtNode, name, null);
-        assertEquals(ydtNode.getValue(), value);
-    }
-
-    /**
-     * Validates the contents of leaf-list node like name, namespace and
-     * operation type.
-     *
-     * @param ydtNode  node need to be validate
-     * @param name     name of the node
-     * @param valueSet value of the leaf node
-     */
-    public static void validateLeafListContents(YdtNode ydtNode, String name,
-                                                Set<String> valueSet) {
-        validateNodeContents(ydtNode, name, null);
-        compareValueSet(ydtNode.getValueSet(), valueSet);
-    }
-
-    /**
-     * Validates the contents of ydt application logical node.
-     *
-     * @param ydtAppNode node need to be validate
-     */
-    public static void validateAppLogicalNodeContents(
-            YdtAppContext ydtAppNode) {
-
-        assertNull(ydtAppNode.getOperationType());
-        assertNull(ydtAppNode.getParent());
-        assertNull(ydtAppNode.getNextSibling());
-        assertNull(ydtAppNode.getPreviousSibling());
-        assertNotNull(ydtAppNode.getFirstChild());
-        assertNotNull(ydtAppNode.getLastChild());
-    }
-
-    /**
-     * Validates the contents of ydt application module node.
-     *
-     * @param ydtAppNode node need to be validate
-     * @param name       name of the node
-     * @param opType     operation type of the app node
-     */
-    public static void validateAppModuleNodeContents(
-            YdtAppContext ydtAppNode, String name,
-            YdtAppNodeOperationType opType) {
-
-        assertEquals(ydtAppNode.getModuleContext().getName(), name);
-        assertEquals(ydtAppNode.getOperationType(), opType);
-    }
-
-    /**
-     * Validates the contents of ydt application node like name, namespace
-     * and operation type.
-     *
-     * @param ydtAppNode node need to be validate
-     * @param name       name of the schema node
-     * @param ns         namespace of the schema node
-     * @param opType     operation type of the app node
-     */
-    public static void validateAppNodeContents(
-            YdtAppContext ydtAppNode, String name, String ns,
-            YdtAppNodeOperationType opType) {
-        assertEquals(ydtAppNode.getAugmentingSchemaNode().getName(), name);
-        assertEquals(ydtAppNode.getAugmentingSchemaNode().getNameSpace(), ns);
-        assertEquals(ydtAppNode.getOperationType(), opType);
-    }
-
-    /**
-     * Walks in the given built ydt and validates it.
-     */
-    public static void walkINTree(YangRequestWorkBench ydtBuilder,
-                                  String[] expected) {
-        DefaultYdtWalker ydtWalker = new DefaultYdtWalker();
-        resetLogger();
-
-        YdtTestUtils utils = new YdtTestUtils();
-        // Assign root node as starting node to walk the whole tree.
-        ydtWalker.walk(utils, ydtBuilder.getRootNode());
-        // Logger list is used for walker testing.
-        List<String> logger = getLogger();
-
-        for (int i = 0; i < expected.length; i++) {
-            assertEquals(expected[i], logger.get(i));
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/MockCoreService.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/MockCoreService.java
deleted file mode 100644
index 62f00aa..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/MockCoreService.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ymsm;
-
-import org.onosproject.core.ApplicationId;
-import org.onosproject.core.CoreService;
-import org.onosproject.core.IdGenerator;
-import org.onosproject.core.Version;
-
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicLong;
-
-/**
- * Represents implementation of CoreService interfaces.
- */
-public class MockCoreService implements CoreService {
-    @Override
-    public Version version() {
-        return null;
-    }
-
-    @Override
-    public Set<ApplicationId> getAppIds() {
-        return null;
-    }
-
-    @Override
-    public ApplicationId getAppId(Short id) {
-        return null;
-    }
-
-    @Override
-    public ApplicationId getAppId(String name) {
-        return null;
-    }
-
-    @Override
-    public ApplicationId registerApplication(String name) {
-        return null;
-    }
-
-    @Override
-    public ApplicationId registerApplication(String name,
-                                             Runnable preDeactivate) {
-        return null;
-    }
-
-    @Override
-    public IdGenerator getIdGenerator(String topic) {
-        return new IdGenerator() {
-            private AtomicLong counter = new AtomicLong(0);
-
-            @Override
-            public long getNewId() {
-                return counter.getAndIncrement();
-            }
-        };
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/MockOverriddenDataTreeCodec.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/MockOverriddenDataTreeCodec.java
deleted file mode 100644
index 73fddbf..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/MockOverriddenDataTreeCodec.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ymsm;
-
-import org.onosproject.yms.app.ych.YchException;
-import org.onosproject.yms.ych.YangCompositeEncoding;
-import org.onosproject.yms.ych.YangDataTreeCodec;
-import org.onosproject.yms.ydt.YdtBuilder;
-import org.onosproject.yms.ydt.YmsOperationType;
-
-/**
- * Represents implementation of overridden YANG data tree codec interfaces.
- */
-public class MockOverriddenDataTreeCodec implements YangDataTreeCodec {
-    private static final String PREFIX = "OverriddenDataTreeCodec ";
-    private static final String ENCODE = PREFIX +
-            "encodeYdtToProtocolFormat Called.";
-    private static final String COMPOSITE_ENCODE = PREFIX +
-            "encodeYdtToCompositeProtocolFormat Called.";
-    private static final String DECODE = PREFIX +
-            "decodeProtocolDataToYdt Called.";
-    private static final String COMPOSITE_DECODE = PREFIX +
-            "decodeCompositeProtocolDataToYdt Called.";
-
-    @Override
-    public String encodeYdtToProtocolFormat(YdtBuilder ydtBuilder) {
-
-        throw new YchException(ENCODE);
-    }
-
-    @Override
-    public YangCompositeEncoding encodeYdtToCompositeProtocolFormat(
-            YdtBuilder ydtBuilder) {
-
-        throw new YchException(COMPOSITE_ENCODE);
-    }
-
-    @Override
-    public YdtBuilder decodeProtocolDataToYdt(String protocolData,
-                                              Object schemaRegistryForYdt,
-                                              YmsOperationType proOper) {
-
-        throw new YchException(DECODE);
-    }
-
-    @Override
-    public YdtBuilder decodeCompositeProtocolDataToYdt(
-            YangCompositeEncoding protocolData,
-            Object schemaRegistryForYdt,
-            YmsOperationType proOper) {
-
-        throw new YchException(COMPOSITE_DECODE);
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/MockRegisteredDataTreeCodec.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/MockRegisteredDataTreeCodec.java
deleted file mode 100644
index 84117e7..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/MockRegisteredDataTreeCodec.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ymsm;
-
-import org.onosproject.yms.app.ych.YchException;
-import org.onosproject.yms.ych.YangCompositeEncoding;
-import org.onosproject.yms.ych.YangDataTreeCodec;
-import org.onosproject.yms.ydt.YdtBuilder;
-import org.onosproject.yms.ydt.YmsOperationType;
-
-/**
- * Represents implementation of YANG SBI broker interfaces.
- */
-public class MockRegisteredDataTreeCodec implements YangDataTreeCodec {
-    private static final String PREFIX = "RegisteredDataTreeCodec ";
-    private static final String ENCODE = PREFIX +
-            "encodeYdtToProtocolFormat Called.";
-    private static final String COMPOSITE_ENCODE = PREFIX +
-            "encodeYdtToCompositeProtocolFormat Called.";
-    private static final String DECODE = PREFIX +
-            "decodeProtocolDataToYdt Called.";
-    private static final String COMPOSITE_DECODE = PREFIX +
-            "decodeCompositeProtocolDataToYdt Called.";
-
-    @Override
-    public String encodeYdtToProtocolFormat(YdtBuilder ydtBuilder) {
-        throw new YchException(ENCODE);
-    }
-
-    @Override
-    public YangCompositeEncoding encodeYdtToCompositeProtocolFormat(
-            YdtBuilder ydtBuilder) {
-
-        throw new YchException(COMPOSITE_ENCODE);
-    }
-
-    @Override
-    public YdtBuilder decodeProtocolDataToYdt(String protocolData,
-                                              Object schemaRegistry,
-                                              YmsOperationType proOper) {
-
-        throw new YchException(DECODE);
-    }
-
-    @Override
-    public YdtBuilder decodeCompositeProtocolDataToYdt(
-            YangCompositeEncoding protocolData,
-            Object schemaRegistry,
-            YmsOperationType proOper) {
-
-        throw new YchException(COMPOSITE_DECODE);
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/MockYangCompositeEncoding.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/MockYangCompositeEncoding.java
deleted file mode 100644
index 1f52da6..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/MockYangCompositeEncoding.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ymsm;
-
-import org.onosproject.yms.ych.YangCompositeEncoding;
-import org.onosproject.yms.ych.YangResourceIdentifierType;
-
-/**
- * Represents implementation of YangCompositeEncoding interfaces.
- */
-public class MockYangCompositeEncoding implements YangCompositeEncoding {
-    /**
-     * Resource identifier for composite encoding.
-     */
-    private String resourceIdentifier;
-
-    /**
-     * Resource information for composite encoding.
-     */
-    private String resourceInformation;
-
-    /**
-     * Resource identifier type.
-     */
-    private YangResourceIdentifierType resourceIdentifierType;
-
-    /**
-     * Sets resource identifier.
-     *
-     * @param resIdentifier resource identifier
-     */
-    public void setResourceIdentifier(String resIdentifier) {
-        resourceIdentifier = resIdentifier;
-    }
-
-    /**
-     * Sets the resource information.
-     *
-     * @param resInformation resource information
-     */
-    public void setResourceInformation(String resInformation) {
-        resourceInformation = resInformation;
-    }
-
-    /**
-     * Sets the resource identifier type.
-     *
-     * @param resIdent resource identifier
-     */
-    public void setResourceIdentifierType(YangResourceIdentifierType resIdent) {
-        resourceIdentifierType = resIdent;
-    }
-
-    @Override
-    public String getResourceIdentifier() {
-        return resourceIdentifier;
-    }
-
-    @Override
-    public YangResourceIdentifierType getResourceIdentifierType() {
-        return resourceIdentifierType;
-    }
-
-    @Override
-    public String getResourceInformation() {
-        return resourceInformation;
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/YchCompositeHandlerTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/YchCompositeHandlerTest.java
deleted file mode 100644
index 794298e..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ymsm/YchCompositeHandlerTest.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ymsm;
-
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.onosproject.yang.gen.v1.ydt.customs.supervisor.rev20160524.CustomssupervisorOpParam;
-import org.onosproject.yms.app.ych.defaultcodecs.YangCodecRegistry;
-import org.onosproject.yms.app.ysr.TestYangSchemaNodeProvider;
-import org.onosproject.yms.ych.YangCodecHandler;
-import org.onosproject.yms.ych.YangCompositeEncoding;
-import org.onosproject.yms.ych.YangDataTreeCodec;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static junit.framework.TestCase.assertNotNull;
-import static org.onosproject.yms.ych.YangProtocolEncodingFormat.XML;
-
-/**
- * Unit test case for YCH composite codec handler.
- */
-public class YchCompositeHandlerTest {
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    private static final String REG_PREFIX = "RegisteredDataTreeCodec ";
-    private static final String REG_ENCODE = REG_PREFIX +
-            "encodeYdtToProtocolFormat Called.";
-    private static final String REG_DECODE = REG_PREFIX +
-            "decodeProtocolDataToYdt Called.";
-    private static final String REG_COMPO_ENCODE = REG_PREFIX +
-            "encodeYdtToCompositeProtocolFormat Called.";
-    private static final String REG_COMPO_DECODE = REG_PREFIX +
-            "decodeCompositeProtocolDataToYdt Called.";
-    private static final String OVERRIDE_PREFIX = "OverriddenDataTreeCodec ";
-    private static final String OVERRIDE_ENCODE = OVERRIDE_PREFIX +
-            "encodeYdtToProtocolFormat Called.";
-    private static final String OVERRIDE_DECODE = OVERRIDE_PREFIX +
-            "decodeProtocolDataToYdt Called.";
-    private static final String OVERRIDE_COMPO_ENCODE = OVERRIDE_PREFIX +
-            "encodeYdtToCompositeProtocolFormat Called.";
-    private static final String OVERRIDE_COMPO_DECODE = OVERRIDE_PREFIX +
-            "decodeCompositeProtocolDataToYdt Called.";
-
-    private TestYangSchemaNodeProvider provider =
-            new TestYangSchemaNodeProvider();
-
-    /**
-     * Unit test case in which verifying codec handler is null or not.
-     */
-    @Test
-    public void checkForCodecHandler() {
-        YmsManager ymsManager = new YmsManager();
-        ymsManager.coreService = new MockCoreService();
-        ymsManager.activate();
-        YangCodecHandler yangCodecHandler = ymsManager.getYangCodecHandler();
-        assertNotNull("Codec handler is null", yangCodecHandler);
-    }
-
-    /**
-     * Unit test case in which verifying registered codec handler for encode is
-     * null or not.
-     */
-    @Test
-    public void checkForRegisterDefaultCodecEncode() {
-        thrown.expectMessage(REG_ENCODE);
-        YangDataTreeCodec yangDataTreeCodec = new MockRegisteredDataTreeCodec();
-        YmsManager ymsManager = new YmsManager();
-        YangCodecRegistry.initializeDefaultCodec();
-        ymsManager.coreService = new MockCoreService();
-        ymsManager.activate();
-        ymsManager.registerDefaultCodec(yangDataTreeCodec, XML);
-        YangCodecHandler yangCodecHandler = ymsManager.getYangCodecHandler();
-        assertNotNull("Codec handler is null", yangCodecHandler);
-
-        provider.processSchemaRegistry(null);
-        List<Object> yangModuleList = new ArrayList<>();
-
-        // Creating the object
-        Object object = CustomssupervisorOpParam.builder()
-                .supervisor("Customssupervisor").build();
-        yangModuleList.add(object);
-
-        // Get the xml string and compare
-        Map<String, String> tagAttr = new HashMap<String, String>();
-        tagAttr.put("type", "subtree");
-
-        yangCodecHandler.encodeOperation("filter", "ydt.filter-type",
-                                         tagAttr, yangModuleList,
-                                         XML, null);
-    }
-
-    /**
-     * Unit test case in which verifying registered codec handler for decode is
-     * null or not.
-     */
-    @Test
-    public void checkForRegisterDefaultCodecDecode() {
-        thrown.expectMessage(REG_DECODE);
-        YangDataTreeCodec yangDataTreeCodec = new MockRegisteredDataTreeCodec();
-        YmsManager ymsManager = new YmsManager();
-        YangCodecRegistry.initializeDefaultCodec();
-        ymsManager.coreService = new MockCoreService();
-        ymsManager.activate();
-        ymsManager.registerDefaultCodec(yangDataTreeCodec, XML);
-        YangCodecHandler yangCodecHandler = ymsManager.getYangCodecHandler();
-        assertNotNull("Codec handler is null", yangCodecHandler);
-
-        provider.processSchemaRegistry(null);
-        yangCodecHandler.decode("XML String", XML, null);
-    }
-
-    /**
-     * Unit test case in which verifying registered codec handler for
-     * composite encode is null or not.
-     */
-    @Test
-    public void checkForRegisterDefaultCodecCompEncode() {
-        thrown.expectMessage(REG_COMPO_ENCODE);
-        YangDataTreeCodec yangDataTreeCodec = new MockRegisteredDataTreeCodec();
-        YmsManager ymsManager = new YmsManager();
-        YangCodecRegistry.initializeDefaultCodec();
-        ymsManager.coreService = new MockCoreService();
-        ymsManager.activate();
-        ymsManager.registerDefaultCodec(yangDataTreeCodec, XML);
-        YangCodecHandler yangCodecHandler = ymsManager.getYangCodecHandler();
-        assertNotNull("Codec handler is null", yangCodecHandler);
-
-        provider.processSchemaRegistry(null);
-        // Creating the object
-        Object object = CustomssupervisorOpParam.builder()
-                .supervisor("Customssupervisor").build();
-
-        yangCodecHandler.encodeCompositeOperation("filter",
-                                                  "ydt.filter-type", object,
-                                                  XML, null);
-    }
-
-    /**
-     * Unit test case in which verifying registered codec handler for
-     * composite decode is null or not.
-     */
-    @Test
-    public void checkForRegisterDefaultCodecCompDecode() {
-        thrown.expectMessage(REG_COMPO_DECODE);
-        YangDataTreeCodec yangDataTreeCodec = new MockRegisteredDataTreeCodec();
-        YmsManager ymsManager = new YmsManager();
-        YangCodecRegistry.initializeDefaultCodec();
-        ymsManager.coreService = new MockCoreService();
-        ymsManager.activate();
-        ymsManager.registerDefaultCodec(yangDataTreeCodec, XML);
-        YangCodecHandler yangCodecHandler = ymsManager.getYangCodecHandler();
-        assertNotNull("Codec handler is null", yangCodecHandler);
-
-        provider.processSchemaRegistry(null);
-        // Creating the object
-        YangCompositeEncoding yangCompositeEncoding =
-                new MockYangCompositeEncoding();
-        yangCodecHandler.decode(yangCompositeEncoding, XML, null);
-    }
-
-    /**
-     * Unit test case in which verifying overridden codec handler for encode is
-     * null or not.
-     */
-    @Test
-    public void checkForOverriddenDataTreeCodecEncode() {
-        thrown.expectMessage(OVERRIDE_ENCODE);
-        YangDataTreeCodec yangDataTreeCodec = new MockRegisteredDataTreeCodec();
-        YmsManager ymsManager = new YmsManager();
-        ymsManager.coreService = new MockCoreService();
-        ymsManager.activate();
-        ymsManager.registerDefaultCodec(yangDataTreeCodec, XML);
-        YangCodecHandler yangCodecHandler = ymsManager.getYangCodecHandler();
-        assertNotNull("Codec handler is null", yangCodecHandler);
-
-        YangDataTreeCodec overriddenCodec = new MockOverriddenDataTreeCodec();
-        yangCodecHandler.registerOverriddenCodec(overriddenCodec, XML);
-
-        provider.processSchemaRegistry(null);
-        List<Object> yangModuleList = new ArrayList<>();
-
-        // Creating the object
-        Object object = CustomssupervisorOpParam.builder()
-                .supervisor("Customssupervisor").build();
-        yangModuleList.add(object);
-
-        // Get the xml string and compare
-        Map<String, String> tagAttr = new HashMap<String, String>();
-        tagAttr.put("type", "subtree");
-        yangCodecHandler.encodeOperation("filter", "ydt.filter-type",
-                                         tagAttr, yangModuleList,
-                                         XML, null);
-    }
-
-    /**
-     * Unit test case in which verifying overridden codec handler for decode is
-     * null or not.
-     */
-    @Test
-    public void checkForOverriddenDataTreeCodecDecode() {
-        thrown.expectMessage(OVERRIDE_DECODE);
-        YangDataTreeCodec yangDataTreeCodec = new MockRegisteredDataTreeCodec();
-        YmsManager ymsManager = new YmsManager();
-        ymsManager.coreService = new MockCoreService();
-        ymsManager.activate();
-        ymsManager.registerDefaultCodec(yangDataTreeCodec, XML);
-        YangCodecHandler yangCodecHandler = ymsManager.getYangCodecHandler();
-        assertNotNull("Codec handler is null", yangCodecHandler);
-
-        YangDataTreeCodec overriddenCodec = new MockOverriddenDataTreeCodec();
-        yangCodecHandler.registerOverriddenCodec(overriddenCodec, XML);
-
-        provider.processSchemaRegistry(null);
-        yangCodecHandler.decode("XML String", XML, null);
-    }
-
-    /**
-     * Unit test case in which verifying overridden codec handler for
-     * composite encode is null or not.
-     */
-    @Test
-    public void checkForOverriddenDataTreeCodecCompoEncode() {
-        thrown.expectMessage(OVERRIDE_COMPO_ENCODE);
-        YangDataTreeCodec yangDataTreeCodec = new MockRegisteredDataTreeCodec();
-        YmsManager ymsManager = new YmsManager();
-        ymsManager.coreService = new MockCoreService();
-        ymsManager.activate();
-        ymsManager.registerDefaultCodec(yangDataTreeCodec, XML);
-        YangCodecHandler yangCodecHandler = ymsManager.getYangCodecHandler();
-        assertNotNull("Codec handler is null", yangCodecHandler);
-
-        YangDataTreeCodec overriddenCodec = new MockOverriddenDataTreeCodec();
-        yangCodecHandler.registerOverriddenCodec(overriddenCodec, XML);
-
-        provider.processSchemaRegistry(null);
-        // Creating the object
-        Object object = CustomssupervisorOpParam.builder()
-                .supervisor("Customssupervisor").build();
-        yangCodecHandler.encodeCompositeOperation("filter",
-                                                  "ydt.filter-type",
-                                                  object,
-                                                  XML, null);
-    }
-
-    /**
-     * Unit test case in which verifying overridden codec handler for
-     * composite decode is null or not.
-     */
-    @Test
-    public void checkForOverriddenDataTreeCodecCompoDecode() {
-        thrown.expectMessage(OVERRIDE_COMPO_DECODE);
-        YangDataTreeCodec yangDataTreeCodec = new MockRegisteredDataTreeCodec();
-        YmsManager ymsManager = new YmsManager();
-        ymsManager.coreService = new MockCoreService();
-        ymsManager.activate();
-        ymsManager.registerDefaultCodec(yangDataTreeCodec, XML);
-        YangCodecHandler yangCodecHandler = ymsManager.getYangCodecHandler();
-        assertNotNull("Codec handler is null", yangCodecHandler);
-
-        YangDataTreeCodec overriddenCodec = new MockOverriddenDataTreeCodec();
-        yangCodecHandler.registerOverriddenCodec(overriddenCodec, XML);
-
-        provider.processSchemaRegistry(null);
-        // Verify the received object list
-        YangCompositeEncoding yangCompositeEncoding =
-                new MockYangCompositeEncoding();
-        yangCodecHandler.decode(yangCompositeEncoding, XML, null);
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobAugmentTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobAugmentTest.java
deleted file mode 100644
index a50d3a5..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobAugmentTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (c) 2016. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
- * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan.
- * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna.
- * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus.
- * Vestibulum commodo. Ut rhoncus gravida arcu.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yang.gen.v1.urn.ip.topo.rev20140101.ymsiptopology.node.AugmentedTopoNode;
-import org.onosproject.yang.gen.v1.urn.ip.topo.rev20140101.ymsiptopology.node.DefaultAugmentedTopoNode;
-import org.onosproject.yang.gen.v1.urn.topo.rev20140101.YmsTopologyOpParam;
-import org.onosproject.yang.gen.v1.urn.topo.rev20140101.ymstopology.DefaultNode;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.io.IOException;
-
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
-import static org.onosproject.yms.app.yob.YobTestUtils.NODE;
-import static org.onosproject.yms.app.yob.YobTestUtils.ROOT_DATA_RESOURCE;
-import static org.onosproject.yms.app.yob.YobTestUtils.ROUTER_ID;
-import static org.onosproject.yms.app.yob.YobTestUtils.ROUTER_IP;
-import static org.onosproject.yms.app.yob.YobTestUtils.STR_LEAF_VALUE;
-import static org.onosproject.yms.app.yob.YobTestUtils.TOPOLOGY;
-import static org.onosproject.yms.ydt.YdtContextOperationType.NONE;
-
-/**
- * Test the YANG object building for the YANG data tree based on the non
- * schema augmented nodes.
- */
-public class YobAugmentTest {
-
-    private YobTestUtils utils = YobTestUtils.instance();
-
-    @Test
-    public void augmentedLeaf() throws IOException {
-
-        YangRequestWorkBench ydtBuilder = new YangRequestWorkBench(
-                ROOT_DATA_RESOURCE, null, null, utils.schemaRegistry(),
-                true);
-
-        ydtBuilder.addChild(TOPOLOGY, null, NONE);
-        ydtBuilder.addChild(NODE, null);
-        ydtBuilder.addLeaf(ROUTER_ID, "urn:ip:topo", STR_LEAF_VALUE);
-
-        YdtContext logicalRoot = ydtBuilder.getRootNode();
-        YdtExtendedContext appRoot =
-                (YdtExtendedContext) logicalRoot.getFirstChild();
-
-        DefaultYobBuilder yobBuilder = new DefaultYobBuilder();
-        Object yangObject = yobBuilder.getYangObject(appRoot,
-                                                     utils.schemaRegistry());
-        assertNotNull("Fail to create augmented YANG object", yangObject);
-
-        assertEquals("invalid augmented node created", YmsTopologyOpParam.class,
-                     yangObject.getClass());
-
-        YmsTopologyOpParam topology = (YmsTopologyOpParam) yangObject;
-        assertNotNull("failed to build augmented node", topology.node());
-        assertEquals("Single node entry is expected", 1, topology.node().size());
-        assertEquals("Node type is not DefaultNode", DefaultNode.class,
-                     topology.node().get(0).getClass());
-
-        DefaultNode node = (DefaultNode) topology.node().get(0);
-        assertNotNull("Augmented info is missing", node.yangAugmentedInfo(
-                AugmentedTopoNode.class));
-        assertEquals("Augmented class is incorrect",
-                     DefaultAugmentedTopoNode.class,
-                     node.yangAugmentedInfo(AugmentedTopoNode.class)
-                             .getClass());
-
-        DefaultAugmentedTopoNode augmentedNode = (DefaultAugmentedTopoNode)
-                node.yangAugmentedInfo(AugmentedTopoNode.class);
-        assertThat("Augmented leaf value is incorrect",
-                   augmentedNode.routerId(), is(STR_LEAF_VALUE));
-    }
-
-    @Test
-    public void augmentedLeaves() throws IOException {
-
-        YangRequestWorkBench ydtBuilder = new YangRequestWorkBench(
-                ROOT_DATA_RESOURCE, null, null, utils.schemaRegistry(),
-                true);
-
-        ydtBuilder.addChild(TOPOLOGY, null, NONE);
-        ydtBuilder.addChild(NODE, null);
-        ydtBuilder.addLeaf(ROUTER_ID, "urn:ip:topo", STR_LEAF_VALUE);
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(ROUTER_IP, "urn:ip:topo", STR_LEAF_VALUE);
-
-        YdtContext logicalRoot = ydtBuilder.getRootNode();
-        YdtExtendedContext appRoot =
-                (YdtExtendedContext) logicalRoot.getFirstChild();
-
-        DefaultYobBuilder yobBuilder = new DefaultYobBuilder();
-        Object yangObject = yobBuilder.getYangObject(appRoot,
-                                                     utils.schemaRegistry());
-        assertNotNull("Fail to create augmented YANG object", yangObject);
-
-        assertEquals("invalid augmented node created",
-                     YmsTopologyOpParam.class, yangObject.getClass());
-
-        YmsTopologyOpParam topology = (YmsTopologyOpParam) yangObject;
-        assertNotNull("failed to build augmented node", topology.node());
-        assertEquals("Single node entry is expected", 1,
-                     topology.node().size());
-        assertEquals("Node type is not DefaultNode", DefaultNode.class,
-                     topology.node().get(0).getClass());
-
-        DefaultNode node = (DefaultNode) topology.node().get(0);
-        assertNotNull("Augmented info is missing", node.yangAugmentedInfo(
-                AugmentedTopoNode.class));
-        assertEquals("Augmented class is incorrect",
-                     DefaultAugmentedTopoNode.class,
-                     node.yangAugmentedInfo(AugmentedTopoNode.class)
-                             .getClass());
-
-        DefaultAugmentedTopoNode augmentedNode = (DefaultAugmentedTopoNode)
-                node.yangAugmentedInfo(AugmentedTopoNode.class);
-        assertThat("Augmented router id is incorrect",
-                   augmentedNode.routerId(), is(STR_LEAF_VALUE));
-        assertThat("Augmented router ip is incorrect",
-                   augmentedNode.routerIp(), is(STR_LEAF_VALUE));
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobBinaryTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobBinaryTest.java
deleted file mode 100644
index a749874..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobBinaryTest.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yang.gen.v1.ydt.binarytest.rev20160524.BinarytestOpParam;
-import org.onosproject.yang.gen.v1.ydt.binarytest.rev20160524.binarytest.cont1.AugmentedCont1;
-import org.onosproject.yang.gen.v1.ydt.binarytest.rev20160524.binarytest.food.snack.Sportsarena;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.io.IOException;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.core.IsNull.notNullValue;
-import static org.onosproject.yms.app.yob.YobTestUtils.ROOT_DATA_RESOURCE;
-
-/**
- * Test the YANG object building for the YANG data tree based on the binary.
- */
-public class YobBinaryTest {
-
-    private YobTestUtils utils = YobTestUtils.instance();
-
-    @Test
-    public void testBinaryInLeaf() throws IOException {
-        YangRequestWorkBench ydtBuilder = new YangRequestWorkBench(
-                ROOT_DATA_RESOURCE, null, null, utils.schemaRegistry(), true);
-        ydtBuilder.addChild("binarytest", "ydt.binarytest");
-        ydtBuilder.addChild("binaryList", null);
-        ydtBuilder.addLeaf("binary", null, "YmluYXJ5");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        YdtContext rootCtx = ydtBuilder.getRootNode();
-        YdtContext childCtx = rootCtx.getFirstChild();
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, utils.schemaRegistry());
-        assertThat(yangObject, notNullValue());
-        BinarytestOpParam binarytestOpParam = ((BinarytestOpParam) yangObject);
-
-        byte[] binaryValue = binarytestOpParam.binaryList().get(0).binary();
-        String value = new String(binaryValue);
-        assertThat(value, is("binary"));
-    }
-
-    @Test
-    public void testBinaryInTypedef() throws IOException {
-        YangRequestWorkBench ydtBuilder = new YangRequestWorkBench(
-                ROOT_DATA_RESOURCE, null, null, utils.schemaRegistry(), true);
-        ydtBuilder.addChild("binarytest", "ydt.binarytest");
-        ydtBuilder.addLeaf("name", null, "YmluYXJ5");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        YdtContext rootCtx = ydtBuilder.getRootNode();
-        YdtContext childCtx = rootCtx.getFirstChild();
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, utils.schemaRegistry());
-        assertThat(yangObject, notNullValue());
-        BinarytestOpParam binarytestOpParam = ((BinarytestOpParam) yangObject);
-
-        byte[] binaryValue = binarytestOpParam.name().binary();
-        String value = new String(binaryValue);
-        assertThat(value, is("binary"));
-    }
-
-    @Test
-    public void testBinaryInGrouping() throws IOException {
-        YangRequestWorkBench ydtBuilder = new YangRequestWorkBench(
-                ROOT_DATA_RESOURCE, null, null, utils.schemaRegistry(), true);
-        ydtBuilder.addChild("binarytest", "ydt.binarytest");
-        ydtBuilder.addChild("cont1", "ydt.binarytest");
-        ydtBuilder.addLeaf("surname", null, "YmluYXJ5");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        YdtContext rootCtx = ydtBuilder.getRootNode();
-        YdtContext childCtx = rootCtx.getFirstChild();
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, utils.schemaRegistry());
-        assertThat(yangObject, notNullValue());
-        BinarytestOpParam binarytestOpParam = ((BinarytestOpParam) yangObject);
-
-        byte[] binaryValue = binarytestOpParam.cont1().surname();
-        String value = new String(binaryValue);
-        assertThat(value, is("binary"));
-    }
-
-    @Test
-    public void testBinaryInAugment() throws IOException {
-        YangRequestWorkBench ydtBuilder = new YangRequestWorkBench(
-                ROOT_DATA_RESOURCE, null, null, utils.schemaRegistry(), true);
-        ydtBuilder.addChild("binarytest", "ydt.binarytest");
-        ydtBuilder.addChild("cont1", "ydt.binarytest");
-        ydtBuilder.addLeaf("lastname", null, "YmluYXJ5");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        YdtContext rootCtx = ydtBuilder.getRootNode();
-        YdtContext childCtx = rootCtx.getFirstChild();
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, utils.schemaRegistry());
-        assertThat(yangObject, notNullValue());
-        BinarytestOpParam binarytestOpParam = ((BinarytestOpParam) yangObject);
-
-        AugmentedCont1 augmentedCont1 = (AugmentedCont1) binarytestOpParam.cont1()
-                .yangAugmentedInfo(AugmentedCont1.class);
-        byte[] binaryValue = augmentedCont1.lastname();
-        String value = new String(binaryValue);
-        assertThat(value, is("binary"));
-    }
-
-    @Test
-    public void testBinaryInCase() throws IOException {
-        YangRequestWorkBench ydtBuilder = new YangRequestWorkBench(
-                ROOT_DATA_RESOURCE, null, null, utils.schemaRegistry(), true);
-        ydtBuilder.addChild("binarytest", "ydt.binarytest");
-        ydtBuilder.addChild("food", "ydt.binarytest");
-        ydtBuilder.addLeaf("pretzel", null, "YmluYXJ5");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        YdtContext rootCtx = ydtBuilder.getRootNode();
-        YdtContext childCtx = rootCtx.getFirstChild();
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, utils.schemaRegistry());
-        assertThat(yangObject, notNullValue());
-        BinarytestOpParam binarytestOpParam = ((BinarytestOpParam) yangObject);
-        Sportsarena sportsArena = ((Sportsarena) binarytestOpParam.food()
-                .snack());
-        byte[] binaryValue = sportsArena.pretzel();
-        String value = new String(binaryValue);
-        assertThat(value, is("binary"));
-    }
-
-    @Test
-    public void testBinaryInUnion() throws IOException {
-        YangRequestWorkBench ydtBuilder = new YangRequestWorkBench(
-                ROOT_DATA_RESOURCE, null, null, utils.schemaRegistry(), true);
-        ydtBuilder.addChild("binarytest", "ydt.binarytest");
-        ydtBuilder.addLeaf("middlename", null, "YmluYXJ5");
-        ydtBuilder.traverseToParent();
-        ydtBuilder.traverseToParent();
-        YdtContext rootCtx = ydtBuilder.getRootNode();
-        YdtContext childCtx = rootCtx.getFirstChild();
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, utils.schemaRegistry());
-        assertThat(yangObject, notNullValue());
-        BinarytestOpParam binarytestOpParam = ((BinarytestOpParam) yangObject);
-
-        byte[] binaryValue = binarytestOpParam.middlename().binary();
-        String value = new String(binaryValue);
-        assertThat(value, is("binary"));
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobBitTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobBitTest.java
deleted file mode 100644
index 6b4b526..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobBitTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-
-import java.io.IOException;
-
-public class YobBitTest {
-
-/*
-    BINARY
-
-    Positive scenario
-    input with position 0
-    input with position 1
-    input with position 2
-*/
-
-
-    @Test
-    public void positiveTest() throws IOException {
-
-        //TODO for getYangObject
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobBooleanTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobBooleanTest.java
deleted file mode 100644
index 83ce3f6..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobBooleanTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.app.ydt.YdtTestUtils;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.lang.reflect.Field;
-import java.util.List;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-public class YobBooleanTest {
-
-    private static final String BOOLEAN_LIST = "booleanList";
-    private static final String AUTO_PREFIX_BOOLEAN = "yangAutoPrefixBoolean";
-
-    /*
-        BOOLEAN
-        Positive scenario
-        input with in true and false
-    */
-    @Test
-    public void positiveTest() {
-        YangRequestWorkBench defaultYdtBuilder = YdtTestUtils.booleanYdt();
-        validateYangObject(defaultYdtBuilder);
-    }
-
-    private void validateYangObject(YangRequestWorkBench defaultYdtBuilder) {
-
-        YdtContext rootCtx = defaultYdtBuilder.getRootNode();
-
-        YdtContext childCtx = rootCtx.getFirstChild();
-
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, YdtTestUtils
-                        .getSchemaRegistry());
-        assertNotNull(yangObject);
-        try {
-
-            Field field = yangObject.getClass().getDeclaredField(BOOLEAN_LIST);
-            field.setAccessible(true);
-            List booleanList = (List) field.get(yangObject);
-            Field invalidInterval = booleanList.get(0).getClass()
-                    .getDeclaredField(AUTO_PREFIX_BOOLEAN);
-            invalidInterval.setAccessible(true);
-            assertTrue((boolean) invalidInterval.get(booleanList.get(0)));
-            assertFalse((boolean) invalidInterval.get(booleanList.get(1)));
-        } catch (NoSuchFieldException | IllegalAccessException e) {
-            fail("No such field or illegal access exception: " + e);
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobChoiceTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobChoiceTest.java
deleted file mode 100644
index 305d7bf..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobChoiceTest.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yang.gen.v1.urn.topo.rev20140101.YmsTopologyOpParam;
-import org.onosproject.yang.gen.v1.urn.topo.rev20140101.ymstopology.DefaultNode;
-import org.onosproject.yang.gen.v1.urn.topo.rev20140101.ymstopology.Node;
-import org.onosproject.yang.gen.v1.urn.topo.rev20140101.ymstopology.node.choice1.Case1a;
-import org.onosproject.yang.gen.v1.urn.topo.rev20140101.ymstopology.node.choice1.Case1b;
-import org.onosproject.yang.gen.v1.urn.topo.rev20140101.ymstopology.node.choice1.DefaultCase1a;
-import org.onosproject.yang.gen.v1.urn.topo.rev20140101.ymstopology.node.choice1.DefaultCase1b;
-import org.onosproject.yang.gen.v1.urn.topo.rev20140101.ymstopology.node.choice1.case1b.choice1b.Case1Bi;
-import org.onosproject.yang.gen.v1.urn.topo.rev20140101.ymstopology.node.choice1.case1b.choice1b.DefaultCase1Bi;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.io.IOException;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.onosproject.yms.app.yob.YobTestUtils.LEAF_1A1;
-import static org.onosproject.yms.app.yob.YobTestUtils.LEAF_1A2;
-import static org.onosproject.yms.app.yob.YobTestUtils.LEAF_1BIA;
-import static org.onosproject.yms.app.yob.YobTestUtils.LEAF_1BIB;
-import static org.onosproject.yms.app.yob.YobTestUtils.NODE;
-import static org.onosproject.yms.app.yob.YobTestUtils.ROOT_DATA_RESOURCE;
-import static org.onosproject.yms.app.yob.YobTestUtils.STR_LEAF_VALUE;
-import static org.onosproject.yms.app.yob.YobTestUtils.TOPOLOGY;
-import static org.onosproject.yms.ydt.YdtContextOperationType.NONE;
-
-/**
- * Test the YANG object building for the YANG data tree based on the non
- * schema choice and case nodes.
- */
-public class YobChoiceTest {
-
-    private YobTestUtils utils = YobTestUtils.instance();
-
-    @Test
-    public void caseInChoice() throws IOException {
-
-        YangRequestWorkBench ydtBuilder = new YangRequestWorkBench(
-                ROOT_DATA_RESOURCE, null, null, utils.schemaRegistry(),
-                true);
-
-        ydtBuilder.addChild(TOPOLOGY, null, NONE);
-        ydtBuilder.addChild(NODE, null);
-        ydtBuilder.addLeaf(LEAF_1A1, null, STR_LEAF_VALUE);
-
-        YdtContext logicalRoot = ydtBuilder.getRootNode();
-        YdtExtendedContext appRoot =
-                (YdtExtendedContext) logicalRoot.getFirstChild();
-
-        DefaultYobBuilder yobBuilder = new DefaultYobBuilder();
-        Object yangObject = yobBuilder.getYangObject(appRoot,
-                                                     utils.schemaRegistry());
-        assertNotNull(yangObject);
-        assertEquals("YANG object created is not topology object",
-                     YmsTopologyOpParam.class, yangObject.getClass());
-
-        YmsTopologyOpParam topology = (YmsTopologyOpParam) yangObject;
-        assertNotNull("Failed to build the object", topology.node());
-        assertEquals("Single node entry is expected", 1,
-                     topology.node().size());
-        assertEquals("Node type is not DefaultNode", DefaultNode.class,
-                     topology.node().get(0).getClass());
-
-        Node node = topology.node().get(0);
-        assertNotNull("choice1 is not set in node", node.choice1());
-        assertEquals("choice 1 type is not ", DefaultCase1a.class,
-                     node.choice1().getClass());
-
-        Case1a case1a = (Case1a) node.choice1();
-        assertNotNull("leaf1a1 is not set in case", case1a.leaf1A1());
-        assertEquals("leaf1a1 type is not correct", String.class,
-                     case1a.leaf1A1().getClass());
-        assertEquals("leaf1a1 value is not correct", STR_LEAF_VALUE,
-                     case1a.leaf1A1());
-
-    }
-
-    @Test
-    public void caseWithMultiAttribute() throws IOException {
-
-        YangRequestWorkBench ydtBuilder = new YangRequestWorkBench(
-                ROOT_DATA_RESOURCE, null, null, utils.schemaRegistry(),
-                true);
-
-        ydtBuilder.addChild(TOPOLOGY, null, NONE);
-        ydtBuilder.addChild(NODE, null);
-        ydtBuilder.addLeaf(LEAF_1A1, null, STR_LEAF_VALUE);
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(LEAF_1A2, null, STR_LEAF_VALUE);
-
-        YdtContext logicalRoot = ydtBuilder.getRootNode();
-        YdtExtendedContext appRoot =
-                (YdtExtendedContext) logicalRoot.getFirstChild();
-
-        DefaultYobBuilder yobBuilder = new DefaultYobBuilder();
-        Object yangObject = yobBuilder.getYangObject(appRoot,
-                                                     utils.schemaRegistry());
-        assertNotNull(yangObject);
-        assertEquals("YANG object created is not topology object",
-                     YmsTopologyOpParam.class, yangObject.getClass());
-
-        YmsTopologyOpParam topology = (YmsTopologyOpParam) yangObject;
-        assertNotNull("Failed to build the object", topology.node());
-        assertEquals("Single node entry is expected", 1,
-                     topology.node().size());
-        assertEquals("Node type is not DefaultNode", DefaultNode.class,
-                     topology.node().get(0).getClass());
-
-        Node node = topology.node().get(0);
-        assertNotNull("choice1 is not set in node", node.choice1());
-        assertEquals("choice 1 type is not ", DefaultCase1a.class,
-                     node.choice1().getClass());
-
-        Case1a case1a = (Case1a) node.choice1();
-        assertNotNull("leaf1a1 is not set in case", case1a.leaf1A1());
-        assertEquals("leaf1a1 type is not correct", String.class,
-                     case1a.leaf1A1().getClass());
-        assertEquals("leaf1a1 value is not correct", STR_LEAF_VALUE,
-                     case1a.leaf1A1());
-
-        assertNotNull("leaf1a2 is not set in case", case1a.leaf1A2());
-        assertEquals("leaf1a2 type is not correct", String.class,
-                     case1a.leaf1A2().getClass());
-        assertEquals("leaf1a1 value is not correct", STR_LEAF_VALUE,
-                     case1a.leaf1A1());
-
-    }
-
-    @Test
-    public void recursiveChoice() throws IOException {
-
-        YangRequestWorkBench ydtBuilder = new YangRequestWorkBench(
-                ROOT_DATA_RESOURCE, null, null, utils.schemaRegistry(),
-                true);
-
-        ydtBuilder.addChild(TOPOLOGY, null, NONE);
-        ydtBuilder.addChild(NODE, null);
-        ydtBuilder.addLeaf(LEAF_1BIA, null, STR_LEAF_VALUE);
-
-        YdtContext logicalRoot = ydtBuilder.getRootNode();
-        YdtExtendedContext appRoot =
-                (YdtExtendedContext) logicalRoot.getFirstChild();
-
-        DefaultYobBuilder yobBuilder = new DefaultYobBuilder();
-        Object yangObject = yobBuilder.getYangObject(appRoot,
-                                                     utils.schemaRegistry());
-        assertNotNull(yangObject);
-        assertEquals("YANG object created is not topology object",
-                     YmsTopologyOpParam.class, yangObject.getClass());
-
-        YmsTopologyOpParam topology = (YmsTopologyOpParam) yangObject;
-        assertNotNull("Failed to build the object", topology.node());
-        assertEquals("Single node entry is expected", 1,
-                     topology.node().size());
-        assertEquals("Node type is not DefaultNode", DefaultNode.class,
-                     topology.node().get(0).getClass());
-
-        Node node = topology.node().get(0);
-        assertNotNull("Choice 1 is not set in Node", node.choice1());
-        assertEquals("Choice 1 is not of type DefaultCase1b",
-                     DefaultCase1b.class, node.choice1().getClass());
-
-        Case1b case1b = (Case1b) node.choice1();
-        assertNotNull("Case1b does not have child choice1b ",
-                      case1b.choice1b());
-        assertEquals("choice1b is not of type DefaultCase1Bi",
-                     DefaultCase1Bi.class, case1b.choice1b().getClass());
-
-        Case1Bi case1Bi = (Case1Bi) case1b.choice1b();
-        assertNotNull("leaf1bia is not set", case1Bi.leaf1Bia());
-        assertEquals("leaf1bia type is not string", String.class,
-                     case1Bi.leaf1Bia().getClass());
-        assertEquals("leaf1bia value is wrong", STR_LEAF_VALUE,
-                     case1Bi.leaf1Bia());
-    }
-
-    @Test
-    public void recursiveChoiceWithMultipleAttribute() throws IOException {
-
-        YangRequestWorkBench ydtBuilder = new YangRequestWorkBench(
-                ROOT_DATA_RESOURCE, null, null, utils.schemaRegistry(),
-                true);
-
-        ydtBuilder.addChild(TOPOLOGY, null, NONE);
-        ydtBuilder.addChild(NODE, null);
-        ydtBuilder.addLeaf(LEAF_1BIA, null, STR_LEAF_VALUE);
-        ydtBuilder.traverseToParent();
-        ydtBuilder.addLeaf(LEAF_1BIB, null, STR_LEAF_VALUE);
-
-
-        YdtContext logicalRoot = ydtBuilder.getRootNode();
-        YdtExtendedContext appRoot =
-                (YdtExtendedContext) logicalRoot.getFirstChild();
-
-        DefaultYobBuilder yobBuilder = new DefaultYobBuilder();
-        Object yangObject = yobBuilder.getYangObject(appRoot,
-                                                     utils.schemaRegistry());
-        assertNotNull(yangObject);
-        assertEquals("YANG object created is not topology object",
-                     YmsTopologyOpParam.class, yangObject.getClass());
-
-        YmsTopologyOpParam topology = (YmsTopologyOpParam) yangObject;
-        assertNotNull("Failed to build the object", topology.node());
-        assertEquals("Single node entry is expected", 1,
-                     topology.node().size());
-        assertEquals("Node type is not DefaultNode", DefaultNode.class,
-                     topology.node().get(0).getClass());
-
-        Node node = topology.node().get(0);
-        assertNotNull("Choice 1 is not set in Node", node.choice1());
-        assertEquals("Choice 1 is not of type DefaultCase1b",
-                     DefaultCase1b.class,
-                     node.choice1().getClass());
-
-        Case1b case1b = (Case1b) node.choice1();
-        assertNotNull("Case1b does not have child choice1b ",
-                      case1b.choice1b());
-        assertEquals("choice1b is not of type DefaultCase1Bi",
-                     DefaultCase1Bi.class,
-                     case1b.choice1b().getClass());
-
-        Case1Bi case1Bi = (Case1Bi) case1b.choice1b();
-        assertNotNull("leaf1bia is not set", case1Bi.leaf1Bia());
-        assertEquals("leaf1bia type is not string", String.class,
-                     case1Bi.leaf1Bia().getClass());
-        assertEquals("leaf1bia value is wrong", STR_LEAF_VALUE,
-                     case1Bi.leaf1Bia());
-
-        assertNotNull("leaf1bib is not set", case1Bi.leaf1Bib());
-        assertEquals("leaf1bia type is not string", String.class,
-                     case1Bi.leaf1Bib().getClass());
-        assertEquals("leaf1bia value is wrong", STR_LEAF_VALUE,
-                     case1Bi.leaf1Bib());
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobDecimal64Test.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobDecimal64Test.java
deleted file mode 100644
index b069ad2..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobDecimal64Test.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.app.ydt.YdtTestUtils;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.lang.reflect.Field;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-public class YobDecimal64Test {
-
-    /*
-
-    Positive scenario
-
-    input at boundary for decimal64 with fraction 2
-        i. min value
-        ii. max value
-
-    input at boundary for decimal64 with minimum fraction
-        i. min value
-        ii. mid value
-        iii. max value
-
-    input at boundary for decimal64 with maximum fraction
-        i. min value
-        ii. mid value
-        iii. max value
-
-    input with in range
-        if range is 10 to 100 for integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-    input with multi interval range
-        if range is 10..40 | 50..100 for decimal64
-            i.1. input 11
-            i.2. input 10
-            i.3. input 40
-            i.4. input 50
-            i.5. input 55
-            i.6. input 100
-
-        if range is "min .. 3.14 | 10 | 20..max" for decimal64
-            i.1. input min
-            i.2. input 2.505
-            i.3. input 3.14
-            i.4. input 10
-            i.5. input 20
-            i.6. input 92233720368547757
-            i.7. input 92233720368547758.07
-
-    */
-    @Test
-    public void positiveTest() {
-        YangRequestWorkBench defaultYdtBuilder = YdtTestUtils.decimal64Ydt();
-        validateYangObject(defaultYdtBuilder);
-    }
-
-    private void validateYangObject(YangRequestWorkBench defaultYdtBuilder) {
-
-        YdtContext rootCtx = defaultYdtBuilder.getRootNode();
-
-        YdtContext childCtx = rootCtx.getFirstChild();
-
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, YdtTestUtils
-                        .getSchemaRegistry());
-        assertNotNull(yangObject);
-        try {
-            Field negInt = yangObject.getClass().getDeclaredField("negInt");
-            negInt.setAccessible(true);
-            assertEquals("-92233720368547758.08", negInt
-                    .get(yangObject).toString());
-            Field negIntWithMaxFraction = yangObject.getClass()
-                    .getDeclaredField("negIntWithMaxFraction");
-            negIntWithMaxFraction.setAccessible(true);
-            assertEquals("-9.223372036854775808", negIntWithMaxFraction
-                    .get(yangObject).toString());
-            Field negIntWithMinFraction = yangObject.getClass()
-                    .getDeclaredField("negIntWithMinFraction");
-            negIntWithMinFraction.setAccessible(true);
-            assertEquals("-922337203685477580.8", negIntWithMinFraction
-                    .get(yangObject).toString());
-            Field posInt = yangObject.getClass()
-                    .getDeclaredField("posInt");
-            posInt.setAccessible(true);
-            assertEquals("92233720368547758.07", posInt
-                    .get(yangObject).toString());
-            Field posIntWithMaxFraction = yangObject
-                    .getClass().getDeclaredField("posIntWithMaxFraction");
-            posIntWithMaxFraction.setAccessible(true);
-            assertEquals("9.223372036854775807", posIntWithMaxFraction
-                    .get(yangObject).toString());
-            Field posIntWithMinFraction = yangObject.getClass()
-                    .getDeclaredField("posIntWithMinFraction");
-            posIntWithMinFraction.setAccessible(true);
-            assertEquals("922337203685477580.7", posIntWithMinFraction
-                    .get(yangObject).toString());
-            Field minIntWithRange = yangObject.getClass()
-                    .getDeclaredField("minIntWithRange");
-            minIntWithRange.setAccessible(true);
-            assertEquals("10", minIntWithRange
-                    .get(yangObject).toString());
-            Field midIntWithRange = yangObject
-                    .getClass().getDeclaredField("midIntWithRange");
-            midIntWithRange.setAccessible(true);
-            assertEquals("11", midIntWithRange.get(yangObject).toString());
-            Field maxIntWithRange = yangObject
-                    .getClass().getDeclaredField("maxIntWithRange");
-            maxIntWithRange.setAccessible(true);
-            assertEquals("100", maxIntWithRange.get(yangObject).toString());
-        } catch (NoSuchFieldException | IllegalAccessException e) {
-            fail("No such field or illegal access exception: " + e);
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobEmptyTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobEmptyTest.java
deleted file mode 100644
index 55c416e..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobEmptyTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.app.ydt.YdtTestUtils;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.lang.reflect.Field;
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-public class YobEmptyTest {
-
-    /*
-        EMPTY
-        Positive scenario
-        input with in empty.
-    */
-    @Test
-    public void positiveTest() {
-        YangRequestWorkBench defaultYdtBuilder = YdtTestUtils.emptyTypeYdt();
-        validateYangObject(defaultYdtBuilder);
-    }
-
-    private void validateYangObject(YangRequestWorkBench defaultYdtBuilder) {
-
-        YdtContext rootCtx = defaultYdtBuilder.getRootNode();
-
-        YdtContext childCtx = rootCtx.getFirstChild();
-
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, YdtTestUtils
-                        .getSchemaRegistry());
-        assertNotNull(yangObject);
-        try {
-
-            Field field = yangObject.getClass().getDeclaredField("emptyList");
-            field.setAccessible(true);
-            List booleanList = (List) field.get(yangObject);
-            Field invalidInterval = booleanList.get(0)
-                    .getClass().getDeclaredField("empty");
-            invalidInterval.setAccessible(true);
-            assertEquals(false, invalidInterval.get(booleanList.get(0)));
-        } catch (NoSuchFieldException | IllegalAccessException e) {
-            fail("No such field or illegal access exception: " + e);
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobEnumTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobEnumTest.java
deleted file mode 100644
index c479afa..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobEnumTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.app.ydt.YdtTestUtils;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.lang.reflect.Field;
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-public class YobEnumTest {
-
-/*
-    ENUM
-
-    Positive scenario
-
-        input with in enum
-        input with "ten"
-        input with "hundred"
-        input with "thousand"
-*/
-
-    @Test
-    public void positiveTest() {
-        YangRequestWorkBench defaultYdtBuilder = YdtTestUtils.enumYdt();
-        validateYangObject(defaultYdtBuilder);
-    }
-
-    private void validateYangObject(YangRequestWorkBench defaultYdtBuilder) {
-
-        YdtContext rootCtx = defaultYdtBuilder.getRootNode();
-
-        YdtContext childCtx = rootCtx.getFirstChild();
-
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, YdtTestUtils
-                        .getSchemaRegistry());
-        assertNotNull(yangObject);
-        try {
-            Field field = yangObject.getClass().getDeclaredField("enumList");
-            field.setAccessible(true);
-            List enumList = (List) field.get(yangObject);
-            assertEquals(false, enumList.isEmpty());
-            Field enumleaf = enumList.get(0)
-                    .getClass().getDeclaredField("enumleaf");
-            enumleaf.setAccessible(true);
-            assertEquals("ten", enumleaf
-                    .get(enumList.get(0)).toString().toLowerCase());
-            assertEquals("hundred", enumleaf
-                    .get(enumList.get(1)).toString().toLowerCase());
-            assertEquals("thousand", enumleaf
-                    .get(enumList.get(2)).toString().toLowerCase());
-        } catch (NoSuchFieldException | IllegalAccessException e) {
-            fail("No such field or illegal access exception: " + e);
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobIetfNetworkTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobIetfNetworkTest.java
deleted file mode 100644
index 462dccb..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobIetfNetworkTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.app.ydt.YdtTestUtils;
-import org.onosproject.yms.ydt.YdtContext;
-
-import static org.junit.Assert.assertNotNull;
-
-public class YobIetfNetworkTest {
-
-    @Test
-    public void ietfNetwork1Test() {
-        YangRequestWorkBench defaultYdtBuilder = YdtTestUtils.ietfNetwork1Ydt();
-        validateYangObject(defaultYdtBuilder);
-    }
-
-    private void validateYangObject(YangRequestWorkBench defaultYdtBuilder) {
-
-        YdtContext rootCtx = defaultYdtBuilder.getRootNode();
-
-        YdtContext childCtx = rootCtx.getFirstChild();
-
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, YdtTestUtils
-                        .getSchemaRegistry());
-        assertNotNull(yangObject);
-        //TODO yangObject need to verify
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobInteger16Test.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobInteger16Test.java
deleted file mode 100644
index 39281b7..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobInteger16Test.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.app.ydt.YdtTestUtils;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.lang.reflect.Field;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-public class YobInteger16Test {
-
-    /*
-
-    Positive scenario
-
-    input at boundary for integer
-        i. min value
-        ii. max value
-
-    input at boundary for unsigned integer
-        i. min value
-        ii. max value
-
-    input with in range
-        if range is 10 to 100 for integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-        if range is 10 to 100 for unsigned integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-    */
-    @Test
-    public void positiveTest() {
-        YangRequestWorkBench defaultYdtBuilder = YdtTestUtils.integer16Ydt();
-        validateYangObject(defaultYdtBuilder);
-    }
-
-    public void validateYangObject(YangRequestWorkBench defaultYdtBuilder) {
-
-        YdtContext rootCtx = defaultYdtBuilder.getRootNode();
-
-        YdtContext childCtx = rootCtx.getFirstChild();
-
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, YdtTestUtils
-                        .getSchemaRegistry());
-        assertNotNull(yangObject);
-        try {
-            Field negInt = yangObject.getClass().getDeclaredField("negInt");
-            negInt.setAccessible(true);
-            assertEquals("-32768", negInt.get(yangObject).toString());
-            Field posInt = yangObject.getClass().getDeclaredField("posInt");
-            posInt.setAccessible(true);
-            assertEquals("32767", posInt.get(yangObject).toString());
-            Field minIntWithRange = yangObject
-                    .getClass().getDeclaredField("minIntWithRange");
-            minIntWithRange.setAccessible(true);
-            assertEquals("10", minIntWithRange.get(yangObject).toString());
-            Field midIntWithRange = yangObject
-                    .getClass().getDeclaredField("midIntWithRange");
-            midIntWithRange.setAccessible(true);
-            assertEquals("11", midIntWithRange.get(yangObject).toString());
-            Field maxIntWithRange = yangObject
-                    .getClass().getDeclaredField("maxIntWithRange");
-            maxIntWithRange.setAccessible(true);
-            assertEquals("100", maxIntWithRange.get(yangObject).toString());
-            Field minUint = yangObject.getClass().getDeclaredField("minUint");
-            minUint.setAccessible(true);
-            assertEquals("0", minUint.get(yangObject).toString());
-            Field maxUint = yangObject.getClass().getDeclaredField("maxUint");
-            maxUint.setAccessible(true);
-            assertEquals("65535", maxUint.get(yangObject).toString());
-            Field minUintWithRange = yangObject
-                    .getClass().getDeclaredField("minUintWithRange");
-            minUintWithRange.setAccessible(true);
-            assertEquals("10", minUintWithRange.get(yangObject).toString());
-            Field midUintWithRange = yangObject
-                    .getClass().getDeclaredField("midUintWithRange");
-            midUintWithRange.setAccessible(true);
-            assertEquals("11", midUintWithRange.get(yangObject).toString());
-            Field maxUintWithRange = yangObject
-                    .getClass().getDeclaredField("maxUintWithRange");
-            maxUintWithRange.setAccessible(true);
-            assertEquals("100", maxUintWithRange.get(yangObject).toString());
-        } catch (NoSuchFieldException | IllegalAccessException e) {
-            fail("No such field or illegal access exception: " + e);
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobInteger32Test.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobInteger32Test.java
deleted file mode 100644
index d97f783..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobInteger32Test.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.app.ydt.YdtTestUtils;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.lang.reflect.Field;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-public class YobInteger32Test {
-
-    /*
-
-    Positive scenario
-
-    input at boundary for integer
-        i. min value
-        ii. max value
-
-    input at boundary for unsigned integer
-        i. min value
-        ii. max value
-
-    input with in range
-        if range is 10 to 100 for integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-        if range is 10 to 100 for unsigned integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-    */
-    @Test
-    public void positiveTest() {
-        YangRequestWorkBench defaultYdtBuilder = YdtTestUtils.integer32Ydt();
-        validateYangObject(defaultYdtBuilder);
-    }
-
-    public void validateYangObject(YangRequestWorkBench defaultYdtBuilder) {
-
-        YdtContext rootCtx = defaultYdtBuilder.getRootNode();
-
-        YdtContext childCtx = rootCtx.getFirstChild();
-
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, YdtTestUtils
-                        .getSchemaRegistry());
-        assertNotNull(yangObject);
-        try {
-            Field negInt = yangObject.getClass().getDeclaredField("negInt");
-            negInt.setAccessible(true);
-            assertEquals("-2147483648", negInt.get(yangObject).toString());
-            Field posInt = yangObject.getClass().getDeclaredField("posInt");
-            posInt.setAccessible(true);
-            assertEquals("2147483647", posInt.get(yangObject).toString());
-            Field minIntWithRange = yangObject
-                    .getClass().getDeclaredField("minIntWithRange");
-            minIntWithRange.setAccessible(true);
-            assertEquals("10", minIntWithRange.get(yangObject).toString());
-            Field midIntWithRange = yangObject
-                    .getClass().getDeclaredField("midIntWithRange");
-            midIntWithRange.setAccessible(true);
-            assertEquals("11", midIntWithRange.get(yangObject).toString());
-            Field maxIntWithRange = yangObject
-                    .getClass().getDeclaredField("maxIntWithRange");
-            maxIntWithRange.setAccessible(true);
-            assertEquals("100", maxIntWithRange.get(yangObject).toString());
-            Field minUint = yangObject.getClass().getDeclaredField("minUint");
-            minUint.setAccessible(true);
-            assertEquals("0", minUint.get(yangObject).toString());
-            Field maxUint = yangObject.getClass().getDeclaredField("maxUint");
-            maxUint.setAccessible(true);
-            assertEquals("4294967295", maxUint.get(yangObject).toString());
-            Field minUintWithRange = yangObject
-                    .getClass().getDeclaredField("minUintWithRange");
-            minUintWithRange.setAccessible(true);
-            assertEquals("10", minUintWithRange.get(yangObject).toString());
-            Field midUintWithRange = yangObject
-                    .getClass().getDeclaredField("midUintWithRange");
-            midUintWithRange.setAccessible(true);
-            assertEquals("11", midUintWithRange.get(yangObject).toString());
-            Field maxUintWithRange = yangObject
-                    .getClass().getDeclaredField("maxUintWithRange");
-            maxUintWithRange.setAccessible(true);
-            assertEquals("100", maxUintWithRange.get(yangObject).toString());
-        } catch (NoSuchFieldException | IllegalAccessException e) {
-            fail("No such field or illegal access exception: " + e);
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobInteger64Test.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobInteger64Test.java
deleted file mode 100644
index a3ee166..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobInteger64Test.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.app.ydt.YdtTestUtils;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.lang.reflect.Field;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-
-public class YobInteger64Test {
-
-    /*
-
-    Positive scenario
-
-    input at boundary for integer
-        i. min value
-        ii. max value
-
-    input at boundary for unsigned integer
-        i. min value
-        ii. max value
-
-    input with in range
-        if range is 10 to 100 for integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-        if range is 10 to 100 for unsigned integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-    */
-    @Test
-    public void positiveTest() {
-        YangRequestWorkBench defaultYdtBuilder = YdtTestUtils.integer64Ydt();
-        validateYangObject(defaultYdtBuilder);
-    }
-
-    private void validateYangObject(YangRequestWorkBench defaultYdtBuilder) {
-
-        YdtContext rootCtx = defaultYdtBuilder.getRootNode();
-
-        YdtContext childCtx = rootCtx.getFirstChild();
-
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, YdtTestUtils
-                        .getSchemaRegistry());
-        assertNotNull(yangObject);
-        try {
-            Field negInt = yangObject.getClass().getDeclaredField("negInt");
-            negInt.setAccessible(true);
-            assertEquals("-9223372036854775808", negInt
-                    .get(yangObject).toString());
-            Field posIntField = yangObject
-                    .getClass().getDeclaredField("posInt");
-            posIntField.setAccessible(true);
-            assertEquals("9223372036854775807", posIntField
-                    .get(yangObject).toString());
-            Field minIntWithRange = yangObject
-                    .getClass().getDeclaredField("minIntWithRange");
-            minIntWithRange.setAccessible(true);
-            assertEquals("10", minIntWithRange.get(yangObject).toString());
-            Field midIntWithRange = yangObject
-                    .getClass().getDeclaredField("midIntWithRange");
-            midIntWithRange.setAccessible(true);
-            assertEquals("11", midIntWithRange.get(yangObject).toString());
-            Field maxIntWithRange = yangObject
-                    .getClass().getDeclaredField("maxIntWithRange");
-            maxIntWithRange.setAccessible(true);
-            assertEquals("100", maxIntWithRange.get(yangObject).toString());
-            Field minUint = yangObject.getClass().getDeclaredField("minUint");
-            minUint.setAccessible(true);
-            assertEquals("0", minUint.get(yangObject).toString());
-            Field maxUint = yangObject.getClass().getDeclaredField("maxUint");
-            maxUint.setAccessible(true);
-            assertEquals("18446744073709551615", maxUint
-                    .get(yangObject).toString());
-            Field minUintWithRange = yangObject
-                    .getClass().getDeclaredField("minUintWithRange");
-            minUintWithRange.setAccessible(true);
-            assertEquals("10", minUintWithRange.get(yangObject).toString());
-            Field midUintWithRange = yangObject
-                    .getClass().getDeclaredField("midUintWithRange");
-            midUintWithRange.setAccessible(true);
-            assertEquals("11", midUintWithRange.get(yangObject).toString());
-            Field maxUintWithRange = yangObject
-                    .getClass().getDeclaredField("maxUintWithRange");
-            maxUintWithRange.setAccessible(true);
-            assertEquals("100", maxUintWithRange.get(yangObject).toString());
-        } catch (IllegalAccessException | NoSuchFieldException e) {
-            fail("No such field or illegal access exception: " + e);
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobInteger8Test.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobInteger8Test.java
deleted file mode 100644
index 11bd8e5..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobInteger8Test.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.app.ydt.YdtTestUtils;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.lang.reflect.Field;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-public class YobInteger8Test {
-
-    /*
-
-    Positive scenario
-
-    input at boundary for integer
-        i. min value
-        ii. max value
-
-    input at boundary for unsigned integer
-        i. min value
-        ii. max value
-
-    input with in range
-        if range is 10 to 100 for integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-        if range is 10 to 100 for unsigned integer
-            i.1. input 11
-            i.2. min value 10
-            i.3. max value 100
-
-    input with multi interval range
-        if range is 10..40 | 50..100 for integer
-            i.1. input 11
-            i.2. input 10
-            i.3. input 40
-            i.4. input 50
-            i.5. input 55
-            i.6. input 100
-
-        if range is 10..40 | 50..100 for unsigned integer
-            i.1. input 11
-            i.2. input 10
-            i.3. input 40
-            i.4. input 50
-            i.5. input 55
-            i.6. input 100
-
-        if range is "min .. 2 | 10 | 20..max" for integer
-            i.1. input -128
-            i.2. input 1
-            i.3. input 2
-            i.4. input 10
-            i.5. input 20
-            i.6. input 100
-            i.7. input 127
-
-         if range is "min .. 2 | 10 | 20..max" for unsigned Integer
-            i.1. input 0
-            i.2. input 1
-            i.3. input 2
-            i.4. input 10
-            i.5. input 20
-            i.6. input 100
-            i.7. input 255
-    */
-    @Test
-    public void positiveTest() {
-        YangRequestWorkBench defaultYdtBuilder = YdtTestUtils.integer8Ydt();
-        validateYangObject(defaultYdtBuilder);
-    }
-
-    private void validateYangObject(YangRequestWorkBench defaultYdtBuilder) {
-
-        YdtContext rootCtx = defaultYdtBuilder.getRootNode();
-
-        YdtContext childCtx = rootCtx.getFirstChild();
-
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, YdtTestUtils
-                        .getSchemaRegistry());
-        assertNotNull(yangObject);
-        try {
-            Field negInt = yangObject.getClass().getDeclaredField("negInt");
-            negInt.setAccessible(true);
-            assertEquals("-128", negInt.get(yangObject).toString());
-            Field posInt = yangObject.getClass().getDeclaredField("posInt");
-            posInt.setAccessible(true);
-            assertEquals("127", posInt.get(yangObject).toString());
-            Field minIntWithRange = yangObject
-                    .getClass().getDeclaredField("minIntWithRange");
-            minIntWithRange.setAccessible(true);
-            assertEquals("10", minIntWithRange
-                    .get(yangObject).toString());
-            Field midIntWithRange = yangObject
-                    .getClass().getDeclaredField("midIntWithRange");
-            midIntWithRange.setAccessible(true);
-            assertEquals("11", midIntWithRange
-                    .get(yangObject).toString());
-            Field maxIntWithRange = yangObject
-                    .getClass().getDeclaredField("maxIntWithRange");
-            maxIntWithRange.setAccessible(true);
-            assertEquals("100", maxIntWithRange.get(yangObject).toString());
-            Field minUint = yangObject.getClass().getDeclaredField("minUint");
-            minUint.setAccessible(true);
-            assertEquals("0", minUint.get(yangObject).toString());
-            Field maxUint = yangObject.getClass().getDeclaredField("maxUint");
-            maxUint.setAccessible(true);
-            assertEquals("255", maxUint.get(yangObject).toString());
-            Field minUintWithRange = yangObject
-                    .getClass().getDeclaredField("maxIntWithRange");
-            minUintWithRange.setAccessible(true);
-            assertEquals("100", minUintWithRange.get(yangObject).toString());
-            Field midUintWithRange = yangObject
-                    .getClass().getDeclaredField("midUintWithRange");
-            midUintWithRange.setAccessible(true);
-            assertEquals("11", midUintWithRange.get(yangObject).toString());
-            Field maxUintWithRange = yangObject
-                    .getClass().getDeclaredField("maxUintWithRange");
-            maxUintWithRange.setAccessible(true);
-            assertEquals("100", maxUintWithRange.get(yangObject).toString());
-        } catch (NoSuchFieldException | IllegalAccessException e) {
-            fail("No such field or illegal access exception: " + e);
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobListTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobListTest.java
deleted file mode 100644
index 47ec8ef..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobListTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.app.ydt.YdtTestUtils;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-public class YobListTest {
-
-    @Test
-    public void listwithoutcontainerTest() {
-        YangRequestWorkBench defaultYdtBuilder =
-                YdtTestUtils.listWithoutContainerYdt();
-        validateYangObjectList(defaultYdtBuilder);
-    }
-
-    private void validateYangObjectList(
-            YangRequestWorkBench defaultYdtBuilder) {
-
-        YdtContext rootCtx = defaultYdtBuilder.getRootNode();
-
-        YdtContext childCtx = rootCtx.getFirstChild();
-
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-
-        Object yangObject = builder.getYangObject(
-                (YdtExtendedContext) childCtx, YdtTestUtils.
-                        getSchemaRegistry());
-        assertNotNull(yangObject);
-        assertTrue(yangObject.getClass().getSimpleName()
-                           .equals("RootlistOpParam"));
-        try {
-
-            Field field =
-                    yangObject.getClass().getDeclaredField("listwithcontainer");
-            field.setAccessible(true);
-            List listwithcontainer = (List) field.get(yangObject);
-            assertEquals(true, listwithcontainer.isEmpty());
-            Field field1 = yangObject.getClass()
-                    .getDeclaredField("listwithoutcontainer");
-            field1.setAccessible(true);
-            List listwithoutcontainer = (List) field1.get(yangObject);
-            assertEquals(false, listwithoutcontainer.isEmpty());
-            Field invalidinterval = listwithoutcontainer.get(0).getClass()
-                    .getDeclaredField("invalidinterval");
-            invalidinterval.setAccessible(true);
-            assertEquals("12", invalidinterval.get(listwithoutcontainer.get(0))
-                    .toString());
-        } catch (NoSuchFieldException | IllegalAccessException e) {
-            fail("No such field or illegal access exception: " + e);
-        }
-    }
-
-    @Test
-    public void listwithcontainerTest()
-            throws IOException {
-        YangRequestWorkBench defaultYdtBuilder =
-                YdtTestUtils.listWithContainerYdt();
-
-        validateYangObject(defaultYdtBuilder);
-    }
-
-    public void validateYangObject(YangRequestWorkBench defaultYdtBuilder) {
-
-        YdtContext ydtContext = defaultYdtBuilder.getRootNode();
-
-        YdtContext ydtContext1 = ydtContext.getFirstChild();
-
-        DefaultYobBuilder defaultYobBuilder = new DefaultYobBuilder();
-
-        Object yangObject = defaultYobBuilder.getYangObject(
-                (YdtExtendedContext) ydtContext1, YdtTestUtils
-                        .getSchemaRegistry());
-        assertNotNull(yangObject);
-        assertTrue(yangObject.getClass().getSimpleName()
-                           .equals("RootlistOpParam"));
-        try {
-
-            Field field = yangObject.getClass()
-                    .getDeclaredField("listwithoutcontainer");
-            field.setAccessible(true);
-            List listwithoutcontainer = (List) field.get(yangObject);
-            assertEquals(true, listwithoutcontainer.isEmpty());
-            Field listwithcontainerField =
-                    yangObject.getClass().getDeclaredField("listwithcontainer");
-            listwithcontainerField.setAccessible(true);
-            List listwithcontainer =
-                    (List) listwithcontainerField.get(yangObject);
-            Field invalid = listwithcontainer.get(0).getClass()
-                    .getDeclaredField("invalid");
-            invalid.setAccessible(true);
-            assertEquals("12",
-                         invalid.get(listwithcontainer.get(0)).toString());
-            Field invalidinterval = listwithcontainer.get(0).getClass()
-                    .getDeclaredField("invalidinterval");
-            invalidinterval.setAccessible(true);
-            List invalidintervalList =
-                    (List) invalidinterval.get(listwithcontainer.get(0));
-            assertEquals("1", invalidintervalList.get(0).toString());
-            assertEquals("2", invalidintervalList.get(1).toString());
-        } catch (NoSuchFieldException | IllegalAccessException e) {
-            fail("No such field or illegal access exception: " + e);
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobLogisticsManagerTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobLogisticsManagerTest.java
deleted file mode 100644
index c66f555..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobLogisticsManagerTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.yob;
-
-import org.junit.Test;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedContext;
-import org.onosproject.yms.app.ydt.YdtTestUtils;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
-public class YobLogisticsManagerTest {
-
-    @Test
-    public void logisticsManagerTest() throws IOException {
-        YangRequestWorkBench defaultYdtBuilder = YdtTestUtils
-                .logisticsManagerYdt();
-
-        YdtContext rootCtx = defaultYdtBuilder.getRootNode();
-
-        YdtContext childCtx = rootCtx.getFirstChild();
-
-        DefaultYobBuilder builder = new DefaultYobBuilder();
-
-        while (childCtx != null) {
-
-            Object yangObject = builder.getYangObject(
-                    (YdtExtendedContext) childCtx, YdtTestUtils
-                            .getSchemaRegistry());
-            Class<?> aClass = yangObject.getClass();
-            if (aClass.getSimpleName().equals("CustomssupervisorOpParam")) {
-                try {
-                    Field field = aClass.getDeclaredField("supervisor");
-                    Field onosYangNodeOperationType = aClass
-                            .getDeclaredField("onosYangNodeOperationType");
-                    field.setAccessible(true);
-                    onosYangNodeOperationType.setAccessible(true);
-                    try {
-                        assertEquals("abc", field.get(yangObject).toString());
-                        assertEquals("MERGE", onosYangNodeOperationType
-                                .get(yangObject).toString());
-                    } catch (IllegalAccessException e) {
-                        fail("Illegal access exception: " + e);
-                    }
-                } catch (NoSuchFieldException e) {
-                    fail("No such field exception: " + e);
-                }
-            }
-
-            if (aClass.getSimpleName().equals(
-                    "MerchandisersupervisorOpParam")) {
-                try {
-                    Field field = aClass.getDeclaredField("supervisor");
-                    field.setAccessible(true);
-                    try {
-                        assertEquals("abc", field.get(yangObject).toString());
-                    } catch (IllegalAccessException e) {
-                        fail("Illegal access exception: " + e);
-                    }
-                } catch (NoSuchFieldException e) {
-                    fail("No such field found exception: " + e);
-                }
-            }
-
-            if (aClass.getSimpleName().equals("WarehousesupervisorOpParam")) {
-                try {
-                    Field field = aClass.getDeclaredField("supervisor");
-                    field.setAccessible(true);
-                    try {
-                        ArrayList<String> arrayList =
-                                (ArrayList<String>) field.get(yangObject);
-                        assertEquals("1", arrayList.get(0));
-                        assertEquals("2", arrayList.get(1));
-                        assertEquals("3", arrayList.get(2));
-                        assertEquals("4", arrayList.get(3));
-                        assertEquals("5", arrayList.get(4));
-                    } catch (IllegalAccessException e) {
-                        fail("Illegal access exception: " + e);
-                    }
-                } catch (NoSuchFieldException e) {
-                    fail("No such field exception: " + e);
-                }
-            }
-            childCtx = childCtx.getNextSibling();
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobTestUtils.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobTestUtils.java
deleted file mode 100644
index 17b41dd..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/yob/YobTestUtils.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.yms.app.yob;
-
-import org.onosproject.yms.app.ysr.TestYangSchemaNodeProvider;
-import org.onosproject.yms.app.ysr.YangSchemaRegistry;
-
-/**
- * YOB test Utility.
- */
-final class YobTestUtils {
-
-    /**
-     * Schema nodes.
-     */
-    static final String ROOT_DATA_RESOURCE = "/restconf/data";
-    static final String TOPOLOGY = "yms-topology";
-    static final String NODE = "node";
-    static final String LEAF_1A1 = "leaf1a1";
-    static final String LEAF_1A2 = "leaf1a2";
-    static final String LEAF_1BIA = "leaf1bia";
-    static final String LEAF_1BIB = "leaf1bib";
-    static final String ROUTER_ID = "router-id";
-    static final String ROUTER_IP = "router-ip";
-    static final String STR_LEAF_VALUE = "leaf value";
-
-    private YobTestUtils() {
-        TEST_SCHEMA_PROVIDER.processSchemaRegistry(null);
-    }
-
-    private static final TestYangSchemaNodeProvider
-            TEST_SCHEMA_PROVIDER = new TestYangSchemaNodeProvider();
-
-    YangSchemaRegistry schemaRegistry() {
-        return TEST_SCHEMA_PROVIDER.getDefaultYangSchemaRegistry();
-    }
-
-    /**
-     * Returns the YANG object builder factory instance.
-     *
-     * @return YANG object builder factory instance
-     */
-    static YobTestUtils instance() {
-        return LazyHolder.INSTANCE;
-    }
-
-    /*
-     * Bill Pugh Singleton pattern. INSTANCE won't be instantiated until the
-     * LazyHolder class is loaded via a call to the instance() method below.
-     */
-    private static class LazyHolder {
-        private static final YobTestUtils INSTANCE = new YobTestUtils();
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ypm/DefaultYpmNodeTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ypm/DefaultYpmNodeTest.java
deleted file mode 100644
index bec2eef..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ypm/DefaultYpmNodeTest.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ypm;
-
-import org.junit.Test;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.hamcrest.Matchers.nullValue;
-
-import org.onosproject.yms.ypm.YpmContext;
-import org.onosproject.yms.ypm.DefaultYpmNode;
-
-/**
- * Unit tests for DefaultYpmNode class.
- */
-public class DefaultYpmNodeTest {
-    private final String logicalName = "logicalYpmNode";
-    private final String moduleName1 = "portPairModule1";
-    private final String moduleName2 = "portPairModule2";
-    private final String xNodeName = "x";
-    private final String yNodeName = "y";
-    private final String zNodeName = "z";
-    private final String x1NodeName = "x1";
-    private final String x2NodeName = "x2";
-    private final String y1NodeName = "y1";
-    private final String y2NodeName = "y2";
-    private final String z1NodeName = "z1";
-    private final String z2NodeName = "z2";
-
-    /**
-     * Constructs ypm tree with single module.
-     *
-     * @return ypm tree root node
-     */
-    private YpmContext constructYpmTreeSingleModule() {
-        // Create logical node
-        DefaultYpmNode rootNode = new DefaultYpmNode(logicalName);
-        // Create module node with moduleName1
-        rootNode.addChild(moduleName1); // child to logical node
-        YpmContext moduleNode = rootNode.getChild(moduleName1);
-        moduleNode.addChild(xNodeName); // child to module node
-        moduleNode.addChild(yNodeName); // sibling node to child node "x"
-        YpmContext xNode = moduleNode.getChild("x");
-        xNode.addSibling(zNodeName); // sibling node to child node "x"
-        xNode.addChild(x1NodeName); // child to node x
-        xNode.addChild(x2NodeName); // child to node x
-        YpmContext yNode = moduleNode.getChild(yNodeName);
-        yNode.addChild(y1NodeName); // child to node y
-        yNode.addChild(y2NodeName); // child to node y
-        YpmContext zNode = moduleNode.getChild(zNodeName);
-        zNode.addChild(z1NodeName); // child to node z
-        zNode.addChild(z2NodeName); // child to node z
-        return rootNode;
-    }
-
-    /**
-     * Constructs ypm tree with multi module.
-     *
-     * @return ypm tree root node
-     */
-    private YpmContext constructYpmTreeMultiModule(DefaultYpmNode rootNode) {
-        rootNode.addChild(moduleName2); // child to logical node
-        YpmContext moduleNode = rootNode.getChild(moduleName2);
-        moduleNode.addChild(xNodeName); // child to module node
-        moduleNode.addChild(yNodeName); // sibling node to child node "x"
-        YpmContext xNode = moduleNode.getChild("x");
-        xNode.addSibling(zNodeName); // sibling node to child node "x"
-        xNode.addChild(x1NodeName); // child to node x
-        xNode.addChild(x2NodeName); // child to node x
-        YpmContext yNode = moduleNode.getChild(yNodeName);
-        yNode.addChild(y1NodeName); // child to node y
-        yNode.addChild(y2NodeName); // child to node y
-        YpmContext zNode = moduleNode.getChild(zNodeName);
-        zNode.addChild(z1NodeName); // child to node z
-        zNode.addChild(z2NodeName); // child to node z
-        return rootNode;
-    }
-
-    /**
-     * Checks ypm tree single module construction.
-     */
-    @Test
-    public void testYpmTreeSingleModuleConstruction() {
-        DefaultYpmNode rootNode = (DefaultYpmNode) constructYpmTreeSingleModule();
-        // Check one by one node
-        String name = rootNode.getName();
-        assertThat(name, is(logicalName));
-        YpmContext moduleNode = rootNode.getChild(moduleName1);
-        assertThat(moduleNode.getName(), is(moduleName1));
-        YpmContext ypmNode = moduleNode.getChild(xNodeName);
-        assertThat(ypmNode.getName(), is(xNodeName));
-        // Check sibling by using getNextSibling();
-        ypmNode = ypmNode.getNextSibling();
-        assertThat(ypmNode, notNullValue()); // either y or z should be there as sibling
-        ypmNode = ypmNode.getNextSibling();
-        assertThat(ypmNode, notNullValue()); // either y or z should be there as sibling
-        ypmNode = ypmNode.getNextSibling();
-        assertThat(ypmNode, nullValue()); // last sibling point to next sibling as null
-        // Check sibling by using getPreviousSibling()
-        ypmNode = moduleNode.getChild(zNodeName);
-        assertThat(ypmNode.getName(), is(zNodeName));
-        ypmNode = ypmNode.getPreviousSibling();
-        assertThat(ypmNode, notNullValue()); // either x or y should be there as sibling
-        ypmNode = ypmNode.getPreviousSibling();
-        assertThat(ypmNode, notNullValue()); // either x or y should be there as sibling
-        ypmNode = ypmNode.getPreviousSibling();
-        assertThat(ypmNode, nullValue()); // last sibling point to next sibling as null
-        // Checks the child x1 and x2
-        ypmNode = moduleNode.getChild(xNodeName);
-        ypmNode = ypmNode.getChild(x1NodeName);
-        assertThat(ypmNode.getName(), is(x1NodeName));
-        ypmNode = ypmNode.getSibling(x2NodeName);
-        assertThat(ypmNode.getName(), is(x2NodeName));
-        // Checks the child y1 and y2
-        ypmNode = moduleNode.getChild(yNodeName);
-        ypmNode = ypmNode.getChild(y1NodeName);
-        assertThat(ypmNode.getName(), is(y1NodeName));
-        ypmNode = ypmNode.getSibling(y2NodeName);
-        assertThat(ypmNode.getName(), is(y2NodeName));
-        // Checks the child z1 and z2
-        ypmNode = moduleNode.getChild(zNodeName);
-        ypmNode = ypmNode.getChild(z1NodeName);
-        assertThat(ypmNode.getName(), is(z1NodeName));
-        ypmNode = ypmNode.getSibling(z2NodeName);
-        assertThat(ypmNode.getName(), is(z2NodeName));
-    }
-
-    /**
-     * Checks ypm tree multiple module construction.
-     */
-    @Test
-    public void testYpmTreeMultiModuleConstruction() {
-        DefaultYpmNode rootNode = (DefaultYpmNode) constructYpmTreeSingleModule();
-        rootNode = (DefaultYpmNode) constructYpmTreeMultiModule(rootNode);
-        // Check one by one node
-        String name = rootNode.getName();
-        assertThat(name, is(logicalName));
-        YpmContext moduleNode = rootNode.getChild(moduleName2);
-        assertThat(moduleNode.getName(), is(moduleName2));
-        YpmContext ypmNode = moduleNode.getChild(xNodeName);
-        assertThat(ypmNode.getName(), is(xNodeName));
-        // Check sibling by using getNextSibling();
-        ypmNode = ypmNode.getNextSibling();
-        assertThat(ypmNode, notNullValue()); // either y or z should be there as sibling
-        ypmNode = ypmNode.getNextSibling();
-        assertThat(ypmNode, notNullValue()); // either y or z should be there as sibling
-        ypmNode = ypmNode.getNextSibling();
-        assertThat(ypmNode, nullValue()); // last sibling point to next sibling as null
-        // Check sibling by using getPreviousSibling()
-        ypmNode = moduleNode.getChild(zNodeName);
-        assertThat(ypmNode.getName(), is(zNodeName));
-        ypmNode = ypmNode.getPreviousSibling();
-        assertThat(ypmNode, notNullValue()); // either x or y should be there as sibling
-        ypmNode = ypmNode.getPreviousSibling();
-        assertThat(ypmNode, notNullValue()); // either x or y should be there as sibling
-        ypmNode = ypmNode.getPreviousSibling();
-        assertThat(ypmNode, nullValue()); // last sibling point to next sibling as null
-        // Checks the child x1 and x2
-        ypmNode = moduleNode.getChild(xNodeName);
-        ypmNode = ypmNode.getChild(x1NodeName);
-        assertThat(ypmNode.getName(), is(x1NodeName));
-        ypmNode = ypmNode.getSibling(x2NodeName);
-        assertThat(ypmNode.getName(), is(x2NodeName));
-        // Checks the child y1 and y2
-        ypmNode = moduleNode.getChild(yNodeName);
-        ypmNode = ypmNode.getChild(y1NodeName);
-        assertThat(ypmNode.getName(), is(y1NodeName));
-        ypmNode = ypmNode.getSibling(y2NodeName);
-        assertThat(ypmNode.getName(), is(y2NodeName));
-        // Checks the child z1 and z2
-        ypmNode = moduleNode.getChild(zNodeName);
-        ypmNode = ypmNode.getChild(z1NodeName);
-        assertThat(ypmNode.getName(), is(z1NodeName));
-        ypmNode = ypmNode.getSibling(z2NodeName);
-        assertThat(ypmNode.getName(), is(z2NodeName));
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ypm/YpmManagerTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ypm/YpmManagerTest.java
deleted file mode 100644
index 7ba2219..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ypm/YpmManagerTest.java
+++ /dev/null
@@ -1,494 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ypm;
-
-import org.junit.Test;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.hamcrest.Matchers.nullValue;
-
-import org.onosproject.yangutils.datamodel.YangSchemaNodeIdentifier;
-import org.onosproject.yms.ypm.YpmContext;
-import org.onosproject.yms.ypm.DefaultYpmNode;
-import org.onosproject.yms.app.util.YdtNodeAdapter;
-
-/**
- * Unit tests for YpmManager class.
- */
-public class YpmManagerTest {
-    private final String logicalName = "logicalYpmNode";
-    private final String moduleName1 = "portPairModule1";
-    private final String moduleName2 = "portPairModule2";
-    private final String xNodeName = "x";
-    private final String yNodeName = "y";
-    private final String zNodeName = "z";
-    private final String x1NodeName = "x1";
-    private final String x2NodeName = "x2";
-    private final String y1NodeName = "y1";
-    private final String y2NodeName = "y2";
-    private final String y11NodeName = "y11";
-    private final String z1NodeName = "z1";
-    private final String z2NodeName = "z2";
-    private final String z3NodeName = "z3";
-
-    /**
-     * Creates module1 ydt tree.
-     */
-    public YdtNodeAdapter createModule1Tree() throws CloneNotSupportedException {
-        YangSchemaNodeIdentifier tmpNodeIdentifier;
-        YdtNodeAdapter rootNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(logicalName);
-        rootNode.setNodeIdentifier(tmpNodeIdentifier);
-
-        // Create module node with moduleName1
-        YdtNodeAdapter moduleNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(moduleName1);
-        moduleNode.setNodeIdentifier(tmpNodeIdentifier);
-        moduleNode.setParent(rootNode);
-        rootNode.addChild(moduleNode); // child to logical node
-        YdtNodeAdapter xNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(xNodeName);
-        xNode.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter yNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(yNodeName);
-        yNode.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter zNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(zNodeName);
-        zNode.setNodeIdentifier(tmpNodeIdentifier);
-        moduleNode.addChild(xNode); // child to module node
-        xNode.addSibling(yNode);
-        yNode.addSibling(zNode);
-        YdtNodeAdapter x1Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(x1NodeName);
-        x1Node.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter x2Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(x2NodeName);
-        x2Node.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter y1Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(y1NodeName);
-        y1Node.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter y2Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(y2NodeName);
-        y2Node.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter z1Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(z1NodeName);
-        z1Node.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter z2Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(z2NodeName);
-        z2Node.setNodeIdentifier(tmpNodeIdentifier);
-        xNode.addChild(x1Node);
-        x1Node.addSibling(x2Node);
-        yNode.addChild(y1Node);
-        y1Node.addSibling(y2Node);
-        zNode.addChild(z1Node);
-        z1Node.addSibling(z2Node);
-
-        return rootNode;
-    }
-
-    /**
-     *  Checks the protocol data added in YpmManger when only single module exists.
-     */
-    @Test
-    public void retrieveAndCheckProtocolDataWhenSingleModule() throws CloneNotSupportedException {
-        YdtNodeAdapter rootNode = createModule1Tree();
-
-        YpmManager ypmManager = new YpmManager();
-        Object metaData = 10;
-        ypmManager.setProtocolData(rootNode, metaData);
-        YpmContext ypmContext = ypmManager.getProtocolData(rootNode);
-        DefaultYpmNode rootYpmNode = (DefaultYpmNode) ypmContext;
-        assertThat(rootYpmNode.getName(), is(logicalName));
-        DefaultYpmNode currYpmNode = (DefaultYpmNode) rootYpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(moduleName1));
-        currYpmNode = (DefaultYpmNode) currYpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(xNodeName));  // x node
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), notNullValue()); // y or z node
-        currYpmNode = currYpmNode.getNextSibling();
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), notNullValue()); // y or z node
-        currYpmNode = currYpmNode.getNextSibling();
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), nullValue());  // no sibling
-
-        // Check x node leaf's x1 and x2
-        DefaultYpmNode moduleYpmNode = currYpmNode.getParent();
-        assertThat(moduleYpmNode.getName(), is(moduleName1));
-        DefaultYpmNode xYpmNode = (DefaultYpmNode) moduleYpmNode.getFirstChild();
-        assertThat(xYpmNode.getName(), is(xNodeName));
-        assertThat(xYpmNode.getMetaData(), is(metaData));
-        // Check x1 node
-        currYpmNode = (DefaultYpmNode) xYpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(x1NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        // Check x2 node
-        currYpmNode = currYpmNode.getNextSibling();
-        assertThat(currYpmNode.getName(), is(x2NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-
-        // Check y node leaf's y1 and y2
-        DefaultYpmNode yYpmNode = xYpmNode.getNextSibling();
-        assertThat(yYpmNode.getName(), is(yNodeName));
-        assertThat(yYpmNode.getMetaData(), is(metaData));
-        // Check y1 node
-        currYpmNode = (DefaultYpmNode) yYpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(y1NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        // Check y2 node
-        currYpmNode = currYpmNode.getNextSibling();
-        assertThat(currYpmNode.getName(), is(y2NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-
-        // Check z node leaf's z1 and z2
-        DefaultYpmNode zYpmNode = yYpmNode.getNextSibling();
-        assertThat(zYpmNode.getName(), is(zNodeName));
-        assertThat(zYpmNode.getMetaData(), is(metaData));
-        // Check z1 node
-        currYpmNode = (DefaultYpmNode) zYpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(z1NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        // Check z2 node
-        currYpmNode = currYpmNode.getNextSibling();
-        assertThat(currYpmNode.getName(), is(z2NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-    }
-
-    /**
-     * Creates module2 ydt tree. Module1 and Module2 trees are point to same logical root.
-     */
-    public YdtNodeAdapter createModule2Tree() throws CloneNotSupportedException {
-        YangSchemaNodeIdentifier tmpNodeIdentifier;
-        YdtNodeAdapter rootNode = createModule1Tree();
-        YdtNodeAdapter moduleNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(moduleName2);
-        moduleNode.setNodeIdentifier(tmpNodeIdentifier);
-        moduleNode.setParent(rootNode);
-        rootNode.addChild(moduleNode); // child to logical node
-        YdtNodeAdapter xNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(xNodeName);
-        xNode.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter yNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(yNodeName);
-        yNode.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter zNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(zNodeName);
-        zNode.setNodeIdentifier(tmpNodeIdentifier);
-        moduleNode.addChild(xNode); // child to module node
-        xNode.addSibling(yNode);
-        yNode.addSibling(zNode);
-        YdtNodeAdapter x1Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(x1NodeName);
-        x1Node.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter x2Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(x2NodeName);
-        x2Node.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter y1Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(y1NodeName);
-        y1Node.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter y2Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(y2NodeName);
-        y2Node.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter z1Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(z1NodeName);
-        z1Node.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter z2Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(z2NodeName);
-        z2Node.setNodeIdentifier(tmpNodeIdentifier);
-        xNode.addChild(x1Node);
-        x1Node.addSibling(x2Node);
-        yNode.addChild(y1Node);
-        y1Node.addSibling(y2Node);
-        zNode.addChild(z1Node);
-        z1Node.addSibling(z2Node);
-
-        return rootNode;
-    }
-
-    /**
-     *  Checks the protocol data added in YpmManger when multiple modules exists.
-     */
-    @Test
-    public void retrieveAndCheckProtocolDataWhenMultipleModule() throws CloneNotSupportedException {
-        YdtNodeAdapter rootNode = createModule2Tree();
-
-        YpmManager ypmManager = new YpmManager();
-        Object metaData = 10;
-        ypmManager.setProtocolData(rootNode, metaData);
-        YpmContext ypmContext = ypmManager.getProtocolData(rootNode);
-        DefaultYpmNode rootYpmNode = (DefaultYpmNode) ypmContext;
-        assertThat(rootYpmNode.getName(), is(logicalName));
-        DefaultYpmNode currYpmNode = (DefaultYpmNode) rootYpmNode.getFirstChild();
-        currYpmNode = currYpmNode.getNextSibling(); // jump to next module (module2)
-        assertThat(currYpmNode.getName(), is(moduleName2));
-        currYpmNode = (DefaultYpmNode) currYpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(xNodeName));  // x node
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), notNullValue()); // y or z node
-        currYpmNode = currYpmNode.getNextSibling();
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), notNullValue()); // y or z node
-        currYpmNode = currYpmNode.getNextSibling();
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), nullValue());  // no sibling
-
-        // Check x node leaf's x1 and x2
-        DefaultYpmNode moduleYpmNode = currYpmNode.getParent();
-        assertThat(moduleYpmNode.getName(), is(moduleName2));
-        DefaultYpmNode xYpmNode = (DefaultYpmNode) moduleYpmNode.getFirstChild();
-        assertThat(xYpmNode.getName(), is(xNodeName));
-        assertThat(xYpmNode.getMetaData(), is(metaData));
-        // Check x1 node
-        currYpmNode = (DefaultYpmNode) xYpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(x1NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        // Check x2 node
-        currYpmNode = currYpmNode.getNextSibling();
-        assertThat(currYpmNode.getName(), is(x2NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-
-        // Check y node leaf's y1 and y2
-        DefaultYpmNode yYpmNode = xYpmNode.getNextSibling();
-        assertThat(yYpmNode.getName(), is(yNodeName));
-        assertThat(yYpmNode.getMetaData(), is(metaData));
-        // Check y1 node
-        currYpmNode = (DefaultYpmNode) yYpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(y1NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        // Check y2 node
-        currYpmNode = currYpmNode.getNextSibling();
-        assertThat(currYpmNode.getName(), is(y2NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-
-        // Check z node leaf's z1 and z2
-        DefaultYpmNode zYpmNode = yYpmNode.getNextSibling();
-        assertThat(zYpmNode.getName(), is(zNodeName));
-        assertThat(zYpmNode.getMetaData(), is(metaData));
-        // Check z1 node
-        currYpmNode = (DefaultYpmNode) zYpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(z1NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        // Check z2 node
-        currYpmNode = currYpmNode.getNextSibling();
-        assertThat(currYpmNode.getName(), is(z2NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-    }
-
-    /**
-     *  Checks the protocol data added in YpmManger, but tests only part of module1 tree.
-     */
-    @Test
-    public void retrieveAndCheckProtocolDataChosenFromPartOfModule1Tree() throws CloneNotSupportedException {
-        YangSchemaNodeIdentifier tmpNodeIdentifier;
-        YdtNodeAdapter rootNode = createModule2Tree();
-
-        // Sets the tree
-        YpmManager ypmManager = new YpmManager();
-        Object metaData = 10;
-        ypmManager.setProtocolData(rootNode, metaData);
-
-        // Create new ydt tree part of module1 tree
-        YdtNodeAdapter rootNewYdtNode = new YdtNodeAdapter();
-        // Create module node with moduleName1
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(logicalName);
-        rootNewYdtNode.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter moduleNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(moduleName1);
-        moduleNode.setNodeIdentifier(tmpNodeIdentifier);
-        moduleNode.setParent(rootNewYdtNode);
-        rootNewYdtNode.addChild(moduleNode); // child to logical node
-        YdtNodeAdapter yNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(yNodeName);
-        yNode.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter zNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(zNodeName);
-        zNode.setNodeIdentifier(tmpNodeIdentifier);
-        moduleNode.addChild(yNode); // child to module node
-        yNode.addSibling(zNode);
-        YdtNodeAdapter y1Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(y1NodeName);
-        y1Node.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter y2Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(y2NodeName);
-        y2Node.setNodeIdentifier(tmpNodeIdentifier);
-        yNode.addChild(y1Node);
-        y1Node.addSibling(y2Node);
-
-        // Again sets the protocol data
-        metaData = 20;
-        ypmManager.setProtocolData(rootNewYdtNode, metaData);
-
-        // Retrieve protocol data and check the contents
-        YpmContext ypmContext = ypmManager.getProtocolData(rootNewYdtNode);
-        DefaultYpmNode rootYpmNode = (DefaultYpmNode) ypmContext;
-        assertThat(rootYpmNode.getName(), is(logicalName));
-        DefaultYpmNode currYpmNode = (DefaultYpmNode) rootYpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(moduleName1));
-        // Check y and z node
-        currYpmNode = (DefaultYpmNode) currYpmNode.getFirstChild();
-        DefaultYpmNode yYpmNode = currYpmNode;
-        assertThat(currYpmNode.getName(), is(yNodeName));  // x node
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), notNullValue()); // z node
-        currYpmNode = currYpmNode.getNextSibling();
-        assertThat(currYpmNode.getName(), is(zNodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), nullValue());  // no sibling
-        // Check y1 and y2 node
-        currYpmNode = (DefaultYpmNode) yYpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(y1NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), notNullValue()); // y2 should exists
-        currYpmNode = currYpmNode.getNextSibling();
-        assertThat(currYpmNode.getName(), is(y2NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), nullValue());
-    }
-
-    /**
-     *  Checks the protocol data added in YpmManger, but tests part of module1 tree with little bit extended tree.
-     */
-    @Test
-    public void retrieveAndCheckProtocolDataChosenFromPartOfModule1TreeWithExtended()
-            throws CloneNotSupportedException {
-        YangSchemaNodeIdentifier tmpNodeIdentifier;
-        YdtNodeAdapter rootNode = createModule2Tree();
-
-        // Sets the tree
-        YpmManager ypmManager = new YpmManager();
-        Object metaData = 10;
-        ypmManager.setProtocolData(rootNode, metaData);
-
-        // Create new ydt tree part of module1 tree
-        YdtNodeAdapter rootNewYdtNode = new YdtNodeAdapter();
-        // Create module node with moduleName1
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(logicalName);
-        rootNewYdtNode.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter moduleNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(moduleName1);
-        moduleNode.setNodeIdentifier(tmpNodeIdentifier);
-        moduleNode.setParent(rootNewYdtNode);
-        rootNewYdtNode.addChild(moduleNode); // child to logical node
-        YdtNodeAdapter yNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(yNodeName);
-        yNode.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter zNode = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(zNodeName);
-        zNode.setNodeIdentifier(tmpNodeIdentifier);
-        moduleNode.addChild(yNode); // child to module node
-        yNode.addSibling(zNode);
-        YdtNodeAdapter y1Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(y1NodeName);
-        y1Node.setNodeIdentifier(tmpNodeIdentifier);
-        YdtNodeAdapter y2Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(y2NodeName);
-        y2Node.setNodeIdentifier(tmpNodeIdentifier);
-        yNode.addChild(y1Node);
-        y1Node.addSibling(y2Node);
-        YdtNodeAdapter y11Node = new YdtNodeAdapter();
-        // Add new y11 node
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(y11NodeName);
-        y11Node.setNodeIdentifier(tmpNodeIdentifier);
-        y1Node.addChild(y11Node);
-        // Add new y3 node
-        YdtNodeAdapter z3Node = new YdtNodeAdapter();
-        tmpNodeIdentifier = new YangSchemaNodeIdentifier();
-        tmpNodeIdentifier.setName(z3NodeName);
-        z3Node.setNodeIdentifier(tmpNodeIdentifier);
-        zNode.addChild(z3Node);
-
-        // Again sets the protocol data
-        metaData = 20;
-        ypmManager.setProtocolData(rootNewYdtNode, metaData);
-
-        // Retrieve protocol data and check the contents
-        YpmContext ypmContext = ypmManager.getProtocolData(rootNewYdtNode);
-        DefaultYpmNode rootYpmNode = (DefaultYpmNode) ypmContext;
-        assertThat(rootYpmNode.getName(), is(logicalName));
-        DefaultYpmNode currYpmNode = (DefaultYpmNode) rootYpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(moduleName1));
-        // Check y and z node
-        currYpmNode = (DefaultYpmNode) currYpmNode.getFirstChild();
-        DefaultYpmNode yYpmNode = currYpmNode;
-        assertThat(currYpmNode.getName(), is(yNodeName));  // y node
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), notNullValue()); // z node
-        currYpmNode = currYpmNode.getNextSibling();
-        DefaultYpmNode zYpmNode = currYpmNode;
-        assertThat(currYpmNode.getName(), is(zNodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), nullValue());  // no sibling
-        // Check y1 and y2 node
-        currYpmNode = (DefaultYpmNode) yYpmNode.getFirstChild();
-        DefaultYpmNode y1YpmNode = currYpmNode;
-        assertThat(currYpmNode.getName(), is(y1NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), notNullValue()); // y2 should exists
-        currYpmNode = currYpmNode.getNextSibling();
-        assertThat(currYpmNode.getName(), is(y2NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), nullValue());
-        // Check new y11 node
-        currYpmNode = (DefaultYpmNode) y1YpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(y11NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), nullValue());
-        assertThat(currYpmNode.getFirstChild(), nullValue());
-        // Check new z3 node
-        currYpmNode = (DefaultYpmNode) zYpmNode.getFirstChild();
-        assertThat(currYpmNode.getName(), is(z3NodeName));
-        assertThat(currYpmNode.getMetaData(), is(metaData));
-        assertThat(currYpmNode.getNextSibling(), nullValue());
-        assertThat(currYpmNode.getFirstChild(), nullValue());
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ysr/DefaultYangSchemaRegistryTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ysr/DefaultYangSchemaRegistryTest.java
deleted file mode 100644
index a4a7f0e..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ysr/DefaultYangSchemaRegistryTest.java
+++ /dev/null
@@ -1,675 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ysr;
-
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network1.rev20151208.IetfNetwork1;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network1.rev20151208.IetfNetwork1OpParam;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network1.rev20151208.IetfNetwork1Service;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network2.rev20151208.IetfNetwork2Service;
-import org.onosproject.yangutils.datamodel.YangNode;
-import org.onosproject.yangutils.datamodel.YangSchemaNode;
-
-import java.io.IOException;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.core.Is.is;
-
-/**
- * Unit test case for default schema registry.
- */
-public class DefaultYangSchemaRegistryTest {
-
-    private static final String SERVICE_NAME_1 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network1.rev20151208.IetfNetwork1Service";
-    private static final String SCHEMA_NAME_1 = "ietf-network1";
-    private static final String EVENT_NAME_1 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network1.rev20151208.ietfnetwork1.IetfNetwork1Event";
-    private static final String INTERFACE_NAME_1 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network1.rev20151208.IetfNetwork1";
-    private static final String OP_PARAM_NAME_1 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network1.rev20151208.IetfNetwork1OpParam";
-
-    private static final String SERVICE_NAME_2 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network2.rev20151208.IetfNetwork2Service";
-    private static final String SCHEMA_NAME_2 = "ietf-network2";
-    private static final String EVENT_NAME_2 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network2.rev20151208.ietfnetwork2.IetfNetwork2Event";
-    private static final String INTERFACE_NAME_2 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network2.rev20151208.IetfNetwork2";
-    private static final String OP_PARAM_NAME_2 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network2.rev20151208.IetfNetwork2OpParam";
-
-    private static final String SERVICE_NAME_3 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network3.rev20151208.IetfNetwork3Service";
-    private static final String SCHEMA_NAME_3 = "ietf-network3";
-    private static final String EVENT_NAME_3 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network3.rev20151208.ietfnetwork3.IetfNetwork3Event";
-    private static final String INTERFACE_NAME_3 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network3.rev20151208.IetfNetwork3";
-    private static final String OP_PARAM_NAME_3 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network3.rev20151208.IetfNetwork3OpParam";
-
-    private static final String SCHEMA_NAME_4 = "ietf-network4";
-    private static final String SERVICE_NAME_REV_14 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20141208.IetfNetwork4Service";
-    private static final String EVENT_NAME_REV_14 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20141208.ietfnetwork4.IetfNetwork4Event";
-    private static final String INTERFACE_NAME_REV_14 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20141208.IetfNetwork4";
-    private static final String OP_PARAM_NAME_REV_14 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20141208.IetfNetwork4OpParam";
-
-    private static final String SERVICE_NAME_REV_15 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20151208.IetfNetwork4Service";
-    private static final String EVENT_NAME_REV_15 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20151208.ietfnetwork4.IetfNetwork4Event";
-    private static final String INTERFACE_NAME_REV_15 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20151208.IetfNetwork4";
-    private static final String OP_PARAM_NAME_REV_15 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20151208.IetfNetwork4OpParam";
-
-    private static final String SERVICE_NAME_REV_16 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20161208.IetfNetwork4Service";
-
-    private static final String EVENT_NAME_REV_16 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20161208.ietfnetwork4.IetfNetwork4Event";
-    private static final String INTERFACE_NAME_REV_16 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20161208.IetfNetwork4";
-    private static final String OP_PARAM_NAME_REV_16 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20161208.IetfNetwork4OpParam";
-
-    private static final String SERVICE_NAME_REV_17 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20171208.IetfNetwork4Service";
-    private static final String EVENT_NAME_REV_17 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20171208.ietfnetwork4.IetfNetwork4Event";
-    private static final String INTERFACE_NAME_REV_17 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20171208.IetfNetwork4";
-    private static final String OP_PARAM_NAME_REV_17 =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.rev20171208.IetfNetwork4OpParam";
-
-    private static final String SERVICE_NAME_NO_REV =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.IetfNetwork4Service";
-    private static final String EVENT_NAME_NO_REV =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.ietfnetwork4.IetfNetwork4Event";
-    private static final String INTERFACE_NAME_NO_REV =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.IetfNetwork4";
-    private static final String OP_PARAM_NAME_NO_REV =
-            "org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf" +
-                    ".network4.IetfNetwork4OpParam";
-
-    private static final String DATE = "2014-00-08";
-    private static final String SCHEMA_NAME_WITH_DATE =
-            "ietf-network4@2014-00-08";
-
-    private static final String UN_REG_SCHEMA_NAME = "ietf-routing";
-    private static final String UN_REG_INTERFACE_NAME = "IetfRouting";
-    private static final String UN_REG_OP_PARAM_NAME = "IetfRoutingOpParam";
-    private static final String UN_REG_SERVICE_NAME = "IetfRoutingService";
-    private static final String UN_REG_EVENT_NAME = "IetfRoutingEvent";
-
-    private final TestYangSchemaNodeProvider testYangSchemaNodeProvider =
-            new TestYangSchemaNodeProvider();
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    /**
-     * Unit test case in which schema node should be present.
-     *
-     * @throws IOException when fails to do IO operation
-     */
-    @Test
-    public void testForGetSchemaNode()
-            throws IOException {
-
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-
-        DefaultYangSchemaRegistry registry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-
-        YangSchemaNode yangNode =
-                registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_1);
-        assertThat(true, is(SCHEMA_NAME_1.equals(yangNode.getName())));
-
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_1);
-        assertThat(true, is(SCHEMA_NAME_1.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                        INTERFACE_NAME_1);
-        assertThat(true, is(SCHEMA_NAME_1.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                        OP_PARAM_NAME_1);
-        assertThat(true, is(SCHEMA_NAME_1.equals(yangNode.getName())));
-
-        yangNode = registry.getRootYangSchemaNodeForNotification(EVENT_NAME_1);
-        assertThat(true, is(SCHEMA_NAME_1.equals(yangNode.getName())));
-
-        //As we have not registered an  application this object should be null.
-        Object object = registry.getRegisteredApplication(yangNode);
-        assertThat(true, is(object == null));
-        testYangSchemaNodeProvider.unregisterService(SERVICE_NAME_1);
-
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_1);
-        assertThat(true, is(yangNode == null));
-
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_1);
-        assertThat(true, is(yangNode == null));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                        INTERFACE_NAME_1);
-        assertThat(true, is(yangNode == null));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                        OP_PARAM_NAME_1);
-        assertThat(true, is(yangNode == null));
-
-        yangNode = registry.getRootYangSchemaNodeForNotification(EVENT_NAME_1);
-        assertThat(true, is(yangNode == null));
-
-        //As we have not registered an  application this object should be null.
-        object = registry.getRegisteredApplication(yangNode);
-        assertThat(true, is(object == null));
-
-        //With second service.
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_2);
-        assertThat(true, is(SCHEMA_NAME_2.equals(yangNode.getName())));
-
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_2);
-        assertThat(true, is(SCHEMA_NAME_2.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                        INTERFACE_NAME_2);
-        assertThat(true, is(SCHEMA_NAME_2.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                        OP_PARAM_NAME_2);
-        assertThat(true, is(SCHEMA_NAME_2.equals(yangNode.getName())));
-
-        yangNode = registry.getRootYangSchemaNodeForNotification(EVENT_NAME_2);
-        assertThat(true, is(SCHEMA_NAME_2.equals(yangNode.getName())));
-
-        //As we have not registered an  application this object should be null.
-        object = registry.getRegisteredApplication(yangNode);
-        assertThat(true, is(object == null));
-
-        testYangSchemaNodeProvider.unregisterService(SERVICE_NAME_2);
-
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_2);
-        assertThat(true, is(yangNode == null));
-
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_2);
-        assertThat(true, is(yangNode == null));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                        INTERFACE_NAME_2);
-        assertThat(true, is(yangNode == null));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                        OP_PARAM_NAME_2);
-        assertThat(true, is(yangNode == null));
-
-        yangNode = registry.getRootYangSchemaNodeForNotification(EVENT_NAME_2);
-        assertThat(true, is(yangNode == null));
-
-        //As we have not registered an  application this object should be null.
-        object = registry.getRegisteredApplication(yangNode);
-        assertThat(true, is(object == null));
-
-        //With third service.
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_3);
-        assertThat(true, is(SCHEMA_NAME_3.equals(yangNode.getName())));
-
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_3);
-        assertThat(true, is(SCHEMA_NAME_3.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                        INTERFACE_NAME_3);
-        assertThat(true, is(SCHEMA_NAME_3.equals(yangNode.getName())));
-
-        yangNode = registry.getRootYangSchemaNodeForNotification(EVENT_NAME_3);
-        assertThat(true, is(yangNode == null));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                        OP_PARAM_NAME_3);
-        assertThat(true, is(SCHEMA_NAME_3.equals(yangNode.getName())));
-
-        //As we have not registered an  application this object should be null.
-        object = registry.getRegisteredApplication(yangNode);
-        assertThat(true, is(object == null));
-
-        testYangSchemaNodeProvider.unregisterService(SERVICE_NAME_3);
-
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_3);
-        assertThat(true, is(yangNode == null));
-
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_3);
-        assertThat(true, is(yangNode == null));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                        INTERFACE_NAME_3);
-        assertThat(true, is(yangNode == null));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                        OP_PARAM_NAME_3);
-        assertThat(true, is(yangNode == null));
-
-        yangNode = registry.getRootYangSchemaNodeForNotification(EVENT_NAME_3);
-        assertThat(true, is(yangNode == null));
-
-        //As we have not registered an  application this object should be null.
-        object = registry.getRegisteredApplication(yangNode);
-        assertThat(true, is(object == null));
-    }
-
-    /**
-     * Unit test case in which schema node should not be present.
-     *
-     * @throws IOException when fails to do IO operation
-     */
-    @Test
-    public void testForDoNotGetSchemaNode()
-            throws IOException {
-
-        DefaultYangSchemaRegistry registry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-
-        // here all nodes should be null as we have not done any registration
-        // for this application.
-        YangSchemaNode yangNode =
-                registry.getYangSchemaNodeUsingAppName(UN_REG_SERVICE_NAME);
-        assertThat(true, is(yangNode == null));
-
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(UN_REG_SCHEMA_NAME);
-        assertThat(true, is(yangNode == null));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                        UN_REG_INTERFACE_NAME);
-        assertThat(true, is(yangNode == null));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                        UN_REG_OP_PARAM_NAME);
-        assertThat(true, is(yangNode == null));
-
-        yangNode = registry.getRootYangSchemaNodeForNotification(
-                UN_REG_EVENT_NAME);
-        assertThat(true, is(yangNode == null));
-
-        //As we have not registered an  application this object should be null.
-        Object object = registry.getRegisteredApplication(yangNode);
-        assertThat(true, is(object == null));
-
-    }
-
-    /**
-     * Unit test case in which schema node should be present with multi
-     * revisions.
-     *
-     * @throws IOException when fails to do IO operation
-     */
-    @Test
-    public void testForGetSchemaNodeWhenNoRevision()
-            throws IOException {
-
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-
-        //Service with rev.
-        YangSchemaNode yangNode =
-                registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_REV_15);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_4);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                        INTERFACE_NAME_REV_15);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                        OP_PARAM_NAME_REV_15);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode = registry.getRootYangSchemaNodeForNotification(
-                EVENT_NAME_REV_15);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        //As we have not registered an  application this object should be null.
-        Object object = registry.getRegisteredApplication(yangNode);
-        assertThat(true, is(object == null));
-        testYangSchemaNodeProvider.unregisterService(SERVICE_NAME_REV_15);
-
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_REV_15);
-        assertThat(true, is(yangNode == null));
-
-        //Here the yangNode should be the node which does not have revision.
-        // asset should pass with false.
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_4);
-        assertThat(true, is(((YangNode) yangNode).getRevision() != null));
-
-        //Service no revision.
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_NO_REV);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_4);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                        INTERFACE_NAME_NO_REV);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                        OP_PARAM_NAME_NO_REV);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode = registry.getRootYangSchemaNodeForNotification(EVENT_NAME_NO_REV);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        //As we have not registered an  application this object should be null.
-        object = registry.getRegisteredApplication(yangNode);
-        assertThat(true, is(object == null));
-        testYangSchemaNodeProvider.unregisterService(SERVICE_NAME_NO_REV);
-
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_NO_REV);
-        assertThat(true, is(yangNode == null));
-
-        //Here the yangNode should be the node which have different revision.
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_4);
-        assertThat(true, is(((YangNode) yangNode).getRevision() != null));
-    }
-
-    /**
-     * Unit test case in which schema node should be present with multi
-     * revisions.
-     *
-     * @throws IOException when fails to do IO operation
-     */
-    @Test
-    public void testForGetSchemaNodeWhenMultiRevision()
-            throws IOException {
-
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-
-        //Service with rev.
-        YangSchemaNode yangNode =
-                registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_REV_15);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_4);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                        INTERFACE_NAME_REV_15);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                        OP_PARAM_NAME_REV_15);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode = registry.getRootYangSchemaNodeForNotification(
-                EVENT_NAME_REV_15);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        //As we have not registered an  application this object should be null.
-        Object object = registry.getRegisteredApplication(yangNode);
-        assertThat(true, is(object == null));
-        testYangSchemaNodeProvider.unregisterService(SERVICE_NAME_REV_15);
-
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_REV_15);
-        assertThat(true, is(yangNode == null));
-
-        //Here the yangNode should be the node which does not have revision.
-        // asset should pass with false.
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_4);
-        assertThat(true, is(((YangNode) yangNode).getRevision() != null));
-
-        //Service with different revision.
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_REV_16);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_4);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                        INTERFACE_NAME_REV_16);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                        OP_PARAM_NAME_REV_16);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode = registry.getRootYangSchemaNodeForNotification(EVENT_NAME_REV_16);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        //As we have not registered an  application this object should be null.
-        object = registry.getRegisteredApplication(yangNode);
-        assertThat(true, is(object == null));
-        testYangSchemaNodeProvider.unregisterService(SERVICE_NAME_REV_16);
-
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_REV_16);
-        assertThat(true, is(yangNode == null));
-
-        //Here the yangNode should be the node which have different revision.
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_4);
-        assertThat(true, is(((YangNode) yangNode).getRevision() != null));
-
-        //Service with different revision.
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_REV_17);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_4);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                        INTERFACE_NAME_REV_17);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                        OP_PARAM_NAME_REV_17);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode = registry.getRootYangSchemaNodeForNotification(
-                EVENT_NAME_REV_17);
-        assertThat(true, is(yangNode == null));
-
-        //As we have not registered an  application this object should be null.
-        object = registry.getRegisteredApplication(yangNode);
-        assertThat(true, is(object == null));
-        testYangSchemaNodeProvider.unregisterService(SERVICE_NAME_REV_17);
-
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_REV_17);
-        assertThat(true, is(yangNode == null));
-
-        //Here the yangNode should be the node which have different revision.
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_4);
-        assertThat(true, is(((YangNode) yangNode).getRevision() == null));
-
-        //Service with different revision.
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_REV_14);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_4);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
-                        INTERFACE_NAME_REV_14);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode =
-                registry.getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
-                        OP_PARAM_NAME_REV_14);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        yangNode = registry.getRootYangSchemaNodeForNotification(
-                EVENT_NAME_REV_14);
-        assertThat(true, is(SCHEMA_NAME_4.equals(yangNode.getName())));
-
-        //As we have not registered an  application this object should be null.
-        object = registry.getRegisteredApplication(yangNode);
-        assertThat(true, is(object == null));
-        testYangSchemaNodeProvider.unregisterService(SERVICE_NAME_REV_14);
-
-        yangNode = registry.getYangSchemaNodeUsingAppName(SERVICE_NAME_REV_14);
-        assertThat(true, is(yangNode == null));
-
-        //Here the yangNode should be the node which does not have revision.
-        // asset should pass with false.
-        yangNode = registry.getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_4);
-        assertThat(true, is(yangNode != null));
-
-    }
-
-    /**
-     * Unit test case should generate exceptions.
-     */
-    @Test
-    public void testRegistration() {
-        thrown.expect(RuntimeException.class);
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        testYangSchemaNodeProvider.processRegistrationOfApp();
-    }
-
-    /**
-     * Unit test case should not generate any exceptions and should
-     * return specific revision node.
-     */
-    @Test
-    public void testGetWithSpecificRevision() {
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        YangSchemaNode schemaNode = testYangSchemaNodeProvider
-                .getDefaultYangSchemaRegistry()
-                .getYangSchemaNodeUsingSchemaName(SCHEMA_NAME_WITH_DATE);
-
-        assertThat(true, is(schemaNode.getName().equals(SCHEMA_NAME_4)));
-        String date = testYangSchemaNodeProvider
-                .getDefaultYangSchemaRegistry()
-                .getDateInStringFormat(schemaNode);
-        assertThat(true, is(date.equals(DATE)));
-    }
-
-    /**
-     * Unit test case should not generate any exceptions
-     * verify notification should be checked for registration.
-     */
-    @Test
-    public void testNotification() {
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        boolean isRegWithNotification =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry()
-                        .verifyNotificationObject(IetfNetwork1Service.class);
-        assertThat(true, is(isRegWithNotification));
-        isRegWithNotification = testYangSchemaNodeProvider
-                .getDefaultYangSchemaRegistry()
-                .verifyNotificationObject(IetfNetwork1.class);
-        assertThat(false, is(isRegWithNotification));
-        isRegWithNotification = testYangSchemaNodeProvider
-                .getDefaultYangSchemaRegistry()
-                .verifyNotificationObject(IetfNetwork1OpParam.class);
-        assertThat(false, is(isRegWithNotification));
-    }
-
-    /**
-     * Unit test case should not generate any exceptions.
-     */
-    @Test
-    public void testNotificationRegistrationInYnh() {
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        testYangSchemaNodeProvider.getDefaultYangSchemaRegistry()
-                .verifyNotificationObject(IetfNetwork1Service.class);
-        testYangSchemaNodeProvider.getDefaultYangSchemaRegistry()
-                .verifyNotificationObject(IetfNetwork1.class);
-        testYangSchemaNodeProvider.getDefaultYangSchemaRegistry()
-                .verifyNotificationObject(IetfNetwork1OpParam.class);
-
-        boolean isRegWithNotification = testYangSchemaNodeProvider
-                .getDefaultYangSchemaRegistry()
-                .verifyNotificationObject(IetfNetwork2Service.class);
-
-        //Register should work.
-        assertThat(true, is(isRegWithNotification));
-        isRegWithNotification = testYangSchemaNodeProvider
-                .getDefaultYangSchemaRegistry()
-                .verifyNotificationObject(IetfNetwork2Service.class);
-
-        //Re register should not happen
-        assertThat(false, is(isRegWithNotification));
-    }
-
-}
-
-
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ysr/MockIetfManager.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ysr/MockIetfManager.java
deleted file mode 100644
index 1126cdf..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ysr/MockIetfManager.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ysr;
-
-import org.onosproject.event.ListenerRegistry;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network2.rev20151208.IetfNetwork2;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network2.rev20151208.IetfNetwork2OpParam;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network2.rev20151208.IetfNetwork2Service;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network2.rev20151208.ietfnetwork2.IetfNetwork2Event;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network2.rev20151208.ietfnetwork2.IetfNetwork2EventListener;
-
-/**
- * Represent mock implementation for services.
- */
-public class MockIetfManager
-        extends ListenerRegistry<IetfNetwork2Event, IetfNetwork2EventListener>
-        implements IetfNetwork2Service {
-
-    @Override
-    public IetfNetwork2 getIetfNetwork2(IetfNetwork2OpParam ietfNetwork2) {
-        return null;
-    }
-
-    @Override
-    public void setIetfNetwork2(IetfNetwork2OpParam ietfNetwork2) {
-
-    }
-
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ysr/TestYangSchemaNodeProvider.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ysr/TestYangSchemaNodeProvider.java
deleted file mode 100644
index 778afd7..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ysr/TestYangSchemaNodeProvider.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ysr;
-
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network1.rev20151208.IetfNetwork1Service;
-import org.onosproject.yangutils.datamodel.YangSchemaNode;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Set;
-
-import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
-import static org.onosproject.yangutils.utils.UtilConstants.TEMP;
-import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory;
-import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
-
-/**
- * Represents mock bundle context. provides bundle context for YSR to do unit
- * testing.
- */
-public class TestYangSchemaNodeProvider {
-
-    private static final String FS = File.separator;
-    private static final String PATH = System.getProperty("user.dir") +
-            FS + "target" + FS + "classes" + FS;
-    private static final String SER_FILE_PATH = "yang" + FS + "resources" +
-            FS + "YangMetaData.ser";
-    private static final String TEMP_FOLDER_PATH = PATH + TEMP;
-    private final DefaultYangSchemaRegistry defaultYangSchemaRegistry =
-            new DefaultYangSchemaRegistry("module-id");
-
-    /**
-     * Creates an instance of mock bundle context.
-     */
-    public TestYangSchemaNodeProvider() {
-    }
-
-    /**
-     * Process YANG schema node for a application.
-     *
-     * @param appObject application object
-     */
-    public void processSchemaRegistry(Object appObject) {
-
-        Set<YangSchemaNode> appNode = defaultYangSchemaRegistry
-                .deSerializeDataModel(PATH + SER_FILE_PATH);
-        YsrAppContext appContext = new YsrAppContext();
-        defaultYangSchemaRegistry.ysrContextForSchemaStore(appContext);
-        defaultYangSchemaRegistry
-                .setClassLoader(this.getClass().getClassLoader());
-        String appName;
-        for (YangSchemaNode node : appNode) {
-            defaultYangSchemaRegistry.processApplicationContext(node);
-            defaultYangSchemaRegistry.ysrAppContext().appObject(appObject);
-            defaultYangSchemaRegistry.ysrContextForAppStore()
-                    .appObject(appObject);
-            defaultYangSchemaRegistry.ysrContextForSchemaStore()
-                    .appObject(appObject);
-            appName = node.getJavaPackage() + PERIOD +
-                    getCapitalCase(node.getJavaClassNameOrBuiltInType());
-            storeClasses(appName);
-        }
-
-        try {
-            deleteDirectory(TEMP_FOLDER_PATH);
-        } catch (IOException e) {
-        }
-    }
-
-    /**
-     * Stores test generated class to YSR store.
-     *
-     * @param name name of class
-     */
-    private void storeClasses(String name) {
-        ClassLoader classLoader = this.getClass().getClassLoader();
-        if (getDefaultYangSchemaRegistry().verifyClassExistence(name)) {
-            try {
-                Class<?> nodeClass = classLoader.loadClass(name);
-                getDefaultYangSchemaRegistry().updateServiceClass(nodeClass);
-            } catch (ClassNotFoundException e) {
-                e.printStackTrace();
-            }
-        }
-    }
-
-    /**
-     * Unregisters services.
-     *
-     * @param appName application name
-     */
-    public void unregisterService(String appName) {
-
-        if (getDefaultYangSchemaRegistry().verifyClassExistence(appName)) {
-            try {
-                Class<?> curClass = Class.forName(appName);
-                getDefaultYangSchemaRegistry()
-                        .unRegisterApplication(null, curClass);
-            } catch (ClassNotFoundException e) {
-                e.printStackTrace();
-            }
-        }
-    }
-
-    /**
-     * Returns schema registry.
-     *
-     * @return schema registry
-     */
-    public DefaultYangSchemaRegistry getDefaultYangSchemaRegistry() {
-        return defaultYangSchemaRegistry;
-    }
-
-    /**
-     * Process registration of a service.
-     */
-    public void processRegistrationOfApp() {
-        getDefaultYangSchemaRegistry()
-                .processRegistration(IetfNetwork1Service.class,
-                                     new MockIetfManager(), "target");
-
-    }
-
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ytb/DefaultYangTreeBuilderTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ytb/DefaultYangTreeBuilderTest.java
deleted file mode 100644
index b7bec31..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ytb/DefaultYangTreeBuilderTest.java
+++ /dev/null
@@ -1,1127 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ytb;
-
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.onosproject.yang.gen.v1.yms.test.ytb.derived.type.with.bits.and.binary.rev20160826.YtbDerivedTypeWithBitsAndBinary;
-import org.onosproject.yang.gen.v1.yms.test.ytb.derived.type.with.bits.and.binary.rev20160826.YtbDerivedTypeWithBitsAndBinaryOpParam;
-import org.onosproject.yang.gen.v1.yms.test.ytb.derived.type.with.bits.and.binary.rev20160826.ytbderivedtypewithbitsandbinary.Derivedbinarya;
-import org.onosproject.yang.gen.v1.yms.test.ytb.derived.type.with.bits.and.binary.rev20160826.ytbderivedtypewithbitsandbinary.Derivedbinaryb;
-import org.onosproject.yang.gen.v1.yms.test.ytb.derived.type.with.bits.and.binary.rev20160826.ytbderivedtypewithbitsandbinary.Derivedbitsa;
-import org.onosproject.yang.gen.v1.yms.test.ytb.derived.type.with.bits.and.binary.rev20160826.ytbderivedtypewithbitsandbinary.Derivedbitsb;
-import org.onosproject.yang.gen.v1.yms.test.ytb.derived.type.with.bits.and.binary.rev20160826.ytbderivedtypewithbitsandbinary.ForunionUnion;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.container.rev20160826.YtbModuleWithContainer;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.container.rev20160826.YtbModuleWithContainerOpParam;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.container.rev20160826.ytbmodulewithcontainer.DefaultSched;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.container.rev20160826.ytbmodulewithcontainer.Sched;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.leaf.ietfschedule.rev20160826.YtbIetfSchedule;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.leaf.ietfschedule.rev20160826.YtbIetfScheduleOpParam;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.leaf.ietfschedule.rev20160826.ytbietfschedule.Enum1Enum;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.leaf.ietfschedule.rev20160826.ytbietfschedule.Enum2Enum;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.leaflist.rev20160826.YtbModuleWithLeafList;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.leaflist.rev20160826.YtbModuleWithLeafListOpParam;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.list.rev20160826.YtbModuleWithList;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.list.rev20160826.YtbModuleWithListOpParam;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.list.rev20160826.ytbmodulewithlist.DefaultYtblistlist;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.list.rev20160826.ytbmodulewithlist.Find;
-import org.onosproject.yang.gen.v1.yms.test.ytb.module.with.list.rev20160826.ytbmodulewithlist.Ytblistlist;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.module.a.rev20160826.YtbMultiModulea;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.module.a.rev20160826.YtbMultiModuleaOpParam;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.module.a.rev20160826.ytbmultimodulea.DefaultYtbmultilist;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.module.a.rev20160826.ytbmultimodulea.Ytbmultilist;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.module.b.rev20160826.YtbMultiModuleb;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.module.b.rev20160826.YtbMultiModulebOpParam;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.module.b.rev20160826.ytbmultimoduleb.DefaultYtbmultilistb;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.module.b.rev20160826.ytbmultimoduleb.Ytbmultilistb;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.notification.with.container.rev20160826.ytbmultinotificationwithcontainer.DefaultFortesta;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.notification.with.container.rev20160826.ytbmultinotificationwithcontainer.Fortesta;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.notification.with.container.rev20160826.ytbmultinotificationwithcontainer.YtbMultiNotificationWithContainerEvent;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.notification.with.container.rev20160826.ytbmultinotificationwithcontainer.YtbMultiNotificationWithContainerEventSubject;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.notification.with.container.rev20160826.ytbmultinotificationwithcontainer.fortesta.DefaultYtbnot;
-import org.onosproject.yang.gen.v1.yms.test.ytb.multi.notification.with.container.rev20160826.ytbmultinotificationwithcontainer.fortesta.Ytbnot;
-import org.onosproject.yang.gen.v1.yms.test.ytb.tree.builder.yangautoprefixfor.list.having.list.rev20160826.YtbTreeBuilderForListHavingList;
-import org.onosproject.yang.gen.v1.yms.test.ytb.tree.builder.yangautoprefixfor.list.having.list.rev20160826.YtbTreeBuilderForListHavingListOpParam;
-import org.onosproject.yang.gen.v1.yms.test.ytb.tree.builder.yangautoprefixfor.list.having.list.rev20160826.ytbtreebuilderforlisthavinglist.Carrier;
-import org.onosproject.yang.gen.v1.yms.test.ytb.tree.builder.yangautoprefixfor.list.having.list.rev20160826.ytbtreebuilderforlisthavinglist.DefaultCarrier;
-import org.onosproject.yang.gen.v1.yms.test.ytb.tree.builder.yangautoprefixfor.list.having.list.rev20160826.ytbtreebuilderforlisthavinglist.carrier.DefaultMultiplexes;
-import org.onosproject.yang.gen.v1.yms.test.ytb.tree.builder.yangautoprefixfor.list.having.list.rev20160826.ytbtreebuilderforlisthavinglist.carrier.Multiplexes;
-import org.onosproject.yang.gen.v1.yms.test.ytb.tree.builder.yangautoprefixfor.list.having.list.rev20160826.ytbtreebuilderforlisthavinglist.carrier.multiplexes.ApplicationAreas;
-import org.onosproject.yang.gen.v1.yms.test.ytb.tree.builder.yangautoprefixfor.list.having.list.rev20160826.ytbtreebuilderforlisthavinglist.carrier.multiplexes.DefaultApplicationAreas;
-import org.onosproject.yang.gen.v1.yms.test.ytb.tree.builder.yangautoprefixfor.list.having.list.rev20160826.ytbtreebuilderforlisthavinglist.carrier.multiplexes.TypesEnum;
-import org.onosproject.yms.app.ydt.YdtExtendedBuilder;
-import org.onosproject.yms.app.ydt.YdtNode;
-import org.onosproject.yms.app.ysr.DefaultYangSchemaRegistry;
-import org.onosproject.yms.ydt.YdtBuilder;
-import org.onosproject.yms.ydt.YdtContext;
-import org.onosproject.yms.ydt.YdtContextOperationType;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.BitSet;
-import java.util.List;
-import java.util.Set;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.core.Is.is;
-import static org.onosproject.yang.gen.v1.yms.test.ytb.module.with.leaf.ietfschedule.rev20160826.YtbIetfScheduleOpParam.OnosYangNodeOperationType;
-import static org.onosproject.yms.ydt.YdtContextOperationType.CREATE;
-import static org.onosproject.yms.ydt.YdtContextOperationType.DELETE;
-import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
-import static org.onosproject.yms.ydt.YdtContextOperationType.NONE;
-import static org.onosproject.yms.ydt.YmsOperationType.EDIT_CONFIG_REQUEST;
-import static org.onosproject.yms.ydt.YmsOperationType.QUERY_CONFIG_REQUEST;
-import static org.onosproject.yms.ydt.YmsOperationType.QUERY_REQUEST;
-
-/**
- * Unit test cases for YANG tree builder with different YANG object
- * configuration.
- */
-public class DefaultYangTreeBuilderTest extends YtbErrMsgAndConstants {
-
-
-    private static final String ONE = "1";
-    private static final String TWO = "2";
-    private static final String THREE = "3";
-    private static final String FOUR = "4";
-    private static final String FIVE = "5";
-    private static final String SIX = "6";
-    private static final String NINE = "9";
-    private static final String IETF_SCHEDULE = "YtbIetfSchedule";
-    private static final String TIME = "time";
-    private static final String MOD_LEAF_LIST = "YtbModuleWithLeafList";
-    private static final String ENUM_1 = "enum1";
-    private static final String ENUM_2 = "enum2";
-    private static final String HUNDRED = "hundred";
-    private static final String HUNDRED_100 = "hundred-100";
-    private static final String TEN_10 = "ten-10";
-    private static final String THOUSAND_1000 = "thousand-1000";
-    private static final String MOD_CONT = "YtbModuleWithContainer";
-    private static final String SCHED = "sched";
-    private static final String PREDICT_VAL = "98989";
-    private static final String MOD_LIST = "YtbModuleWithList";
-    private static final String LIST_LIST = "ytblistlist";
-    private static final String PREDICTION = "prediction";
-    private static final String TRUE = "true";
-    private static final String FALSE = "false";
-    private static final String MUL_NOTIFY =
-            "YtbMultiNotificationWithContainer";
-    private static final String NOTIFICATION = "notification";
-    private static final String NOTIFY = "fortesta";
-    private static final String YTB_NOTIFY_CONT = "ytbnot";
-    private static final String NOTIFY_LEAF = "notileaf";
-    private static final String ANT = "ant";
-    private static final String ANIMAL = "animal";
-    private static final String BIRD = "bird";
-    private static final String BALL = "ball";
-    private static final String BAT = "bat";
-    private static final String MUL_MOD_A = "YtbMultiModulea";
-    private static final String MUL_LIST_A = "ytbmultilist";
-    private static final String CHECK = "check";
-    private static final String MUL_MOD_B = "YtbMultiModuleb";
-    private static final String MUL_LIST_B = "ytbmultilistb";
-    private static final String CHECKIN = "checkin";
-    private static final String LIST_WITH_LIST =
-            "YtbTreeBuilderForListHavingList";
-    private static final String CONT_CARRIER = "carrier";
-    private static final String LIST_MULTIPLEXES = "multiplexes";
-    private static final String TYPES = "types";
-    private static final String TIME_DIVISION = "time-division";
-    private static final String APP_AREA_LIST = "application-areas";
-    private static final String DEST_AREA = "destination-areas";
-    private static final String FREQUENCY_DIV = "frequency-division";
-    private static final String MOD_BIT_BIN = "YtbDerivedTypeWithBitsAndBinary";
-    private static final String FOR_BINARY = "forbinary";
-    private static final String BIN_VAL_1 = "BQUF";
-    private static final String FOR_BITS = "forbits";
-    private static final String FOR_BINARY_LIST = "forbinarylist";
-    private static final String BIN_VAL_2 = "CQkA";
-    private static final String BIN_VAL_3 = "DAYA";
-    private static final String BIN_VAL_4 = "EB0Z";
-    private static final String FOR_BITS_LIST = "forbitslist";
-    private static final String FOR_UNION = "forunion";
-    private static final String ZERO = "0";
-
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    private static String emptyObjErrMsg(String objName) {
-        return "The " + objName + " given for tree creation cannot be null";
-    }
-
-    private static BigDecimal getBigDeci(int bigDecimal) {
-        return BigDecimal.valueOf(bigDecimal);
-    }
-
-    /**
-     * Processes an empty object list to the YTB and checks that the
-     * exception is thrown.
-     */
-    @Test
-    public void processInvalidListInput() {
-        thrown.expect(YtbException.class);
-        thrown.expectMessage(emptyObjErrMsg("object list"));
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        treeBuilder.getYdtBuilderForYo(null, ROOT_NAME, ROOT_NAME_SPACE,
-                                       EDIT_CONFIG_REQUEST, null);
-    }
-
-    /**
-     * Processes an empty notification object to the YTB and checks that the
-     * exception is thrown.
-     */
-    @Test
-    public void processInvalidInputForNotification() {
-        thrown.expect(YtbException.class);
-        thrown.expectMessage(emptyObjErrMsg("event object"));
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        treeBuilder.getYdtForNotification(null, ROOT_NAME, null);
-    }
-
-    /**
-     * Processes an empty rpc output object to the YTB and checks that the
-     * exception is thrown.
-     */
-    @Test
-    public void processInvalidInputForRpc() {
-        thrown.expect(YtbException.class);
-        thrown.expectMessage(emptyObjErrMsg("output object"));
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        treeBuilder.getYdtForRpcResponse(null, null);
-    }
-
-    /**
-     * Processes a YAB/YSB request to YTB with a leaf value being filled in
-     * the app object. Checks the constructed YDT tree for module and leaf
-     * and its value.
-     */
-    @Test
-    public void processModuleAndLeaf() {
-
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-        YtbIetfSchedule schedule = new YtbIetfScheduleOpParam
-                .YtbIetfScheduleBuilder()
-                .time((byte) 9)
-                .onosYangNodeOperationType(OnosYangNodeOperationType.MERGE)
-                .build();
-
-        // As YSB or YAB protocol sets the value for YTB.
-        List<Object> objectList = new ArrayList<>();
-        objectList.add(schedule);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtExtendedBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                objectList, ROOT_NAME, ROOT_NAME_SPACE,
-                EDIT_CONFIG_REQUEST, registry);
-
-        // Receives YDT context and checks the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-
-        // Gets the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        YdtContextOperationType opType = ((YdtNode) module)
-                .getYdtContextOperationType();
-        assertThat(getInCrtName(MODULE, IETF_SCHEDULE),
-                   module.getName(), is(IETF_SCHEDULE));
-        assertThat(getInCrtOpType(MODULE, IETF_SCHEDULE),
-                   opType, is(MERGE));
-
-        // Gets the first leaf from module IetfSchedule.
-        YdtContext leafContext = module.getFirstChild();
-        assertThat(getInCrtName(LEAF, TIME),
-                   leafContext.getName(), is(TIME));
-        assertThat(getInCrtLeafValue(TIME, NINE),
-                   leafContext.getValue(), is(NINE));
-    }
-
-    /**
-     * Processes a YAB/YSB request to YTB with a leaf-list value being filled
-     * in the app object. Checks the constructed YDT tree for module and
-     * leaf-list and its value.
-     */
-    @Test
-    public void processModuleAndLeafList() {
-
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-
-        // Creates list of type long for setting the leaf-list.
-        List<Long> longList = new ArrayList<>();
-        longList.add((long) 1);
-        longList.add((long) 2);
-        longList.add((long) 3);
-
-        YtbModuleWithLeafList leafListModule = new YtbModuleWithLeafListOpParam
-                .YtbModuleWithLeafListBuilder().time(longList).build();
-
-        // As YSB or YAB protocol sets the value for YTB.
-        List<Object> objectList = new ArrayList<>();
-        objectList.add(leafListModule);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                objectList, ROOT_NAME, ROOT_NAME_SPACE, QUERY_REQUEST, registry);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-
-        // Gets the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        YdtContextOperationType opType = ((YdtNode) module)
-                .getYdtContextOperationType();
-        assertThat(getInCrtName(MODULE, MOD_LEAF_LIST),
-                   module.getName(), is(MOD_LEAF_LIST));
-        assertThat(getInCrtOpType(MODULE, MOD_LEAF_LIST), opType, is(NONE));
-
-        // Gets the first leaf-list from module.
-        YdtContext leafList = module.getFirstChild();
-        assertThat(getInCrtName(LEAF_LIST, TIME), leafList.getName(),
-                   is(TIME));
-        Set<String> value = leafList.getValueSet();
-        assertThat(getInCrtLeafListValue(TIME, ONE),
-                   value.contains(ONE), is(true));
-        assertThat(getInCrtLeafListValue(TIME, TWO),
-                   value.contains(TWO), is(true));
-        assertThat(getInCrtLeafListValue(TIME, THREE),
-                   value.contains(THREE), is(true));
-    }
-
-    /**
-     * Processes leaf and leaf-list with type enum under module. Checks the
-     * constructed YDT tree has YANG enum value.
-     */
-    @Test
-    public void processWithTypeEnum() {
-
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-
-        // Creates enum list for setting the leaf-list.
-        List<Enum2Enum> enumList = new ArrayList<>();
-        enumList.add(Enum2Enum.HUNDRED_100);
-        enumList.add(Enum2Enum.TEN_10);
-        enumList.add(Enum2Enum.THOUSAND_1000);
-
-        YtbIetfSchedule schedule = new YtbIetfScheduleOpParam
-                .YtbIetfScheduleBuilder()
-                .time((byte) 9)
-                .onosYangNodeOperationType(OnosYangNodeOperationType.MERGE)
-                .enum1(Enum1Enum.HUNDRED)
-                .enum2(enumList)
-                .build();
-
-
-        // As YSB or YAB protocol sets the value for YTB.
-        List<Object> objectList = new ArrayList<>();
-        objectList.add(schedule);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtExtendedBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                objectList, ROOT_NAME, ROOT_NAME_SPACE,
-                EDIT_CONFIG_REQUEST, registry);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-
-        // Gets the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        YdtContextOperationType opType =
-                ((YdtNode) module).getYdtContextOperationType();
-        assertThat(getInCrtName(MODULE, IETF_SCHEDULE),
-                   module.getName(), is(IETF_SCHEDULE));
-        assertThat(getInCrtOpType(MODULE, IETF_SCHEDULE), opType, is(MERGE));
-
-        // Checks the leaf and leaf-list values.
-        YdtContext timeLeaf = module.getFirstChild();
-        assertThat(getInCrtName(LEAF, TIME), timeLeaf.getName(), is(TIME));
-        assertThat(getInCrtLeafValue(TIME, NINE),
-                   timeLeaf.getValue(), is(NINE));
-
-        YdtContext enum1Leaf = timeLeaf.getNextSibling();
-        assertThat(getInCrtName(LEAF, ENUM_1), enum1Leaf.getName(), is(ENUM_1));
-        assertThat(getInCrtLeafValue(ENUM_1, HUNDRED),
-                   enum1Leaf.getValue(), is(HUNDRED));
-
-        YdtContext enum2LeafList = enum1Leaf.getNextSibling();
-        assertThat(getInCrtName(LEAF_LIST, ENUM_2),
-                   enum2LeafList.getName(), is(ENUM_2));
-        Set<String> valueSet = enum2LeafList.getValueSet();
-        assertThat(getInCrtLeafListValue(ENUM_2, HUNDRED_100),
-                   valueSet.contains(HUNDRED_100), is(true));
-        assertThat(getInCrtLeafListValue(ENUM_2, TEN_10),
-                   valueSet.contains(TEN_10), is(true));
-        assertThat(getInCrtLeafListValue(ENUM_2, THOUSAND_1000),
-                   valueSet.contains(THOUSAND_1000), is(true));
-    }
-
-    /**
-     * Processes a YAB/YSB request to YTB with a container having leaf value
-     * being filled in the app object. Checks the constructed YDT tree for
-     * module and container and leaf.
-     */
-    @Test
-    public void processModuleWithContainer() {
-
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-
-        // Creates container object with leaf of decimal type.
-        Sched sched = new DefaultSched.SchedBuilder()
-                .predict(getBigDeci(98989))
-                .onosYangNodeOperationType(
-                        DefaultSched.OnosYangNodeOperationType.DELETE)
-                .build();
-        // Creates module object with the container.
-        YtbModuleWithContainer contModule = new YtbModuleWithContainerOpParam
-                .YtbModuleWithContainerBuilder()
-                .sched(sched)
-                .onosYangNodeOperationType(
-                        YtbModuleWithContainerOpParam
-                                .OnosYangNodeOperationType.CREATE)
-                .build();
-
-        // As YSB or YAB protocol sets the value for YTB.
-        List<Object> objectList = new ArrayList<>();
-        objectList.add(contModule);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                objectList, ROOT_NAME, ROOT_NAME_SPACE,
-                QUERY_CONFIG_REQUEST, registry);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-
-        // Gets the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        YdtContextOperationType opType = ((YdtNode) module)
-                .getYdtContextOperationType();
-
-        assertThat(getInCrtName(MODULE, MOD_CONT),
-                   module.getName(), is(MOD_CONT));
-        assertThat(getInCrtOpType(MODULE, MOD_CONT), opType, is(CREATE));
-
-        // Get the container from module.
-        YdtContext container = module.getFirstChild();
-        YdtContextOperationType opTypeOfCont = ((YdtNode) container)
-                .getYdtContextOperationType();
-
-        assertThat(getInCrtName(CONTAINER, SCHED),
-                   container.getName(), is("sched"));
-        assertThat(getInCrtOpType(CONTAINER, SCHED), opTypeOfCont, is(DELETE));
-
-        // Gets leaf from container.
-        YdtContext leafContext = container.getFirstChild();
-        assertThat(getInCrtName(LEAF, PREDICT),
-                   leafContext.getName(), is(PREDICT));
-        assertThat(getInCrtLeafValue(PREDICT, PREDICT_VAL),
-                   leafContext.getValue(), is(PREDICT_VAL));
-    }
-
-    /**
-     * Processes a YAB/YSB request to YTB with a list having leaf-list value
-     * being filled in the app object. Checks the constructed YDT tree for
-     * module and list and leaf-list.
-     */
-    @Test
-    public void processModuleWithList() {
-
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-
-        // Creates multi typedef values.
-        Find find1 = new Find(true);
-        Find find2 = new Find(false);
-        Find find3 = new Find(true);
-        Find find4 = new Find(false);
-
-        // Creates two lists, with the typedef values added.
-        List<Find> findList1 = new ArrayList<>();
-        List<Find> findList2 = new ArrayList<>();
-        findList1.add(find1);
-        findList1.add(find2);
-        findList2.add(find3);
-        findList2.add(find4);
-
-        // Creates two list contents.
-        Ytblistlist list1 = new DefaultYtblistlist
-                .YtblistlistBuilder().prediction(findList1).build();
-        Ytblistlist list2 = new DefaultYtblistlist
-                .YtblistlistBuilder().prediction(findList2).build();
-
-        List<Ytblistlist> ytbList = new ArrayList<>();
-        ytbList.add(list1);
-        ytbList.add(list2);
-
-        // Creates module having list.
-        YtbModuleWithList listModule = new YtbModuleWithListOpParam
-                .YtbModuleWithListBuilder().ytblistlist(ytbList).build();
-
-        // As YSB or YAB protocol sets the value for YTB.
-        List<Object> objectList = new ArrayList<>();
-        objectList.add(listModule);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                objectList, ROOT_NAME, ROOT_NAME_SPACE,
-                EDIT_CONFIG_REQUEST, registry);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-
-        // Gets the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        YdtContextOperationType opType = ((YdtNode) module)
-                .getYdtContextOperationType();
-
-        assertThat(getInCrtName(MODULE, MOD_LIST),
-                   module.getName(), is(MOD_LIST));
-        assertThat(getInCrtOpType(MODULE, MOD_LIST), opType, is(NONE));
-
-        // Gets the first list from module YtbModuleWithList.
-        YdtContext firstList = module.getFirstChild();
-        YdtContextOperationType listOpType = ((YdtNode) firstList)
-                .getYdtContextOperationType();
-        // Checks the contents in the list.
-        assertThat(getInCrtName(LIST, LIST_LIST),
-                   firstList.getName(), is(LIST_LIST));
-        assertThat(getInCrtOpType(LIST, LIST_LIST), listOpType, is(NONE));
-
-        // Gets the contents of the leaf-list in the first list content.
-        YdtContext leafListInList1 = firstList.getFirstChild();
-
-        // Evaluates the leaf-list values.
-        Set leafListValue1 = leafListInList1.getValueSet();
-        assertThat(getInCrtName(LEAF_LIST, PREDICTION),
-                   leafListInList1.getName(), is(PREDICTION));
-        assertThat(getInCrtLeafListValue(PREDICTION, TRUE),
-                   leafListValue1.contains(TRUE), is(true));
-        assertThat(getInCrtLeafListValue(PREDICTION, FALSE),
-                   leafListValue1.contains(FALSE), is(true));
-
-        // Gets the second list from module YtbModuleWithList.
-        YdtContext secondList = firstList.getNextSibling();
-
-        // Gets the contents of the leaf-list in the second list content.
-        YdtContext leafListInList2 = secondList.getFirstChild();
-        // Evaluates the leaf-list values.
-        Set leafListValue2 = leafListInList2.getValueSet();
-        assertThat(getInCrtName(LEAF_LIST, PREDICTION),
-                   leafListInList2.getName(), is(PREDICTION));
-        assertThat(getInCrtLeafListValue(PREDICTION, TRUE),
-                   leafListValue2.contains(TRUE), is(true));
-        assertThat(getInCrtLeafListValue(PREDICTION, FALSE),
-                   leafListValue2.contains(FALSE), is(true));
-    }
-
-    /**
-     * Processes multi notification under module when request comes for one
-     * notification event in module.
-     */
-    @Test
-    public void processMultiNotificationWithContainer() {
-
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-
-        // Sets the bit value.
-        BitSet bitleaf = new BitSet();
-        bitleaf.set(5);
-        bitleaf.set(7);
-
-        // Creates container with the leaf.
-        Ytbnot ytbnot = new DefaultYtbnot.YtbnotBuilder().notileaf(bitleaf)
-                .build();
-        // Creates notification with container.
-        Fortesta testa = new DefaultFortesta.FortestaBuilder()
-                .ytbnot(ytbnot).build();
-        // Invokes event subject class with notification.
-        YtbMultiNotificationWithContainerEventSubject eventSubject = new
-                YtbMultiNotificationWithContainerEventSubject();
-        eventSubject.fortesta(testa);
-        // Invokes event class with the event type and the event subject obj.
-        YtbMultiNotificationWithContainerEvent event =
-                new YtbMultiNotificationWithContainerEvent(
-                        YtbMultiNotificationWithContainerEvent.Type.FORTESTA,
-                        eventSubject);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtContext ydtContext = treeBuilder.getYdtForNotification(
-                event, ROOT_NAME, registry);
-
-        // Gets the first module from logical root node.
-        YdtContext context = ydtContext.getFirstChild();
-        YdtContextOperationType opType = ((YdtNode) context)
-                .getYdtContextOperationType();
-
-        assertThat(getInCrtName(MODULE, MUL_NOTIFY), context.getName(),
-                   is(MUL_NOTIFY));
-        assertThat(getInCrtOpType(MODULE, MUL_NOTIFY), opType, is(NONE));
-
-        // Gets the notification under module.
-        YdtContext notify = context.getFirstChild();
-        YdtContextOperationType notifyOpType = ((YdtNode) notify)
-                .getYdtContextOperationType();
-
-        // Checks the contents in the first notification.
-        assertThat(getInCrtName(NOTIFICATION, NOTIFY), notify.getName(),
-                   is(NOTIFY));
-        assertThat(getInCrtOpType(NOTIFICATION, NOTIFY), notifyOpType,
-                   is(NONE));
-
-        // Gets the container in notification
-        YdtContext container = notify.getFirstChild();
-        assertThat(getInCrtName(CONTAINER, YTB_NOTIFY_CONT),
-                   container.getName(), is(YTB_NOTIFY_CONT));
-
-        // Evaluates the leaf values.
-        YdtContext leafInCont = container.getFirstChild();
-        assertThat(getInCrtName(LEAF, NOTIFY_LEAF), leafInCont.getName(),
-                   is(NOTIFY_LEAF));
-        // TODO: check the bits to string.
-    }
-
-    /**
-     * Processes multi module with list in both the modules and checks the
-     * YANG data tree building.
-     */
-    @Test
-    public void processMultiModule() {
-
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-
-        // Creates list of big integer for leaf-list under list1.
-        List<BigInteger> bigIntegerList = new ArrayList<>();
-        bigIntegerList.add(BigInteger.valueOf(1));
-        bigIntegerList.add(BigInteger.valueOf(2));
-        bigIntegerList.add(BigInteger.valueOf(3));
-        // Creates list of big integer for leaf-list under list2.
-        List<BigInteger> bigIntegerList1 = new ArrayList<>();
-        bigIntegerList1.add(BigInteger.valueOf(4));
-        bigIntegerList1.add(BigInteger.valueOf(5));
-        bigIntegerList1.add(BigInteger.valueOf(6));
-
-        // Creates two list contents.
-        Ytbmultilist listContent1 = new DefaultYtbmultilist
-                .YtbmultilistBuilder().check(bigIntegerList).build();
-        Ytbmultilist listContent2 = new DefaultYtbmultilist
-                .YtbmultilistBuilder().check(bigIntegerList1).build();
-
-        List<Ytbmultilist> ytbmultilists = new ArrayList<>();
-        ytbmultilists.add(listContent1);
-        ytbmultilists.add(listContent2);
-
-        // Creates module-a with two list contents created.
-        YtbMultiModulea modulea = new YtbMultiModuleaOpParam
-                .YtbMultiModuleaBuilder().ytbmultilist(ytbmultilists).build();
-
-        // Creates list of string for leaf-list under list1.
-        List<String> stringList = new ArrayList<>();
-        stringList.add(ANT);
-        stringList.add(ANIMAL);
-        stringList.add(BIRD);
-
-        // Creates list of string for leaf-list under list2.
-        List<String> stringList1 = new ArrayList<>();
-        stringList1.add(CATCH);
-        stringList1.add(BALL);
-        stringList1.add(BAT);
-
-        // Creates two list contents.
-        Ytbmultilistb listContent3 = new DefaultYtbmultilistb
-                .YtbmultilistbBuilder().checkin(stringList).build();
-        Ytbmultilistb listContent4 = new DefaultYtbmultilistb
-                .YtbmultilistbBuilder().checkin(stringList1).build();
-
-        List<Ytbmultilistb> ytbMultiListb = new ArrayList<>();
-        ytbMultiListb.add(listContent3);
-        ytbMultiListb.add(listContent4);
-
-        // Creates module-b with two list contents created.
-        YtbMultiModuleb moduleb = new YtbMultiModulebOpParam
-                .YtbMultiModulebBuilder().ytbmultilistb(ytbMultiListb).build();
-
-        // As YSB or YAB protocol sets the value for YTB.
-        List<Object> listOfModules = new ArrayList<>();
-        listOfModules.add(modulea);
-        listOfModules.add(moduleb);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                listOfModules, ROOT_NAME, ROOT_NAME_SPACE,
-                EDIT_CONFIG_REQUEST, registry);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-
-        // Checks module-a under root node.
-        YdtContext moduleA = context.getFirstChild();
-        assertThat(getInCrtName(MODULE, MUL_MOD_A), moduleA.getName(),
-                   is(MUL_MOD_A));
-
-        // Checks list-a in module-a and its respective leaf-list.
-        YdtContext list1InModuleA = moduleA.getFirstChild();
-        assertThat(getInCrtName(LIST, MUL_LIST_A), list1InModuleA.getName(),
-                   is(MUL_LIST_A));
-
-        YdtContext leafListA = list1InModuleA.getFirstChild();
-        assertThat(getInCrtName(LEAF_LIST, CHECK), leafListA.getName(),
-                   is(CHECK));
-
-        Set<String> valueA = leafListA.getValueSet();
-        assertThat(getInCrtLeafListValue(CHECK, ONE), valueA.contains(ONE),
-                   is(true));
-        assertThat(getInCrtLeafListValue(CHECK, TWO), valueA.contains(TWO),
-                   is(true));
-        assertThat(getInCrtLeafListValue(CHECK, THREE), valueA.contains(THREE),
-                   is(true));
-
-        // Checks list-b in module-a and its respective leaf-list.
-        YdtContext list2InModuleA = list1InModuleA.getNextSibling();
-        assertThat(getInCrtName(LIST, MUL_LIST_A), list2InModuleA.getName(),
-                   is(MUL_LIST_A));
-
-        YdtContext leafListB = list2InModuleA.getFirstChild();
-        assertThat(getInCrtName(LEAF_LIST, CHECK), leafListB.getName(),
-                   is(CHECK));
-
-        Set<String> valueB = leafListB.getValueSet();
-        assertThat(getInCrtLeafListValue(CHECK, FOUR), valueB.contains(FOUR),
-                   is(true));
-        assertThat(getInCrtLeafListValue(CHECK, FIVE), valueB.contains(FIVE),
-                   is(true));
-        assertThat(getInCrtLeafListValue(CHECK, SIX), valueB.contains(SIX),
-                   is(true));
-
-        // Checks module-b under root node.
-        YdtContext moduleB = moduleA.getNextSibling();
-        assertThat(getInCrtName(MODULE, MUL_MOD_B), moduleB.getName(),
-                   is(MUL_MOD_B));
-
-        // Checks list-a in module-b and its respective leaf-list.
-        YdtContext list1InModuleB = moduleB.getFirstChild();
-        assertThat(getInCrtName(LIST, MUL_LIST_B), list1InModuleB.getName(),
-                   is(MUL_LIST_B));
-
-        YdtContext leafListC = list1InModuleB.getFirstChild();
-        assertThat(getInCrtName(LEAF_LIST, CHECKIN), leafListC.getName(),
-                   is(CHECKIN));
-
-        Set<String> valueC = leafListC.getValueSet();
-        assertThat(getInCrtLeafListValue(CHECKIN, ANT), valueC.contains(ANT),
-                   is(true));
-        assertThat(getInCrtLeafListValue(CHECKIN, ANIMAL),
-                   valueC.contains(ANIMAL), is(true));
-        assertThat(getInCrtLeafListValue(CHECKIN, BIRD),
-                   valueC.contains(BIRD), is(true));
-
-        // Checks list-b in module-b and its respective leaf-list.
-        YdtContext list2InModuleB = list1InModuleB.getNextSibling();
-        assertThat(getInCrtName(LIST, MUL_LIST_B), list2InModuleB.getName(),
-                   is(MUL_LIST_B));
-
-        YdtContext leafListD = list2InModuleB.getFirstChild();
-        assertThat(getInCrtName(LEAF_LIST, CHECKIN), leafListD.getName(),
-                   is(CHECKIN));
-
-        Set<String> valueD = leafListD.getValueSet();
-        assertThat(getInCrtLeafListValue(CHECKIN, CATCH),
-                   valueD.contains(CATCH), is(true));
-        assertThat(getInCrtLeafListValue(CHECKIN, BALL),
-                   valueD.contains(BALL), is(true));
-        assertThat(getInCrtLeafListValue(CHECKIN, BAT),
-                   valueD.contains(BAT), is(true));
-    }
-
-    /**
-     * Processes tree building when a list node is having list inside it.
-     */
-    @Test
-    public void processTreeBuilderForListHavingList() {
-
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-
-        // Creates two binary leaf-lists for two list app areas.
-        List<byte[]> destArea1 = new ArrayList<>();
-        byte[] arr = new byte[]{1, 6, 3};
-        byte[] arr1 = new byte[]{2, 7, 4};
-        destArea1.add(arr);
-        destArea1.add(arr1);
-
-        List<byte[]> destArea2 = new ArrayList<>();
-        byte[] arr2 = new byte[]{3, 8, 4};
-        byte[] arr3 = new byte[]{5, 6, 1};
-        destArea2.add(arr2);
-        destArea2.add(arr3);
-
-        // Creates two app areas list.
-        ApplicationAreas appArea1 = new DefaultApplicationAreas
-                .ApplicationAreasBuilder().destinationAreas(destArea1).build();
-        ApplicationAreas appArea2 = new DefaultApplicationAreas
-                .ApplicationAreasBuilder().destinationAreas(destArea2).build();
-
-        List<ApplicationAreas> applicationAreasList = new ArrayList<>();
-        applicationAreasList.add(appArea1);
-        applicationAreasList.add(appArea2);
-
-        // Adds two lists under the multiplex list for content 1.
-        Multiplexes mpx1 = new DefaultMultiplexes.MultiplexesBuilder()
-                .types(TypesEnum.TIME_DIVISION)
-                .applicationAreas(applicationAreasList).build();
-
-        // Creates two binary leaf-lists for two list app areas.
-        List<byte[]> destArea3 = new ArrayList<>();
-        byte[] arrB = new byte[]{0, 0, 1};
-        byte[] arr1B = new byte[]{1, 0, 0};
-        destArea3.add(arrB);
-        destArea3.add(arr1B);
-
-        List<byte[]> destArea4 = new ArrayList<>();
-        byte[] arr2B = new byte[]{7, 7, 7};
-        byte[] arr3B = new byte[]{0, 1};
-        destArea4.add(arr2B);
-        destArea4.add(arr3B);
-
-        // Creates two app areas list.
-        ApplicationAreas appArea3 = new DefaultApplicationAreas
-                .ApplicationAreasBuilder().destinationAreas(destArea3).build();
-        ApplicationAreas appArea4 = new DefaultApplicationAreas
-                .ApplicationAreasBuilder().destinationAreas(destArea4).build();
-
-        List<ApplicationAreas> applicationAreasListB = new ArrayList<>();
-        applicationAreasListB.add(appArea3);
-        applicationAreasListB.add(appArea4);
-
-        // Adds two lists under the multiplex list for content 2.
-        Multiplexes mpx2 = new DefaultMultiplexes.MultiplexesBuilder()
-                .types(TypesEnum.FREQUENCY_DIVISION)
-                .applicationAreas(applicationAreasListB).build();
-
-        List<Multiplexes> multiplexList = new ArrayList<>();
-        multiplexList.add(mpx1);
-        multiplexList.add(mpx2);
-
-        // Sets it in the container carrier.
-        Carrier carrier = new DefaultCarrier.CarrierBuilder()
-                .multiplexes(multiplexList).build();
-
-        YtbTreeBuilderForListHavingList listWithList = new
-                YtbTreeBuilderForListHavingListOpParam
-                        .YtbTreeBuilderForListHavingListBuilder()
-                .carrier(carrier).build();
-
-        // As YSB or YAB protocol sets the value for YTB.
-        List<Object> objectList = new ArrayList<>();
-        objectList.add(listWithList);
-
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                objectList, ROOT_NAME, ROOT_NAME_SPACE,
-                QUERY_CONFIG_REQUEST, registry);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-
-        // Gets the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        assertThat(getInCrtName(LIST, LIST_WITH_LIST), module.getName(),
-                   is(LIST_WITH_LIST));
-
-        // Checks the container node under module node.
-        YdtContext container = module.getFirstChild();
-        assertThat(getInCrtName(CONTAINER, CONT_CARRIER), container.getName(),
-                   is(CONT_CARRIER));
-
-        // Checks the list node with content 1 of multiplex.
-        YdtContext mtx1 = container.getFirstChild();
-        assertThat(getInCrtName(LIST, LIST_MULTIPLEXES), mtx1.getName(),
-                   is(LIST_MULTIPLEXES));
-
-        // Checks enum leaf under multiplex of content1.
-        YdtContext enumLeaf1 = mtx1.getFirstChild();
-        assertThat(getInCrtName(LEAF, TYPES), enumLeaf1.getName(), is(TYPES));
-        assertThat(getInCrtLeafValue(TYPES, TIME_DIVISION),
-                   enumLeaf1.getValue(), is(TIME_DIVISION));
-
-        // Checks list app area content 1 under multiplex content 1.
-        YdtContext appAreaList1 = enumLeaf1.getNextSibling();
-        assertThat(getInCrtName(LIST, APP_AREA_LIST), appAreaList1.getName(),
-                   is(APP_AREA_LIST));
-
-        YdtContext leafList1 = appAreaList1.getFirstChild();
-        assertThat(getInCrtName(LEAF_LIST, DEST_AREA), leafList1.getName(),
-                   is(DEST_AREA));
-        Set value1 = leafList1.getValueSet();
-        // TODO: check the leaf-list value.
-
-        // Checks list app area content 2 under multiplex content 1.
-        YdtContext appAreaList2 = appAreaList1.getNextSibling();
-        assertThat(getInCrtName(LIST, APP_AREA_LIST), appAreaList2.getName(),
-                   is(APP_AREA_LIST));
-
-        YdtContext leafList2 = appAreaList2.getFirstChild();
-        assertThat(getInCrtName(LEAF_LIST, DEST_AREA), leafList2.getName(),
-                   is(DEST_AREA));
-        Set value2 = leafList1.getValueSet();
-        // TODO: check the leaf-list value.
-
-        // Checks the list node with content 2 of multiplex.
-        YdtContext mtx2 = mtx1.getNextSibling();
-        assertThat(getInCrtName(LIST, LIST_MULTIPLEXES), mtx2.getName(),
-                   is(LIST_MULTIPLEXES));
-
-        // Checks enum leaf under multiplex of content2.
-        YdtContext enumLeaf2 = mtx2.getFirstChild();
-        assertThat(getInCrtName(LEAF, TYPES), enumLeaf2.getName(), is(TYPES));
-        assertThat(getInCrtLeafValue(TYPES, FREQUENCY_DIV),
-                   enumLeaf2.getValue(), is(FREQUENCY_DIV));
-
-        // Checks list app area content 1 under multiplex content 2.
-        YdtContext appAreaList3 = enumLeaf2.getNextSibling();
-        assertThat(getInCrtName(LIST, APP_AREA_LIST), appAreaList3.getName(),
-                   is(APP_AREA_LIST));
-
-        YdtContext leafList3 = appAreaList3.getFirstChild();
-        assertThat(getInCrtName(LEAF_LIST, DEST_AREA), leafList3.getName(),
-                   is(DEST_AREA));
-        Set value3 = leafList3.getValueSet();
-        // TODO: check the leaf-list value.
-
-        // Checks list app area content 2 under multiplex content 2.
-        YdtContext appAreaList4 = appAreaList3.getNextSibling();
-        assertThat(getInCrtName(LIST, APP_AREA_LIST), appAreaList4.getName(),
-                   is(APP_AREA_LIST));
-
-        YdtContext leafList4 = appAreaList4.getFirstChild();
-        assertThat(getInCrtName(LEAF_LIST, DEST_AREA), leafList4.getName(),
-                   is(DEST_AREA));
-        Set value4 = leafList4.getValueSet();
-        // TODO: check the leaf-list value.
-    }
-
-    /**
-     * Processes tree building from the derived type of leaf and leaf-list
-     * having binary and bits .
-     */
-    @Test
-    public void processTreeBuilderForBinaryAndBits() {
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-
-        // Creates a byte array for binary leaf.
-        byte[] binLeaf = new byte[]{5, 5, 5};
-
-        // Assigns the value in the chained loop of typedef.
-        Derivedbinaryb derBinb = new Derivedbinaryb(binLeaf);
-        Derivedbinarya derBina = new Derivedbinarya(derBinb);
-
-        // Creates bit set for bit leaf.
-        BitSet bitLeaf = new BitSet();
-        bitLeaf.set(1);
-        bitLeaf.set(100);
-
-        // Assigns the value in the chained loop of typedef.
-        Derivedbitsb derBitb = new Derivedbitsb(bitLeaf);
-        Derivedbitsa derBita = new Derivedbitsa(derBitb);
-
-        // Creates a byte array list for binary leaf-list.
-        byte[] binList1 = new byte[]{9, 9, 0};
-        byte[] binList2 = new byte[]{12, 6, 0};
-        byte[] binList3 = new byte[]{16, 29, 25};
-
-        // Assigns the value in the chained loop of typedef.
-        Derivedbinaryb derBinBList1 = new Derivedbinaryb(binList1);
-        Derivedbinaryb derBinBList2 = new Derivedbinaryb(binList2);
-        Derivedbinaryb derBinBList3 = new Derivedbinaryb(binList3);
-
-        Derivedbinarya derBinAList1 = new Derivedbinarya(derBinBList1);
-        Derivedbinarya derBinAList2 = new Derivedbinarya(derBinBList2);
-        Derivedbinarya derBinAList3 = new Derivedbinarya(derBinBList3);
-
-        List<Derivedbinarya> binAlist = new ArrayList<>();
-        binAlist.add(derBinAList1);
-        binAlist.add(derBinAList2);
-        binAlist.add(derBinAList3);
-
-        // Creates a bit set list for bit leaf-list.
-        BitSet bitList1 = new BitSet();
-        bitList1.set(1);
-        BitSet bitList2 = new BitSet();
-        bitList2.set(1);
-        bitList2.set(10);
-        BitSet bitList3 = new BitSet();
-        bitList3.set(1);
-        bitList3.set(10);
-        bitList3.set(100);
-
-        // Assigns the value in the chained loop of typedef.
-        Derivedbitsb bitBlist1 = new Derivedbitsb(bitList1);
-        Derivedbitsb bitBlist2 = new Derivedbitsb(bitList2);
-        Derivedbitsb bitBlist3 = new Derivedbitsb(bitList3);
-
-        Derivedbitsa bitAlist1 = new Derivedbitsa(bitBlist1);
-        Derivedbitsa bitAlist2 = new Derivedbitsa(bitBlist2);
-        Derivedbitsa bitAlist3 = new Derivedbitsa(bitBlist3);
-
-        List<Derivedbitsa> bitAlist = new ArrayList<>();
-        bitAlist.add(bitAlist1);
-        bitAlist.add(bitAlist2);
-        bitAlist.add(bitAlist3);
-
-        // Creates a module by assigning all the leaf and leaf-list.
-        YtbDerivedTypeWithBitsAndBinary bitsAndBinary = new
-                YtbDerivedTypeWithBitsAndBinaryOpParam
-                        .YtbDerivedTypeWithBitsAndBinaryBuilder()
-                .forbinary(derBina).forbits(derBita)
-                .forbinarylist(binAlist)
-                .forbitslist(bitAlist).build();
-
-        // As YSB or YAB protocol, sets the value for YTB.
-        List<Object> objectList = new ArrayList<>();
-        objectList.add(bitsAndBinary);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtExtendedBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                objectList, ROOT_NAME, ROOT_NAME_SPACE,
-                EDIT_CONFIG_REQUEST, registry);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-
-        // Gets the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        assertThat(getInCrtName(MODULE, MOD_BIT_BIN), module.getName(),
-                   is(MOD_BIT_BIN));
-
-        // Checks the leaf for binary.
-        YdtContext binaryLeaf = module.getFirstChild();
-        assertThat(getInCrtName(LEAF, FOR_BINARY), binaryLeaf.getName(),
-                   is(FOR_BINARY));
-        assertThat(getInCrtLeafValue(FOR_BINARY, BIN_VAL_1),
-                   binaryLeaf.getValue(), is(BIN_VAL_1));
-
-        // Checks the leaf for bits.
-        YdtContext bitsLeaf = binaryLeaf.getNextSibling();
-        assertThat(getInCrtName(LEAF, FOR_BITS), bitsLeaf.getName(),
-                   is(FOR_BITS));
-        // TODO: The bits is not done.
-        String value1 = bitsLeaf.getValue();
-
-        // Checks the leaf-list for binary.
-        YdtContext binaryLeafList = bitsLeaf.getNextSibling();
-        assertThat(getInCrtName(LEAF_LIST, FOR_BINARY_LIST),
-                   binaryLeafList.getName(), is(FOR_BINARY_LIST));
-
-        Set value2 = binaryLeafList.getValueSet();
-        assertThat(getInCrtLeafListValue(FOR_BINARY_LIST, BIN_VAL_2),
-                   value2.contains(BIN_VAL_2), is(true));
-        assertThat(getInCrtLeafListValue(FOR_BINARY_LIST, BIN_VAL_3),
-                   value2.contains(BIN_VAL_3), is(true));
-        assertThat(getInCrtLeafListValue(FOR_BINARY_LIST, BIN_VAL_4),
-                   value2.contains(BIN_VAL_4), is(true));
-
-        // Checks the leaf-list for bits.
-        YdtContext bitsLeafList = binaryLeafList.getNextSibling();
-        assertThat(getInCrtName(LEAF_LIST, FOR_BITS_LIST),
-                   bitsLeafList.getName(), is(FOR_BITS_LIST));
-        // TODO: The value of bits should be mapped text string.
-        Set value3 = bitsLeafList.getValueSet();
-    }
-
-    /**
-     * Processes tree building for the union type.
-     */
-    @Test
-    public void processYtbUnionType() {
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-
-        // Creates union with binary type.
-        byte[] binary = new byte[]{0, 0, 0};
-        ForunionUnion union = new ForunionUnion(binary);
-
-        // Creates module with union.
-        YtbDerivedTypeWithBitsAndBinary unionType = new
-                YtbDerivedTypeWithBitsAndBinaryOpParam
-                        .YtbDerivedTypeWithBitsAndBinaryBuilder()
-                .forunion(union)
-                .build();
-
-        // As YSB or YAB protocol, sets the value for YTB.
-        List<Object> objectList = new ArrayList<>();
-        objectList.add(unionType);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtExtendedBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                objectList, ROOT_NAME, ROOT_NAME_SPACE,
-                EDIT_CONFIG_REQUEST, registry);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext rootNode = ydtBuilder.getRootNode();
-        YdtContext module = rootNode.getFirstChild();
-        YdtContext unionChild = module.getFirstChild();
-        assertThat(getInCrtName(LEAF, FOR_UNION), unionChild.getName(),
-                   is(FOR_UNION));
-        //TODO: Correct it once union generated code is fixed.
-        assertThat(getInCrtLeafValue(FOR_UNION, ZERO), unionChild.getValue(),
-                   is(ZERO));
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ytb/YtbContextSwitchTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ytb/YtbContextSwitchTest.java
deleted file mode 100644
index ef48954..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ytb/YtbContextSwitchTest.java
+++ /dev/null
@@ -1,1237 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ytb;
-
-import org.junit.Test;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev20130715.ymsietfinettypes.Uri;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev20151208.YmsIetfNetwork;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev20151208.YmsIetfNetworkOpParam;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev20151208.ymsietfnetwork.DefaultNetworks;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev20151208.ymsietfnetwork.Networks;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev20151208.ymsietfnetwork.NodeId;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev20151208.ymsietfnetwork.networks.DefaultNetwork;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev20151208.ymsietfnetwork.networks.Network;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev20151208.ymsietfnetwork.networks.network.DefaultNode;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev20151208.ymsietfnetwork.networks.network.Node;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev20151208.ymsietfnetwork.networks.network.node.DefaultSupportingNode;
-import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev20151208.ymsietfnetwork.networks.network.node.SupportingNode;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.from.another.file.rev20160826.ytbaugmentfromanotherfile.networks.network.node.AugmentedNdNode;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.from.another.file.rev20160826.ytbaugmentfromanotherfile.networks.network.node.DefaultAugmentedNdNode;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.from.another.file.rev20160826.ytbaugmentfromanotherfile.networks.network.node.augmentedndnode.DefaultTerminationPoint;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.from.another.file.rev20160826.ytbaugmentfromanotherfile.networks.network.node.augmentedndnode.TerminationPoint;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.from.another.file.rev20160826.ytbaugmentfromanotherfile.networks.network.node.augmentedndnode.terminationpoint.DefaultSupportingTerminationPoint;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.from.another.file.rev20160826.ytbaugmentfromanotherfile.networks.network.node.augmentedndnode.terminationpoint.SupportingTerminationPoint;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.yangautoprefixfor.rpc.input.rev20160826.ytbaugmentforrpcinput.activatesoftwareimage.output.AugmentedRpcOutput;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.yangautoprefixfor.rpc.input.rev20160826.ytbaugmentforrpcinput.activatesoftwareimage.output.DefaultAugmentedRpcOutput;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.yangautoprefixfor.rpc.input.rev20160826.ytbaugmentforrpcinput.activatesoftwareimage.output.augmentedrpcoutput.Selection;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.yangautoprefixfor.rpc.input.rev20160826.ytbaugmentforrpcinput.activatesoftwareimage.output.augmentedrpcoutput.selection.DefaultValueIn;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.yangautoprefixfor.rpc.input.rev20160826.ytbaugmentforrpcinput.activatesoftwareimage.output.augmentedrpcoutput.selection.valuein.ValueIn;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.yangautoprefixfor.rpc.input.rev20160826.ytbaugmentforrpcinput2.activatesoftwareimage.output.AugmentedInputOutput;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.yangautoprefixfor.rpc.input.rev20160826.ytbaugmentforrpcinput2.activatesoftwareimage.output.DefaultAugmentedInputOutput;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.yangautoprefixfor.rpc.input.rev20160826.ytbaugmentforrpcinput2.activatesoftwareimage.output.augmentedinputoutput.DefaultFriction;
-import org.onosproject.yang.gen.v1.yms.test.ytb.augment.yangautoprefixfor.rpc.input.rev20160826.ytbaugmentforrpcinput2.activatesoftwareimage.output.augmentedinputoutput.Friction;
-import org.onosproject.yang.gen.v1.yms.test.ytb.choice.with.container.and.leaf.list.rev20160826.YtbChoiceWithContainerAndLeafList;
-import org.onosproject.yang.gen.v1.yms.test.ytb.choice.with.container.and.leaf.list.rev20160826.YtbChoiceWithContainerAndLeafListOpParam;
-import org.onosproject.yang.gen.v1.yms.test.ytb.choice.with.container.and.leaf.list.rev20160826.ytbchoicewithcontainerandleaflist.ContentTest;
-import org.onosproject.yang.gen.v1.yms.test.ytb.choice.with.container.and.leaf.list.rev20160826.ytbchoicewithcontainerandleaflist.CurrentValue;
-import org.onosproject.yang.gen.v1.yms.test.ytb.choice.with.container.and.leaf.list.rev20160826.ytbchoicewithcontainerandleaflist.contenttest.DefaultChoiceContainer;
-import org.onosproject.yang.gen.v1.yms.test.ytb.choice.with.container.and.leaf.list.rev20160826.ytbchoicewithcontainerandleaflist.contenttest.choicecontainer.ChoiceContainer;
-import org.onosproject.yang.gen.v1.yms.test.ytb.choice.with.container.and.leaf.list.rev20160826.ytbchoicewithcontainerandleaflist.contenttest.choicecontainer.choicecontainer.DefaultPredict;
-import org.onosproject.yang.gen.v1.yms.test.ytb.choice.with.container.and.leaf.list.rev20160826.ytbchoicewithcontainerandleaflist.contenttest.choicecontainer.choicecontainer.Predict;
-import org.onosproject.yang.gen.v1.yms.test.ytb.choice.with.container.and.leaf.list.rev20160826.ytbchoicewithcontainerandleaflist.contenttest.choicecontainer.choicecontainer.predict.DefaultReproduce;
-import org.onosproject.yang.gen.v1.yms.test.ytb.choice.with.container.and.leaf.list.rev20160826.ytbchoicewithcontainerandleaflist.contenttest.choicecontainer.choicecontainer.predict.Reproduce;
-import org.onosproject.yang.gen.v1.yms.test.ytb.choice.with.container.and.leaf.list.rev20160826.ytbchoicewithcontainerandleaflist.currentvalue.DefaultYtbAbsent;
-import org.onosproject.yang.gen.v1.yms.test.ytb.rpc.response.with.advanced.input.and.output.rev20160826.ytbrpcresponsewithadvancedinputandoutput.activatesoftwareimage.ActivateSoftwareImageOutput;
-import org.onosproject.yang.gen.v1.yms.test.ytb.rpc.response.with.advanced.input.and.output.rev20160826.ytbrpcresponsewithadvancedinputandoutput.activatesoftwareimage.DefaultActivateSoftwareImageOutput;
-import org.onosproject.yang.gen.v1.yms.test.ytb.rpc.response.with.advanced.input.and.output.rev20160826.ytbrpcresponsewithadvancedinputandoutput.activatesoftwareimage.activatesoftwareimageoutput.DefaultOutputList;
-import org.onosproject.yang.gen.v1.yms.test.ytb.rpc.response.with.advanced.input.and.output.rev20160826.ytbrpcresponsewithadvancedinputandoutput.activatesoftwareimage.activatesoftwareimageoutput.OutputList;
-import org.onosproject.yang.gen.v1.yms.test.ytb.rpc.response.with.advanced.input.and.output.rev20160826.ytbrpcresponsewithadvancedinputandoutput.activatesoftwareimage.activatesoftwareimageoutput.outputlist.ContentInside;
-import org.onosproject.yang.gen.v1.yms.test.ytb.rpc.response.with.advanced.input.and.output.rev20160826.ytbrpcresponsewithadvancedinputandoutput.activatesoftwareimage.activatesoftwareimageoutput.outputlist.DefaultContentInside;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.augment.rev20160826.YtbSimpleAugment;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.augment.rev20160826.YtbSimpleAugmentOpParam;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.augment.rev20160826.ytbsimpleaugment.Cont1;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.augment.rev20160826.ytbsimpleaugment.DefaultCont1;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.augment.rev20160826.ytbsimpleaugment.cont1.DefaultCont2;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.augment.rev20160826.ytbsimpleaugment.cont1.cont2.AugmentedCont2;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.augment.rev20160826.ytbsimpleaugment.cont1.cont2.DefaultAugmentedCont2;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.augment.rev20160826.ytbsimpleaugment.cont1.cont2.augmentedcont2.Cont1s;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.augment.rev20160826.ytbsimpleaugment.cont1.cont2.augmentedcont2.DefaultCont1s;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.choice.yangautoprefixcase.rev20160826.YtbSimpleChoiceCase;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.choice.yangautoprefixcase.rev20160826.YtbSimpleChoiceCaseOpParam;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.choice.yangautoprefixcase.rev20160826.ytbsimplechoicecase.DefaultYtbFood;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.choice.yangautoprefixcase.rev20160826.ytbsimplechoicecase.YtbFood;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.choice.yangautoprefixcase.rev20160826.ytbsimplechoicecase.ytbfood.YtbSnack;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.choice.yangautoprefixcase.rev20160826.ytbsimplechoicecase.ytbfood.ytbsnack.DefaultYtbLateNight;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.rpc.response.rev20160826.ytbsimplerpcresponse.rpc.DefaultRpcOutput;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.rpc.response.rev20160826.ytbsimplerpcresponse.rpc.RpcOutput;
-import org.onosproject.yms.app.ydt.YangRequestWorkBench;
-import org.onosproject.yms.app.ydt.YdtExtendedBuilder;
-import org.onosproject.yms.app.ysr.DefaultYangSchemaRegistry;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.core.Is.is;
-import static org.hamcrest.core.IsNull.notNullValue;
-import static org.onosproject.yms.ydt.YdtContextOperationType.NONE;
-import static org.onosproject.yms.ydt.YmsOperationType.EDIT_CONFIG_REPLY;
-import static org.onosproject.yms.ydt.YmsOperationType.EDIT_CONFIG_REQUEST;
-import static org.onosproject.yms.ydt.YmsOperationType.QUERY_CONFIG_REPLY;
-import static org.onosproject.yms.ydt.YmsOperationType.RPC_REQUEST;
-
-/**
- * Unit test cases for YANG tree builder for context switch for augment, RPC
- * and case.
- */
-public class YtbContextSwitchTest extends YtbErrMsgAndConstants {
-
-    private static final String RPC_ADV_NAME = "RPCAdvanced";
-    private static final String RPC_ADV_NAMESPACE = "RPCAdvancedSpace";
-    private static final String RPC_ADV_IO =
-            "YtbRpcResponseWithAdvancedInputAndOutput";
-    private static final String ACT_IMG = "activate-software-image";
-    private static final String INPUT = "input";
-    private static final String FINAL = "final";
-    private static final String AUG_NW_REF_1 = "network-ref-aug1";
-    private static final String AUG_NODE_REF_1 = "node-ref-aug1";
-    private static final String AUG_TP_REF_1 = "tp-ref-aug-1";
-    private static final String AUG_TP_ID_1 = "tp-id-aug-1";
-    private static final String AUG_NW_REF_B1 = "network-ref-augb1";
-    private static final String AUG_NODE_REF_B1 = "node-ref-augb1";
-    private static final String AUG_TP_REF_B1 = "tp-ref-aug-b1";
-    private static final String AUG_TP_ID_B1 = "tp-id-aug-1b";
-    private static final String NW_REF = "network-ref";
-    private static final String NODE_REF = "node-ref";
-    private static final String NW_REF_2 = "network-ref2";
-    private static final String NODE_REF_3 = "node-ref3";
-    private static final String NW_REF_B = "network-ref-b";
-    private static final String NODE_REF_B = "node-ref-b";
-    private static final String NW_REF_2B = "network-ref2-b";
-    private static final String NODE_REF_2B = "node-ref2-b";
-    private static final String NODE_REF_3B = "node-ref3-b";
-    private static final String CHOC = "choc";
-    private static final String CHOICE_CASE = "YtbSimpleChoiceCase";
-    private static final String FOOD = "YtbFood";
-    private static final String CHOCOLATE = "chocolate";
-    private static final String VAL = "val";
-    private static final String IND = "ind";
-    private static final String CHOICE_ROOT_NAME = "choiceContainerRootName";
-    private static final String CHOICE_ROOT_NAMESPACE =
-            "choiceContainerRootNamespace";
-    private static final String ROOT = "root";
-    private static final String CHOICE_CONT =
-            "YtbChoiceWithContainerAndLeafList";
-    private static final String CONT_CHOICE = "choice-container";
-    private static final String REPRODUCE = "reproduce";
-    private static final String NINETY = "90";
-    private static final String HUNDRED = "100";
-    private static final String RPC_RT_NAME = "rpcRootName";
-    private static final String RPC_RT_NAMESPACE = "rpcRootNameSpace";
-    private static final String OUTPUT_LEAF = "output-leaf";
-    private static final String FIVE_HUNDRED = "500";
-    private static final String OUTPUT_LIST = "output-list";
-    private static final String LIST_KEY = "list-key";
-    private static final String BIN_VAL_1 = "AAE=";
-    private static final String CONT_INSIDE = "content_inside";
-    private static final String BIN_VAL_2 = "CAk=";
-    private static final String AVAILABLE = "available";
-    private static final String EIGHTY_NINE = "89";
-    private static final String NINETY_EIGHT = "98";
-    private static final String BIN_VAL_3 = "AAA=";
-    private static final String SIM_AUG = "simpleAugment";
-    private static final String SIM_AUG_NAMESPACE = "simpleAugmentSpace";
-    private static final String SIMPLE_AUG = "YtbSimpleAugment";
-    private static final String CONT1 = "cont1";
-    private static final String CONT2 = "cont2";
-    private static final String LEAF4 = "leaf4";
-    private static final String CONT1S = "cont1s";
-    private static final String INTER_AUG = "inter-file-augment";
-    private static final String INTER_AUG_NAMESPACE =
-            "inter-file-augment-space";
-    private static final String IETF_NW = "yms-ietf-network";
-    private static final String NWS = "networks";
-    private static final String NW = "network";
-    private static final String NODE = "node";
-    private static final String NODE_ID = "node-id";
-    private static final String TERM_POINT = "termination-point";
-    private static final String TP_ID = "tp-id";
-    private static final String SUP_TERM_POINT = "supporting-termination-point";
-    private static final String TP_REF = "tp-ref";
-    private static final String SUP_NODE = "supporting-node";
-    private static final String KIN1 = "kin1";
-    private static final String KIN2 = "kin2";
-    private static final String VAL_IN = "value-in";
-    private static final String KINETIC = "kinetic";
-    private static final String FRICTION = "friction";
-    private static final String SPEED = "speed";
-    private static final String THOUSAND = "1000";
-
-    /**
-     * Creates object as like an application for RPC with list.
-     *
-     * @return object of RPC
-     */
-    private List<OutputList> createApplicationBuiltObjectForRpc() {
-
-        // Creates a empty container inside without leaf for list1.
-        ContentInside inside1 = new DefaultContentInside.ContentInsideBuilder()
-                .build();
-
-        // Creates a leaf list-key which is a leaf ref.
-        byte[] listKey1 = new byte[]{0, 1};
-
-        // Creates the list content 1.
-        OutputList output1 = new DefaultOutputList.OutputListBuilder()
-                .listKey(listKey1).contentInside(inside1).build();
-
-        // Creates a list of leaf for available.
-        List<Short> avail = new ArrayList<>();
-        avail.add((short) 89);
-        avail.add((short) 98);
-
-        // Adds the leaf list in the inside container.
-        ContentInside inside2 = new DefaultContentInside.ContentInsideBuilder()
-                .available(avail).build();
-
-        // Creates a leaf, list-key which is a leaf ref.
-        byte[] listKey2 = new byte[]{8, 9};
-
-        // Creates the list content 2.
-        OutputList outputList2 = new DefaultOutputList.OutputListBuilder()
-                .listKey(listKey2).contentInside(inside2).build();
-
-        // Creates only leaf, list-key which is a leaf ref.
-        byte[] arr3 = new byte[]{0, 0};
-
-        // Creates the list content 3.
-        OutputList outputList3 = new DefaultOutputList.OutputListBuilder()
-                .listKey(arr3).build();
-
-        // Adds all the list contents in array list and gives returns it.
-        List<OutputList> outputLists = new ArrayList<>();
-        outputLists.add(output1);
-        outputLists.add(outputList2);
-        outputLists.add(outputList3);
-        return outputLists;
-    }
-
-    /**
-     * Builds YANG request work bench for RPC with container input.
-     *
-     * @param registry schema registry
-     * @return YANG request work bench
-     */
-    private YangRequestWorkBench buildYangRequestWorkBenchForRpc(
-            DefaultYangSchemaRegistry registry) {
-
-        // Creates a request work bench and adds the input child into it.
-        YangRequestWorkBench workBench = new YangRequestWorkBench(
-                RPC_ADV_NAME, RPC_ADV_NAMESPACE, RPC_REQUEST,
-                registry, true);
-        Set<String> valueList = new HashSet<>();
-        valueList.add("800");
-        valueList.add("900");
-        workBench.addChild(RPC_ADV_IO, null, NONE);
-        workBench.addChild(ACT_IMG, null, NONE);
-        workBench.addChild(INPUT, null, NONE);
-        workBench.addChild(FINAL, null, NONE);
-        workBench.addLeaf("value", null, valueList);
-        return workBench;
-    }
-
-    /**
-     * Creates an application object for inter file augment.
-     *
-     * @return application object
-     */
-    private Object createObjectForInterFileAugment() {
-
-        // Creates leaf value for network-ref.
-        Uri nwkRef = new Uri(AUG_NW_REF_1);
-        Uri nwkRef2 = new Uri("network-ref-aug2");
-
-        // Creates leaf value for node-ref
-        Uri nodeRef = new Uri(AUG_NODE_REF_1);
-        NodeId nodeId = new NodeId(nodeRef);
-
-        Uri nodeRef2 = new Uri("node-ref-aug2");
-        NodeId nodeId2 = new NodeId(nodeRef2);
-
-        // Creates support termination list with the above two contents.
-        SupportingTerminationPoint point1 =
-                new DefaultSupportingTerminationPoint
-                        .SupportingTerminationPointBuilder()
-                        .networkRef(nwkRef).nodeRef(nodeId)
-                        .tpRef(AUG_TP_REF_1).build();
-        SupportingTerminationPoint point2 =
-                new DefaultSupportingTerminationPoint
-                        .SupportingTerminationPointBuilder()
-                        .networkRef(nwkRef2).nodeRef(nodeId2)
-                        .tpRef("tp-ref-aug-2").build();
-
-        List<SupportingTerminationPoint> pointList = new ArrayList<>();
-        pointList.add(point1);
-        pointList.add(point2);
-
-        // Adds the list created to the termination point content1.
-        TerminationPoint tPoint1 = new DefaultTerminationPoint
-                .TerminationPointBuilder()
-                .supportingTerminationPoint(pointList)
-                .tpId(AUG_TP_ID_1).build();
-
-        // Creates leaf value for network-ref.
-        Uri nwkRef3 = new Uri(AUG_NW_REF_B1);
-        Uri nwkRef4 = new Uri("network-ref-augb2");
-
-        // Creates leaf value for node-ref
-        Uri nodeRef3 = new Uri(AUG_NODE_REF_B1);
-        NodeId nodeId3 = new NodeId(nodeRef3);
-
-        Uri nodeRef4 = new Uri("node-ref-augb2");
-        NodeId nodeId4 = new NodeId(nodeRef4);
-
-        // Creates support termination list with the above two contents.
-        SupportingTerminationPoint point3 =
-                new DefaultSupportingTerminationPoint
-                        .SupportingTerminationPointBuilder()
-                        .networkRef(nwkRef3).nodeRef(nodeId3)
-                        .tpRef(AUG_TP_REF_B1).build();
-        SupportingTerminationPoint point4 =
-                new DefaultSupportingTerminationPoint
-                        .SupportingTerminationPointBuilder()
-                        .networkRef(nwkRef4).nodeRef(nodeId4)
-                        .tpRef("tp-ref-aug-b2").build();
-
-        List<SupportingTerminationPoint> pointList2 = new ArrayList<>();
-        pointList2.add(point3);
-        pointList2.add(point4);
-
-        // Adds the list created to the termination point content2.
-        TerminationPoint tPoint2 = new DefaultTerminationPoint
-                .TerminationPointBuilder()
-                .supportingTerminationPoint(pointList2)
-                .tpId(AUG_TP_ID_B1).build();
-
-        List<TerminationPoint> terminationPointList = new ArrayList<>();
-        terminationPointList.add(tPoint1);
-        terminationPointList.add(tPoint2);
-
-        // Adds all the above contents to the augment.
-        AugmentedNdNode augment = new DefaultAugmentedNdNode
-                .AugmentedNdNodeBuilder()
-                .terminationPoint(terminationPointList)
-                .build();
-
-        // Creates leaf value for network-ref in augmented node(ietf-network).
-        Uri nwRef5 = new Uri(NW_REF);
-
-        //Creates leaf value for node-ref in augmented node(ietf-network).
-        Uri nodeRef5 = new Uri(NODE_REF);
-        NodeId nodeId5 = new NodeId(nodeRef5);
-
-        // Creates supporting node list content 1 with above contents.
-        SupportingNode supNode1 = new DefaultSupportingNode
-                .SupportingNodeBuilder().nodeRef(nodeId5)
-                .networkRef(nwRef5).build();
-
-        // Creates leaf value for network-ref in augmented node(ietf-network).
-        Uri nwRef6 = new Uri(NW_REF_2);
-
-        //Creates leaf value for node-ref in augmented node(ietf-network).
-        Uri nodeRef6 = new Uri("node-ref2");
-        NodeId nodeId6 = new NodeId(nodeRef6);
-
-        // Creates supporting node list content 2 with above contents.
-        SupportingNode supNode2 = new DefaultSupportingNode
-                .SupportingNodeBuilder()
-                .nodeRef(nodeId6)
-                .networkRef(nwRef6).build();
-
-        List<SupportingNode> supNodeList = new ArrayList<>();
-        supNodeList.add(supNode1);
-        supNodeList.add(supNode2);
-
-        // Creates leaf value for node-id in augmented node(ietf-network).
-        Uri nodeId1 = new Uri(NODE_REF_3);
-        NodeId nodeIdForId = new NodeId(nodeId1);
-
-        // Creates node list with content 1 by adding augment also.
-        DefaultNode.NodeBuilder nodeBuilder = new DefaultNode.NodeBuilder();
-        nodeBuilder.addYangAugmentedInfo(
-                augment, AugmentedNdNode.class);
-        nodeBuilder.supportingNode(supNodeList);
-        nodeBuilder.nodeId(nodeIdForId);
-        Node node1 = nodeBuilder.build();
-
-        // Creates an augment node without any values set to it.
-        AugmentedNdNode augmentedNdNode2 = new DefaultAugmentedNdNode
-                .AugmentedNdNodeBuilder().build();
-
-        // Creates leaf value for network-ref in augmented node(ietf-network).
-        Uri nwRef7 = new Uri(NW_REF_B);
-
-        //Creates leaf value for node-ref in augmented node(ietf-network).
-        Uri nodeRef7 = new Uri(NODE_REF_B);
-        NodeId nodeId7 = new NodeId(nodeRef7);
-
-        // Creates supporting node list content 1 with above contents.
-        SupportingNode supNode3 = new DefaultSupportingNode
-                .SupportingNodeBuilder().nodeRef(nodeId7)
-                .networkRef(nwRef7).build();
-
-        // Creates leaf value for network-ref in augmented node(ietf-network).
-        Uri nwRef8 = new Uri(NW_REF_2B);
-
-        //Creates leaf value for node-ref in augmented node(ietf-network).
-        Uri nodeRef8 = new Uri(NODE_REF_2B);
-        NodeId nodeId8 = new NodeId(nodeRef8);
-
-        // Creates supporting node list content 1 with above contents.
-        SupportingNode supNode4 = new DefaultSupportingNode
-                .SupportingNodeBuilder()
-                .nodeRef(nodeId8)
-                .networkRef(nwRef8).build();
-
-        List<SupportingNode> supNodeList2 = new ArrayList<>();
-        supNodeList2.add(supNode3);
-        supNodeList2.add(supNode4);
-
-        // Creates leaf value for node-id in augmented node(ietf-network).
-        Uri nodeIdLeaf = new Uri(NODE_REF_3B);
-        NodeId nodeIdForId2 = new NodeId(nodeIdLeaf);
-
-        // Creates node list with content 2 by adding empty augment also.
-        DefaultNode.NodeBuilder nodeBuilder2 = new DefaultNode.NodeBuilder();
-        nodeBuilder2.addYangAugmentedInfo(
-                augmentedNdNode2, AugmentedNdNode.class);
-        nodeBuilder2.supportingNode(supNodeList2);
-        nodeBuilder2.nodeId(nodeIdForId2);
-        Node node2 = nodeBuilder2.build();
-
-        // Adds both nodes into the list.
-        List<Node> nodeList = new LinkedList<>();
-        nodeList.add(node1);
-        nodeList.add(node2);
-
-        // Adds the list into the network list.
-        Network nwkList = new DefaultNetwork.NetworkBuilder()
-                .node(nodeList).build();
-
-        List<Network> networkList = new ArrayList<>();
-        networkList.add(nwkList);
-
-        // Adds the network list into networks container.
-        Networks contNetworks = new DefaultNetworks.NetworksBuilder()
-                .network(networkList).build();
-
-        // Adds the container into the module.
-        YmsIetfNetwork opParam = new YmsIetfNetworkOpParam
-                .YmsIetfNetworkBuilder()
-                .networks(contNetworks).build();
-        return opParam;
-    }
-
-    /**
-     * Processes a simple choice case and builds the YDT.
-     */
-    @Test
-    public void processSimpleChoiceCase() {
-
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-
-        // Creates a choice snack with the case late night.
-        YtbSnack lateNight = new DefaultYtbLateNight.YtbLateNightBuilder()
-                .chocolate(CHOC).build();
-
-        // Creates container food with the created case.
-        YtbFood food = new DefaultYtbFood.YtbFoodBuilder()
-                .ytbSnack(lateNight).build();
-
-        // Creates module with the container food.
-        YtbSimpleChoiceCase choiceCase = new YtbSimpleChoiceCaseOpParam
-                .YtbSimpleChoiceCaseBuilder().ytbFood(food).build();
-
-        // As YSB or YAB protocol, sets the value for YTB.
-        List<Object> objectList = new ArrayList<>();
-        objectList.add(choiceCase);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtExtendedBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                objectList, ROOT_NAME, ROOT_NAME_SPACE,
-                EDIT_CONFIG_REPLY, registry);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext rootNode = ydtBuilder.getRootNode();
-
-        // Gets the first module from logical root node.
-        YdtContext module = rootNode.getFirstChild();
-        assertThat(getInCrtName(MODULE, CHOICE_CASE), module.getName(),
-                   is(CHOICE_CASE));
-
-        // Gets the container food from module.
-        YdtContext container = module.getFirstChild();
-        assertThat(getInCrtName(CONTAINER, FOOD), container.getName(),
-                   is(FOOD));
-
-        // Gets the case-leaf from container
-        YdtContext caseNode = container.getFirstChild();
-        assertThat(getInCrtName(LEAF, CHOCOLATE), caseNode.getName(),
-                   is(CHOCOLATE));
-        assertThat(getInCrtLeafValue(CHOCOLATE, CHOC), caseNode.getValue(),
-                   is(CHOC));
-    }
-
-    /**
-     * Processes module with two choices and a choice having node and a
-     * leaf-list.
-     */
-    @Test
-    public void processChoiceWithNodeAndLeafList() {
-
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-
-        // Creates reproduce container for list predict-1.
-        Reproduce reproduce1 = new DefaultReproduce.ReproduceBuilder()
-                .yangAutoPrefixCatch((short) 90).build();
-
-        // Assigns predict-1 with the container.
-        Predict predict1 = new DefaultPredict.PredictBuilder()
-                .reproduce(reproduce1).build();
-
-        // Creates reproduce container for list predict-2.
-        Reproduce reproduce2 = new DefaultReproduce.ReproduceBuilder()
-                .yangAutoPrefixCatch((short) 100).build();
-
-        // Assigns predict-2 with the container.
-        Predict predict2 = new DefaultPredict.PredictBuilder()
-                .reproduce(reproduce2).build();
-
-        List<Predict> predictList = new ArrayList<>();
-        predictList.add(predict1);
-        predictList.add(predict2);
-
-        // Case container is added to the choice content-test.
-        ChoiceContainer containerCase = new org.onosproject.yang.gen.v1.yms
-                .test.ytb.choice.with.container.and.leaf.list.rev20160826
-                .ytbchoicewithcontainerandleaflist.contenttest.choicecontainer
-                .DefaultChoiceContainer.ChoiceContainerBuilder()
-                .predict(predictList).build();
-
-        // Case container is added to the choice content-test.
-        ContentTest contentTest = new DefaultChoiceContainer
-                .ChoiceContainerBuilder().choiceContainer(containerCase).build();
-
-        // Creates string list for leaf-list final.
-        List<String> stringList = new ArrayList<>();
-        stringList.add(VAL);
-        stringList.add(IND);
-
-        // For choice current value, the leaf list gets added as case.
-        CurrentValue currentValue = new DefaultYtbAbsent.YtbAbsentBuilder()
-                .yangAutoPrefixFinal(stringList).build();
-
-        // Adds choice as child to the module.
-        YtbChoiceWithContainerAndLeafList choiceWithContainerAndLeafList =
-                new YtbChoiceWithContainerAndLeafListOpParam
-                        .YtbChoiceWithContainerAndLeafListBuilder()
-                        .contentTest(contentTest).currentValue(currentValue)
-                        .build();
-
-        // As YSB or YAB protocol, sets the value for YTB.
-        List<Object> objectList = new ArrayList<>();
-        objectList.add(choiceWithContainerAndLeafList);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtExtendedBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                objectList, CHOICE_ROOT_NAME, CHOICE_ROOT_NAMESPACE,
-                QUERY_CONFIG_REPLY, registry);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-        assertThat(getInCrtName(ROOT, CHOICE_ROOT_NAME), context.getName(),
-                   is(CHOICE_ROOT_NAME));
-        assertThat(getInCrtName(ROOT, CHOICE_ROOT_NAMESPACE), context.getNamespace(),
-                   is(CHOICE_ROOT_NAMESPACE));
-
-        // Gets the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        assertThat(getInCrtName(MODULE, CHOICE_CONT), module.getName(),
-                   is(CHOICE_CONT));
-
-        // Gets the first choice content under the module, as container.
-        YdtContext choice1 = module.getFirstChild();
-        assertThat(getInCrtName(CONTAINER, CONT_CHOICE), choice1.getName(),
-                   is(CONT_CHOICE));
-
-        // Gets the first content in the list predict.
-        YdtContext list1 = choice1.getFirstChild();
-        assertThat(getInCrtName(LIST, PREDICT), list1.getName(), is(PREDICT));
-
-        // Gets the container and its child leaf in the list predict.
-        YdtContext container1 = list1.getFirstChild();
-        assertThat(getInCrtName(CONTAINER, REPRODUCE), container1.getName(),
-                   is(REPRODUCE));
-        YdtContext leaf1 = container1.getFirstChild();
-        assertThat(getInCrtName(LEAF, CATCH), leaf1.getName(), is(CATCH));
-        assertThat(getInCrtLeafValue(CATCH, NINETY), leaf1.getValue(),
-                   is(NINETY));
-
-        // Gets the second content in the list predict.
-        YdtContext list2 = list1.getNextSibling();
-        assertThat(getInCrtName(LIST, PREDICT), list2.getName(), is(PREDICT));
-
-        // Gets the container and its child leaf in the list predict.
-        YdtContext container2 = list2.getFirstChild();
-        assertThat(getInCrtName(CONTAINER, REPRODUCE), container2.getName(),
-                   is(REPRODUCE));
-        YdtContext leaf2 = container2.getFirstChild();
-        assertThat(getInCrtName(LEAF, CATCH), leaf2.getName(), is(CATCH));
-        assertThat(getInCrtLeafValue(CATCH, HUNDRED), leaf2.getValue(),
-                   is(HUNDRED));
-
-        // Gets the second choice content under the module, as leaf-list.
-        YdtContext choice2 = choice1.getNextSibling();
-        assertThat(getInCrtName(LEAF_LIST, FINAL), choice2.getName(),
-                   is(FINAL));
-        Set value2 = choice2.getValueSet();
-        assertThat(getInCrtLeafListValue(FINAL, VAL), value2.contains(VAL),
-                   is(true));
-        assertThat(getInCrtLeafListValue(FINAL, IND), value2.contains(IND),
-                   is(true));
-    }
-
-    /**
-     * Processes RPC response of a simple output with only a leaf content
-     * inside.
-     */
-    @Test
-    public void processSimpleRpcResponse() {
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-        RpcOutput output = new DefaultRpcOutput.RpcOutputBuilder()
-                .outputLeaf(500).build();
-
-        // Creates request work bench of rpc.
-        YangRequestWorkBench workBench = new YangRequestWorkBench(
-                RPC_RT_NAME, RPC_RT_NAMESPACE, RPC_REQUEST, registry, true);
-        workBench.addChild(RPC_NAME, null, NONE);
-        workBench.addChild(RPC, null, NONE);
-        workBench.addChild(INPUT, null, NONE);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtExtendedBuilder ydtBuilder = treeBuilder.getYdtForRpcResponse(
-                output, workBench);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-        assertThat(getInCrtName(ROOT, RPC_RT_NAME), context.getName(),
-                   is(RPC_RT_NAME));
-        assertThat(getInCrtName(ROOT, RPC_RT_NAMESPACE), context.getNamespace(),
-                   is(RPC_RT_NAMESPACE));
-
-        // Gets the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        assertThat(getInCrtName(MODULE, RPC_NAME), module.getName(),
-                   is(RPC_NAME));
-
-        // Gets the rpc node from the module.
-        YdtContext rpc = module.getFirstChild();
-        assertThat(getInCrtName(RPC, RPC), rpc.getName(), is(RPC));
-
-        // Gets the output node from the module.
-        // TODO: Change assert after YANG utils is merged.
-        YdtContext rpcOutput = rpc.getFirstChild();
-        //assertThat(rpcOutputNode.getName(), is("output"));
-
-        YdtContext outputLeaf = rpcOutput.getFirstChild();
-        assertThat(getInCrtName(LEAF, OUTPUT_LEAF), outputLeaf.getName(),
-                   is(OUTPUT_LEAF));
-        assertThat(getInCrtLeafValue(OUTPUT_LEAF, FIVE_HUNDRED),
-                   outputLeaf.getValue(), is(FIVE_HUNDRED));
-    }
-
-    /**
-     * Processes RPC response of an output defined with list.
-     */
-    @Test
-    public void processRpcResponseForAdvInputOutput() {
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-        List<OutputList> list = createApplicationBuiltObjectForRpc();
-        ActivateSoftwareImageOutput output =
-                new DefaultActivateSoftwareImageOutput
-                        .ActivateSoftwareImageOutputBuilder()
-                        .outputList(list).build();
-
-        // Creates request work bench of rpc.
-        YangRequestWorkBench workBench = buildYangRequestWorkBenchForRpc(
-                registry);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtExtendedBuilder ydtBuilder = treeBuilder.getYdtForRpcResponse(
-                output, workBench);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-        assertThat(getInCrtName(ROOT, RPC_ADV_NAME), context.getName(),
-                   is(RPC_ADV_NAME));
-        assertThat(getInCrtName(ROOT, RPC_ADV_NAMESPACE), context.getNamespace(),
-                   is(RPC_ADV_NAMESPACE));
-
-        // Gets the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        assertThat(getInCrtName(MODULE, RPC_ADV_IO), module.getName(),
-                   is(RPC_ADV_IO));
-
-        // Gets the rpc node from module.
-        YdtContext rpc = module.getFirstChild();
-        assertThat(getInCrtName(RPC, ACT_IMG), rpc.getName(), is(ACT_IMG));
-
-        // Gets the output node from the module.
-        // TODO: Change assert after YANG utils is merged.
-        YdtContext rpcOutput = rpc.getFirstChild();
-        //assertThat(rpcOutputNode.getName(), is("output"));
-
-        // Gets the list content 1 as the node from output.
-        YdtContext outputList1 = rpcOutput.getFirstChild();
-        assertThat(getInCrtName(LIST, OUTPUT_LIST), outputList1.getName(),
-                   is(OUTPUT_LIST));
-
-        // Gets the leaf key-list from list content1.
-        YdtContext keyList1 = outputList1.getFirstChild();
-        assertThat(getInCrtName(LEAF, LIST_KEY), keyList1.getName(),
-                   is(LIST_KEY));
-        assertThat(getInCrtLeafValue(LIST_KEY, BIN_VAL_1), keyList1.getValue(),
-                   is(BIN_VAL_1));
-
-        // Gets the content inside container from list content 1.
-        YdtContext cont1 = keyList1.getNextSibling();
-        assertThat(getInCrtName(CONTAINER, CONT_INSIDE), cont1.getName(),
-                   is(CONT_INSIDE));
-
-        // Gets the list content 2 as the node from output.
-        YdtContext outputList2 = outputList1.getNextSibling();
-        assertThat(getInCrtName(LIST, OUTPUT_LIST), outputList2.getName(),
-                   is(OUTPUT_LIST));
-
-        // Gets the leaf-list key-list from list content2.
-        YdtContext keyList2 = outputList2.getFirstChild();
-        assertThat(getInCrtName(LEAF, LIST_KEY), keyList2.getName(),
-                   is(LIST_KEY));
-        assertThat(getInCrtLeafValue(LIST_KEY, BIN_VAL_2), keyList2.getValue(),
-                   is(BIN_VAL_2));
-
-        // Gets the content inside container from list content 2.
-        YdtContext cont2 = keyList2.getNextSibling();
-        assertThat(getInCrtName(CONTAINER, CONT_INSIDE), cont2.getName(),
-                   is(CONT_INSIDE));
-
-        // Gets the leaf-list available inside container.
-        YdtContext availLeafList = cont2.getFirstChild();
-        assertThat(getInCrtName(LEAF_LIST, AVAILABLE), availLeafList.getName(),
-                   is(AVAILABLE));
-        Set value1 = availLeafList.getValueSet();
-        assertThat(getInCrtLeafListValue(AVAILABLE, EIGHTY_NINE),
-                   value1.contains(EIGHTY_NINE), is(true));
-        assertThat(getInCrtLeafListValue(AVAILABLE, NINETY_EIGHT),
-                   value1.contains(NINETY_EIGHT), is(true));
-
-        // Gets the list content 3.
-        YdtContext outputList3 = outputList2.getNextSibling();
-        assertThat(getInCrtName(LIST, OUTPUT_LIST), outputList3.getName(),
-                   is(OUTPUT_LIST));
-
-        // Gets the leaf list-key in content 3 of list.
-        YdtContext keyList3 = outputList3.getFirstChild();
-        assertThat(getInCrtName(LEAF, LIST_KEY), keyList3.getName(),
-                   is(LIST_KEY));
-        assertThat(getInCrtLeafValue(LIST_KEY, BIN_VAL_3), keyList3.getValue(),
-                   is(BIN_VAL_3));
-    }
-
-    /**
-     * Processes simple self augment file with leaf and container inside
-     * augment.
-     */
-    @Test
-    public void processSimpleAugment() {
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-
-        // Creates container cont1s with the leaf.
-        org.onosproject.yang.gen.v1.yms.test.ytb.simple.augment.rev20160826
-                .ytbsimpleaugment.cont1.cont2.augmentedcont2.cont1s
-                .Cont1s cont1s1 = new org.onosproject.yang.gen.v1.yms.test
-                .ytb.simple.augment.rev20160826.ytbsimpleaugment.cont1.cont2
-                .augmentedcont2.cont1s.DefaultCont1s.Cont1sBuilder().build();
-
-        // Appends the created container into another container.
-        Cont1s cont1s = new DefaultCont1s.Cont1sBuilder()
-                .cont1s(cont1s1).build();
-
-        // Creates augment with the container and leaf.
-        AugmentedCont2 augment = new DefaultAugmentedCont2
-                .AugmentedCont2Builder().cont1s(cont1s).leaf4(500).build();
-
-        // Creates for the node which will be getting augmented.
-        // Creates cont2 where content will be augmented into.
-        DefaultCont2.Cont2Builder augCont2 = new DefaultCont2
-                .Cont2Builder();
-        augCont2.addYangAugmentedInfo(augment, AugmentedCont2.class);
-
-        // Creates cont1 where cont2 is added.
-        Cont1 cont1 = new DefaultCont1.Cont1Builder()
-                .cont2(augCont2.build()).build();
-
-        // Creates module with the nodes inside.
-        YtbSimpleAugment simpleAugment = new YtbSimpleAugmentOpParam
-                .YtbSimpleAugmentBuilder().cont1(cont1).build();
-
-        // As YSB or YAB protocol, sets the value for YTB.
-        List<Object> objectList = new ArrayList<>();
-        objectList.add(simpleAugment);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtExtendedBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                objectList, SIM_AUG, SIM_AUG_NAMESPACE,
-                EDIT_CONFIG_REQUEST, registry);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-        assertThat(getInCrtName(ROOT, SIM_AUG), context.getName(), is(SIM_AUG));
-        assertThat(getInCrtName(ROOT, SIM_AUG_NAMESPACE),
-                   context.getNamespace(), is(SIM_AUG_NAMESPACE));
-
-        // Gets the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        assertThat(getInCrtName(MODULE, SIMPLE_AUG), module.getName(),
-                   is(SIMPLE_AUG));
-
-        // Gets the cont1 under module.
-        YdtContext container1 = module.getFirstChild();
-        assertThat(getInCrtName(CONTAINER, CONT1), container1.getName(),
-                   is(CONT1));
-
-        // Gets the cont2 under cont1.
-        YdtContext container2 = container1.getFirstChild();
-        assertThat(getInCrtName(CONTAINER, CONT2), container2.getName(),
-                   is(CONT2));
-
-        // Gets the leaf4 which was augmented under cont2.
-        YdtContext leaf4 = container2.getFirstChild();
-        assertThat(getInCrtName(LEAF, LEAF4), leaf4.getName(), is(LEAF4));
-        assertThat(getInCrtLeafValue(LEAF4, FIVE_HUNDRED), leaf4.getValue(),
-                   is(FIVE_HUNDRED));
-
-        // Gets the cont1s which was augmented under cont2.
-        YdtContext container1s = leaf4.getNextSibling();
-        assertThat(getInCrtName(CONTAINER, CONT1S), container1s.getName(),
-                   is(CONT1S));
-
-        // Gets the cont2s which was augmented under cont1s.
-        YdtContext container2s = container1s.getFirstChild();
-        assertThat(getInCrtName(CONTAINER, CONT1S), container2s.getName(),
-                   is(CONT1S));
-    }
-
-    /**
-     * Processes inter file augment with augmented node as list and the
-     * augment having list.
-     */
-    @Test
-    public void processInterFileAugment() {
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-        Object opParam = createObjectForInterFileAugment();
-
-        // As YSB or YAB protocol, sets the value for YTB.
-        List<Object> objectList = new ArrayList<>();
-        objectList.add(opParam);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtExtendedBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                objectList, INTER_AUG, INTER_AUG_NAMESPACE,
-                EDIT_CONFIG_REQUEST, registry);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-        assertThat(getInCrtName(ROOT, INTER_AUG), context.getName(),
-                   is(INTER_AUG));
-        assertThat(getInCrtName(ROOT, INTER_AUG_NAMESPACE), context.getNamespace(),
-                   is(INTER_AUG_NAMESPACE));
-
-        // Checks the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        assertThat(getInCrtName(MODULE, IETF_NW), module.getName(),
-                   is(IETF_NW));
-
-        // Checks the container networks from module.
-        YdtContext nwksCont = module.getFirstChild();
-        assertThat(getInCrtName(CONTAINER, NWS), nwksCont.getName(), is(NWS));
-
-        // Checks the list network from container networks.
-        YdtContext nwrkList = nwksCont.getFirstChild();
-        assertThat(getInCrtName(LIST, NW), nwrkList.getName(), is(NW));
-
-        // Checks the node list content 1 under network list.
-        YdtContext node1 = nwrkList.getFirstChild();
-        assertThat(getInCrtName(LIST, NODE), node1.getName(), is(NODE));
-
-        // Checks the node-id leaf for list content 1.
-        YdtContext nodeId1 = node1.getFirstChild();
-        assertThat(getInCrtName(LEAF, NODE_ID), nodeId1.getName(), is(NODE_ID));
-        assertThat(getInCrtLeafValue(NODE_ID, NODE_REF_3), nodeId1.getValue(),
-                   is(NODE_REF_3));
-
-        // Checks termination list 1 under node 1, from augment.
-        YdtContext terList1 = nodeId1.getNextSibling();
-        assertThat(getInCrtName(LIST, TERM_POINT), terList1.getName(),
-                   is(TERM_POINT));
-
-        // Checks tp-id leaf from termination list content 1.
-        YdtContext tpId1 = terList1.getFirstChild();
-        assertThat(getInCrtName(LEAF, TP_ID), tpId1.getName(), is(TP_ID));
-        assertThat(getInCrtLeafValue(TP_ID, AUG_TP_ID_1), tpId1.getValue(),
-                   is(AUG_TP_ID_1));
-
-        // Checks supporting term point list content1 from term list content 1.
-        YdtContext supTerm1 = tpId1.getNextSibling();
-        assertThat(getInCrtName(LIST, SUP_TERM_POINT), supTerm1.getName(),
-                   is(SUP_TERM_POINT));
-
-        YdtContext nwkRefSupTerm1 = supTerm1.getFirstChild();
-        assertThat(getInCrtName(LEAF, NW_REF), nwkRefSupTerm1.getName(),
-                   is(NW_REF));
-        assertThat(getInCrtLeafValue(NW_REF, AUG_NW_REF_1),
-                   nwkRefSupTerm1.getValue(), is(AUG_NW_REF_1));
-
-        YdtContext nodeRefSupTerm1 = nwkRefSupTerm1.getNextSibling();
-        assertThat(getInCrtName(LEAF, NODE_REF), nodeRefSupTerm1.getName(),
-                   is(NODE_REF));
-        assertThat(getInCrtLeafValue(NODE_REF, AUG_NODE_REF_1),
-                   nodeRefSupTerm1.getValue(), is(AUG_NODE_REF_1));
-
-        YdtContext tpRefSupTerm1 = nodeRefSupTerm1.getNextSibling();
-        assertThat(getInCrtName(LEAF, TP_REF), tpRefSupTerm1.getName(),
-                   is(TP_REF));
-        assertThat(getInCrtLeafValue(TP_REF, AUG_TP_REF_1),
-                   tpRefSupTerm1.getValue(), is(AUG_TP_REF_1));
-
-        // Checks termination list 2 under node 1, from augment.
-        YdtContext terminationList2 = terList1.getNextSibling();
-        assertThat(getInCrtName(LIST, TERM_POINT), terminationList2.getName(),
-                   is(TERM_POINT));
-
-        YdtContext terList2 = terminationList2.getFirstChild();
-        assertThat(getInCrtName(LEAF, TP_ID), terList2.getName(), is(TP_ID));
-        assertThat(getInCrtLeafValue(TP_ID, AUG_TP_ID_B1), terList2.getValue(),
-                   is(AUG_TP_ID_B1));
-
-        // Checks supporting term point list content1 from term list content 2.
-        YdtContext supTerm2 = terList2.getNextSibling();
-        assertThat(getInCrtName(LIST, SUP_TERM_POINT), supTerm2.getName(),
-                   is(SUP_TERM_POINT));
-
-        YdtContext nwkRefSupTerm2 = supTerm2.getFirstChild();
-        assertThat(getInCrtName(LEAF, NW_REF), nwkRefSupTerm2.getName(),
-                   is(NW_REF));
-        assertThat(getInCrtLeafValue(NW_REF, AUG_NW_REF_B1),
-                   nwkRefSupTerm2.getValue(), is(AUG_NW_REF_B1));
-
-        YdtContext nodeRefSupTerm2 = nwkRefSupTerm2.getNextSibling();
-        assertThat(getInCrtName(LEAF, NODE_REF), nodeRefSupTerm2.getName(),
-                   is(NODE_REF));
-        assertThat(getInCrtLeafValue(NODE_REF, AUG_NODE_REF_B1),
-                   nodeRefSupTerm2.getValue(), is(AUG_NODE_REF_B1));
-
-        YdtContext tpRefSupTerm2 = nodeRefSupTerm2.getNextSibling();
-        assertThat(getInCrtName(LEAF, TP_REF), tpRefSupTerm2.getName(),
-                   is(TP_REF));
-        assertThat(getInCrtLeafValue(TP_REF, AUG_TP_REF_B1),
-                   tpRefSupTerm2.getValue(), is(AUG_TP_REF_B1));
-
-        // Checks the content of the supporting node list content 1 in node 1.
-        YdtContext supNode1 = terminationList2.getNextSibling();
-        assertThat(getInCrtName(LIST, SUP_NODE), supNode1.getName(),
-                   is(SUP_NODE));
-
-        YdtContext nwkRefSupNode1 = supNode1.getFirstChild();
-        assertThat(getInCrtName(LEAF, NW_REF), nwkRefSupNode1.getName(),
-                   is(NW_REF));
-        assertThat(getInCrtLeafValue(NW_REF, NW_REF), nwkRefSupNode1.getValue(),
-                   is(NW_REF));
-
-        YdtContext nodeRefSupNode1 = nwkRefSupNode1.getNextSibling();
-        assertThat(getInCrtName(LEAF, NODE_REF), nodeRefSupNode1.getName(),
-                   is(NODE_REF));
-        assertThat(getInCrtLeafValue(NODE_REF, NW_REF),
-                   nwkRefSupNode1.getValue(), is(NW_REF));
-
-        // Checks the content of the supporting node list content 2 in node 1.
-        YdtContext supNode2 = supNode1.getNextSibling();
-        assertThat(getInCrtName(LIST, SUP_NODE), supNode2.getName(),
-                   is(SUP_NODE));
-
-        YdtContext nwkRefSupNode2 = supNode2.getFirstChild();
-        assertThat(getInCrtName(LEAF, NW_REF), nwkRefSupNode2.getName(),
-                   is(NW_REF));
-        assertThat(getInCrtLeafValue(NW_REF, NW_REF_2),
-                   nwkRefSupNode2.getValue(), is(NW_REF_2));
-
-        YdtContext nodeRefSupNode2 = nwkRefSupNode2.getNextSibling();
-        assertThat(getInCrtName(LEAF, NODE_REF), nodeRefSupNode2.getName(),
-                   is(NODE_REF));
-        assertThat(getInCrtLeafValue(NODE_REF, NW_REF_2),
-                   nwkRefSupNode2.getValue(), is(NW_REF_2));
-
-        // Checks the node list content 2 under network list.
-        YdtContext node2 = node1.getNextSibling();
-        assertThat(getInCrtName(LIST, NODE), node2.getName(), is(NODE));
-
-        // Checks the node-id leaf for list content 2.
-        YdtContext nodeId2 = node2.getFirstChild();
-        assertThat(getInCrtName(LEAF, NODE_ID), nodeId2.getName(), is(NODE_ID));
-        assertThat(getInCrtLeafValue(NODE_ID, NODE_REF_3B), nodeId2.getValue(),
-                   is(NODE_REF_3B));
-
-        // Checks supporting term point list content1 from term list content 2.
-        YdtContext supNode3 = nodeId2.getNextSibling();
-        assertThat(getInCrtName(LIST, SUP_NODE), supNode3.getName(),
-                   is(SUP_NODE));
-
-        YdtContext nwkRefSupNode3 = supNode3.getFirstChild();
-        assertThat(getInCrtName(LEAF, NW_REF), nwkRefSupNode3.getName(),
-                   is(NW_REF));
-        assertThat(getInCrtLeafValue(NW_REF, NW_REF_B),
-                   nwkRefSupNode3.getValue(), is(NW_REF_B));
-
-        YdtContext nodeRefSupNode3 = nwkRefSupNode3.getNextSibling();
-        assertThat(getInCrtName(LEAF, NODE_REF), nodeRefSupNode3.getName(),
-                   is(NODE_REF));
-        assertThat(getInCrtLeafValue(NODE_REF, NODE_REF_B),
-                   nodeRefSupNode3.getValue(), is(NODE_REF_B));
-
-        // Checks supporting term point list content2 from term list content 2.
-        YdtContext supNode4 = supNode3.getNextSibling();
-        assertThat(getInCrtName(LIST, SUP_NODE), supNode4.getName(),
-                   is(SUP_NODE));
-
-        YdtContext nwkRefSupNode4 = supNode4.getFirstChild();
-        assertThat(getInCrtName(LEAF, NW_REF), nwkRefSupNode4.getName(),
-                   is(NW_REF));
-        assertThat(getInCrtLeafValue(NW_REF, NW_REF_2B),
-                   nwkRefSupNode4.getValue(), is(NW_REF_2B));
-
-        YdtContext nodeRefSupNode4 = nwkRefSupNode4.getNextSibling();
-        assertThat(getInCrtName(LEAF, NODE_REF), nodeRefSupNode4.getName(),
-                   is(NODE_REF));
-        assertThat(getInCrtLeafValue(NODE_REF, NODE_REF_2B),
-                   nodeRefSupNode4.getValue(), is(NODE_REF_2B));
-    }
-
-    /**
-     * Processes inter file augment with rpc output as its target node.
-     */
-    @Test
-    public void processInterFileAugmentWithRpcInputAsTarget() {
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // Builds RPC request tree in YDT.
-        YangRequestWorkBench workBench =
-                buildYangRequestWorkBenchForRpc(registry);
-
-        // Creates augment code object.
-
-        // Creates the list of value in, case value in.
-        ValueIn valuein1 = new org.onosproject.yang.gen.v1.yms.test.ytb.augment
-                .yangautoprefixfor.rpc.input.rev20160826.ytbaugmentforrpcinput
-                .activatesoftwareimage.output.augmentedrpcoutput.selection
-                .valuein.DefaultValueIn.ValueInBuilder().kinetic(KIN1)
-                .build();
-        ValueIn valuein2 = new org.onosproject.yang.gen.v1.yms.test.ytb.augment
-                .yangautoprefixfor.rpc.input.rev20160826.ytbaugmentforrpcinput
-                .activatesoftwareimage.output.augmentedrpcoutput.selection
-                .valuein.DefaultValueIn.ValueInBuilder().kinetic(KIN2)
-                .build();
-
-        List<ValueIn> valueInList = new ArrayList<>();
-        valueInList.add(valuein1);
-        valueInList.add(valuein2);
-
-        // Adds the case value into the choice interface.
-        Selection selection = new DefaultValueIn.ValueInBuilder()
-                .valueIn(valueInList).build();
-
-        // Augment is created for the object.
-        AugmentedRpcOutput augmentRpcOutput = new DefaultAugmentedRpcOutput
-                .AugmentedRpcOutputBuilder().selection(selection).build();
-
-        // Create two list object of friction.
-        Friction friction1 = new DefaultFriction.FrictionBuilder()
-                .speed(BigInteger.valueOf(500)).build();
-        Friction friction2 = new DefaultFriction.FrictionBuilder()
-                .speed(BigInteger.valueOf(1000)).build();
-
-        List<Friction> fricList = new ArrayList<>();
-        fricList.add(friction1);
-        fricList.add(friction2);
-
-        // Create augment with the friction object created.
-        AugmentedInputOutput augmentedIO = new DefaultAugmentedInputOutput
-                .AugmentedInputOutputBuilder().friction(fricList).build();
-
-        // Creates RPC object.
-        List<OutputList> outputLists = createApplicationBuiltObjectForRpc();
-
-        // Adds the augment and the rps output values into the output.
-        DefaultActivateSoftwareImageOutput
-                .ActivateSoftwareImageOutputBuilder output =
-                new DefaultActivateSoftwareImageOutput
-                        .ActivateSoftwareImageOutputBuilder();
-        output.addYangAugmentedInfo(augmentRpcOutput, AugmentedRpcOutput.class);
-        output.addYangAugmentedInfo(augmentedIO, AugmentedInputOutput.class);
-        output.outputList(outputLists);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtExtendedBuilder ydtBuilder = treeBuilder.getYdtForRpcResponse(
-                output, workBench);
-
-        // Receives YDT context and check the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-        assertThat(getInCrtName(ROOT, RPC_ADV_NAME), context.getName(),
-                   is(RPC_ADV_NAME));
-        assertThat(getInCrtName(ROOT, RPC_ADV_NAMESPACE),
-                   context.getNamespace(), is(RPC_ADV_NAMESPACE));
-
-        // Checks the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        assertThat(getInCrtName(MODULE, RPC_ADV_IO), module.getName(),
-                   is(RPC_ADV_IO));
-
-        // Gets the rpc under module.
-        YdtContext rpc = module.getFirstChild();
-        assertThat(getInCrtName(RPC, ACT_IMG), rpc.getName(), is(ACT_IMG));
-
-        // Gets the output value under rpc.
-        // TODO: Change assert after YANG utils is merged.
-        YdtContext rpcOutputNode = rpc.getFirstChild();
-        //assertThat(rpcOutputNode.getName(), is("output"));
-
-        YdtContext firstNode = rpcOutputNode.getFirstChild();
-        assertThat(firstNode, notNullValue());
-
-        YdtContext secondNode = firstNode.getNextSibling();
-        assertThat(secondNode, notNullValue());
-
-        YdtContext thirdNode = secondNode.getNextSibling();
-        assertThat(thirdNode, notNullValue());
-
-        YdtContext fourthNode = thirdNode.getNextSibling();
-        assertThat(fourthNode, notNullValue());
-
-        // Gets the list content 1 as the node from output.
-        YdtContext outputList1 = fourthNode.getNextSibling();
-        assertThat(getInCrtName(LIST, OUTPUT_LIST), outputList1.getName(),
-                   is(OUTPUT_LIST));
-
-        // Gets the leaf key-list from list content1.
-        YdtContext keyList1 = outputList1.getFirstChild();
-        assertThat(getInCrtName(LEAF, LIST_KEY), keyList1.getName(),
-                   is(LIST_KEY));
-        assertThat(getInCrtLeafValue(LIST_KEY, BIN_VAL_1), keyList1.getValue(),
-                   is(BIN_VAL_1));
-
-        // Gets the content inside container from list content 1.
-        YdtContext cont1 = keyList1.getNextSibling();
-        assertThat(getInCrtName(CONTAINER, CONT_INSIDE), cont1.getName(),
-                   is(CONT_INSIDE));
-
-        // Gets the list content 2 as the node from output.
-        YdtContext outputList2 = outputList1.getNextSibling();
-        assertThat(getInCrtName(LIST, OUTPUT_LIST), outputList2.getName(),
-                   is(OUTPUT_LIST));
-
-        // Gets the leaf-list key-list from list content2.
-        YdtContext keyList2 = outputList2.getFirstChild();
-        assertThat(getInCrtName(LEAF, LIST_KEY), keyList2.getName(),
-                   is(LIST_KEY));
-        assertThat(getInCrtLeafValue(LIST_KEY, BIN_VAL_2), keyList2.getValue(),
-                   is(BIN_VAL_2));
-
-        // Gets the content inside container from list content 2.
-        YdtContext cont2 = keyList2.getNextSibling();
-        assertThat(getInCrtName(CONTAINER, CONT_INSIDE), cont2.getName(),
-                   is(CONT_INSIDE));
-
-        // Gets the leaf-list available inside container.
-        YdtContext availLeafList = cont2.getFirstChild();
-        assertThat(getInCrtName(LEAF_LIST, AVAILABLE), availLeafList.getName(),
-                   is(AVAILABLE));
-        Set value1 = availLeafList.getValueSet();
-        assertThat(getInCrtLeafListValue(AVAILABLE, EIGHTY_NINE),
-                   value1.contains(EIGHTY_NINE), is(true));
-        assertThat(getInCrtLeafListValue(AVAILABLE, NINETY_EIGHT),
-                   value1.contains(NINETY_EIGHT), is(true));
-
-        // Gets the list content 3.
-        YdtContext outputList3 = outputList2.getNextSibling();
-        assertThat(getInCrtName(LIST, OUTPUT_LIST), outputList3.getName(),
-                   is(OUTPUT_LIST));
-
-        // Gets the leaf list-key in content 3 of list.
-        YdtContext keyList3 = outputList3.getFirstChild();
-        assertThat(getInCrtName(LEAF, LIST_KEY), keyList3.getName(),
-                   is(LIST_KEY));
-        assertThat(getInCrtLeafValue(LIST_KEY, BIN_VAL_3), keyList3.getValue(),
-                   is(BIN_VAL_3));
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ytb/YtbErrMsgAndConstants.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ytb/YtbErrMsgAndConstants.java
deleted file mode 100644
index 572a4be..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ytb/YtbErrMsgAndConstants.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ytb;
-
-import org.onosproject.yms.app.ysr.TestYangSchemaNodeProvider;
-
-/**
- * Represents the abstract class for ytb test classes having common methods
- * and the constants.
- */
-public abstract class YtbErrMsgAndConstants {
-
-    /**
-     * Static attribute of root name.
-     */
-    public static final String ROOT_NAME = "rootName";
-
-    /**
-     * Static attribute of root name space.
-     */
-    public static final String ROOT_NAME_SPACE = "rootNameSpace";
-
-    /**
-     * Static attribute of module which is YANG name.
-     */
-    public static final String MODULE = "module";
-
-    /**
-     * Static attribute of list which is YANG name.
-     */
-    public static final String LIST = "list";
-
-    /**
-     * Static attribute of leaf which is YANG name.
-     */
-    public static final String LEAF = "leaf";
-
-    /**
-     * Static attribute of leaf-list which is YANG name.
-     */
-    public static final String LEAF_LIST = "leaf-list";
-
-    /**
-     * Static attribute of container which is YANG name.
-     */
-    public static final String CONTAINER = "container";
-
-    /**
-     * Static attribute of name predict.
-     */
-    public static final String PREDICT = "predict";
-
-    /**
-     * Static attribute of name catch.
-     */
-    public static final String CATCH = "catch";
-
-    /**
-     * Static attribute of YANG file name.
-     */
-    public static final String RPC_NAME = "YtbSimpleRpcResponse";
-
-    /**
-     * Static attribute of name rpc.
-     */
-    public static final String RPC = "rpc";
-
-    /**
-     * Created a schema node provider, which will register the app.
-     */
-    public TestYangSchemaNodeProvider schemaProvider =
-            new TestYangSchemaNodeProvider();
-
-    /**
-     * Returns the error message for when leaf value doesn't match with the
-     * expected value. It takes name of leaf and expected value as its
-     * parameter, to throw the message.
-     *
-     * @param name  leaf name
-     * @param value expected value of leaf
-     * @return error message of leaf value as incorrect
-     */
-    public static String getInCrtLeafValue(String name, String value) {
-        return "The value of leaf " + name + " is not " + value;
-    }
-
-    /**
-     * Returns the error message, when node name doesn't match with the
-     * expected value. It takes YANG name of the node and the node name as
-     * parameter, to throw the message.
-     *
-     * @param node     YANG node name
-     * @param nodeName node name
-     * @return error message as the node name is incorrect
-     */
-    public static String getInCrtName(String node, String nodeName) {
-        return getCapitalCase(node) + "'s name " + nodeName + " is incorrect.";
-    }
-
-    /**
-     * Returns the error message, when operation type doesn't match with the
-     * expected value. It takes YANG name of the node and the node name as
-     * parameter, to throw the message.
-     *
-     * @param node     YANG node name
-     * @param nodeName node name
-     * @return error message as the operation type is incorrect
-     */
-    public static String getInCrtOpType(String node, String nodeName) {
-        return "The operation type of " + node + " " + nodeName + " is " +
-                "incorrect";
-    }
-
-    /**
-     * Returns the error message for when leaf-list value doesn't match with the
-     * expected value. It takes name of leaf-list and expected value as its
-     * parameter, to throw the message.
-     *
-     * @param name  leaf-list name
-     * @param value value in leaf-list
-     * @return error message as the value in the leaf-list is incorrect
-     */
-    public static String getInCrtLeafListValue(String name, String value) {
-        return "The leaf-list " + name + " does not have " + value + " in it.";
-    }
-
-    /**
-     * Returns the capital cased first letter of the given string.
-     *
-     * @param name string to be capital cased
-     * @return capital cased string
-     */
-    private static String getCapitalCase(String name) {
-        return name.substring(0, 1).toUpperCase() + name.substring(1);
-    }
-}
diff --git a/apps/yms/app/src/test/java/org/onosproject/yms/app/ytb/YtbInvalidNodeSkipTest.java b/apps/yms/app/src/test/java/org/onosproject/yms/app/ytb/YtbInvalidNodeSkipTest.java
deleted file mode 100644
index 019d958..0000000
--- a/apps/yms/app/src/test/java/org/onosproject/yms/app/ytb/YtbInvalidNodeSkipTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ytb;
-
-import org.junit.Test;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.rpc.response.rev20160826.YtbSimpleRpcResponse;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.rpc.response.rev20160826.YtbSimpleRpcResponseOpParam;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.rpc.response.rev20160826.ytbsimplerpcresponse.Cumulative;
-import org.onosproject.yang.gen.v1.yms.test.ytb.simple.rpc.response.rev20160826.ytbsimplerpcresponse.DefaultCumulative;
-import org.onosproject.yms.app.ydt.YdtExtendedBuilder;
-import org.onosproject.yms.app.ysr.DefaultYangSchemaRegistry;
-import org.onosproject.yms.ydt.YdtContext;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.core.Is.is;
-import static org.onosproject.yms.ydt.YmsOperationType.EDIT_CONFIG_REQUEST;
-
-/**
- * Unit test cases for invalid node skip in YANG tree builder.
- */
-public class YtbInvalidNodeSkipTest extends YtbErrMsgAndConstants {
-
-    private static final String CUMULATIVE = "cumulative";
-    private static final String SUM = "sum";
-    private static final String FIVE = "5";
-    private static final String TEN = "10";
-
-    /**
-     * Processes RPC node which is the sibling to the empty current node.
-     */
-    @Test
-    public void processRpcSiblingWhenNodeIsEmpty() {
-
-        schemaProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry registry = schemaProvider
-                .getDefaultYangSchemaRegistry();
-
-        // As an application, creates the object.
-        Cumulative cumulative1 = new DefaultCumulative.CumulativeBuilder()
-                .sum((byte) 5).build();
-        Cumulative cumulative2 = new DefaultCumulative.CumulativeBuilder()
-                .sum((byte) 10).build();
-        List<Cumulative> list = new ArrayList<>();
-        list.add(cumulative1);
-        list.add(cumulative2);
-        YtbSimpleRpcResponse rpc = new YtbSimpleRpcResponseOpParam
-                .YtbSimpleRpcResponseBuilder().cumulative(list).build();
-
-        // As YSB or YAB protocol sets the value for YTB.
-        List<Object> objectList = new ArrayList<>();
-        objectList.add(rpc);
-
-        // Builds YANG tree in YTB.
-        DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
-        YdtExtendedBuilder ydtBuilder = treeBuilder.getYdtBuilderForYo(
-                objectList, ROOT_NAME, ROOT_NAME_SPACE,
-                EDIT_CONFIG_REQUEST, registry);
-
-        // Receives YDT context and checks the tree that is built.
-        YdtContext context = ydtBuilder.getRootNode();
-
-        // Gets the first module from logical root node.
-        YdtContext module = context.getFirstChild();
-        assertThat(getInCrtName(MODULE, RPC_NAME), module.getName(),
-                   is(RPC_NAME));
-
-        // Gets the first list content of cumulative.
-        YdtContext list1 = module.getFirstChild();
-        assertThat(getInCrtName(LIST, CUMULATIVE), list1.getName(),
-                   is(CUMULATIVE));
-
-        YdtContext sum1 = list1.getFirstChild();
-        assertThat(getInCrtName(LEAF, SUM), sum1.getName(), is(SUM));
-        assertThat(getInCrtLeafValue(SUM, FIVE), sum1.getValue(), is(FIVE));
-
-        // Gets the second list content of cumulative.
-        YdtContext list2 = list1.getNextSibling();
-        assertThat(getInCrtName(LIST, CUMULATIVE), list2.getName(),
-                   is(CUMULATIVE));
-
-        YdtContext sum2 = list2.getFirstChild();
-        assertThat(getInCrtName(LEAF, SUM), sum2.getName(), is(SUM));
-        assertThat(getInCrtLeafValue(SUM, TEN), sum2.getValue(), is(TEN));
-    }
-
-
-}
diff --git a/apps/yms/app/src/test/resources/YobTestYangFiles/ip-topology.yang b/apps/yms/app/src/test/resources/YobTestYangFiles/ip-topology.yang
deleted file mode 100644
index ca117b7..0000000
--- a/apps/yms/app/src/test/resources/YobTestYangFiles/ip-topology.yang
+++ /dev/null
@@ -1,29 +0,0 @@
-
-module yms-ip-topology {
-    yang-version 1;
-    namespace urn:ip:topo;
-    prefix ip-topo;
-    import yms-topology {
-       prefix topo;
-       revision-date "2014-01-01";
-    }
-    revision 2014-01-01 {
-        description "desc";
-        reference "ref";
-    }
-
-    augment /topo:node{
-        leaf router-id {
-            type string;
-        }
-        leaf router-ip {
-            type string;
-        }
-    }
-
-    augment /topo:node/topo:termination-points/topo:termination-point {
-        leaf ip-address {
-            type string;
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/YobTestYangFiles/topology.yang b/apps/yms/app/src/test/resources/YobTestYangFiles/topology.yang
deleted file mode 100644
index 62c0279..0000000
--- a/apps/yms/app/src/test/resources/YobTestYangFiles/topology.yang
+++ /dev/null
@@ -1,74 +0,0 @@
-
-module yms-topology {
-    yang-version 1;
-    namespace urn:topo;
-    prefix topo;
-    revision 2014-01-01 {
-        description "desc";
-        reference "ref";
-    }
-    list node {
-        key "node-id";
-        leaf node-id{
-           type string;
-        }
-        leaf-list node-prop{
-           type string;
-        }
-        container termination-points{
-            leaf number-of-tp {
-                type int16;
-            }
-            list termination-point {
-                key "tp-id";
-                leaf tp-id {
-                    type string;
-                }
-            }
-        }
-        choice choice1{
-           case case1a{
-               leaf leaf1a1{
-                   type string;
-               }
-               leaf leaf1a2{
-                   type string;
-               }
-           }
-           case case1b{
-               choice choice1b{
-                   case case1bi{
-                       leaf leaf1bia{
-                           type string;
-                       }
-                       leaf leaf1bib{
-                           type string;
-                       }
-                   }
-                   case case1bii{
-                       leaf leaf1biia{
-                           type string;
-                       }
-                       leaf leaf1biib{
-                           type string;
-                       }
-                   }
-               }
-           }
-        }
-    }
-
-    rpc set-node-limit {
-        input {
-            leaf node-limit {
-                type int16;
-            }
-        }
-    }
-
-    notification node-limit-reached {
-        leaf node-limit {
-            type int16;
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/yabTestYangFiles/test.yang b/apps/yms/app/src/test/resources/yabTestYangFiles/test.yang
deleted file mode 100644
index e37bed6..0000000
--- a/apps/yms/app/src/test/resources/yabTestYangFiles/test.yang
+++ /dev/null
@@ -1,111 +0,0 @@
-module test {
-
-    yang-version 1;
-    namespace "ydt.test";
-    prefix "t6";
-    organization "ON-LAB";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    container cont1 {
-        container cont2 {
-                container cont3 {
-                    leaf leaf1 {
-                        type string;
-                    }
-                }
-        }
-        list list1 {
-           key leaf2;
-           leaf leaf2 {
-               type string;
-           }
-           leaf leaf3 {
-               type string;
-           }
-       }
-       leaf leaf4 {
-          type string;
-       }
-    }
-    list list2 {
-        key "leaf5 leaf6";
-        leaf leaf5 {
-            type string;
-        }
-        leaf leaf6 {
-            type string;
-        }
-        leaf leaf7 {
-            type string;
-        }
-        leaf-list leaflist8 {
-            type string;
-        }
-        container cont7 {
-            leaf leaf12 {
-                type string;
-            }
-        }
-    }
-    container cont4 {
-        container cont5 {
-            leaf leaf9 {
-                type string;
-            }
-        }
-    }
-    leaf leaf10 {
-       type string;
-    }
-
-    rpc rock-the-house {
-        input {
-            leaf zip-code {
-                type string;
-            }
-        }
-        output {
-            leaf hello {
-                type string;
-            }
-        }
-    }
-
-    rpc rock-the-house1 {
-        input {
-            leaf leaf13 {
-               type string;
-            }
-        }
-    }
-
-    rpc rock-the-house2 {
-        output {
-            leaf leaf14 {
-                type string;
-            }
-        }
-    }
-
-    rpc rock-the-house3 {
-    }
-
-    augment "/cont4" {
-        container cont6 {
-            leaf leaf11 {
-                type string;
-            }
-        }
-    }
-
-    augment "/cont4/cont6" {
-        container cont7 {
-            leaf leaf12 {
-                type string;
-            }
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/Combined.yang b/apps/yms/app/src/test/resources/ychTestResourceFiles/Combined.yang
deleted file mode 100644
index a9c2f48..0000000
--- a/apps/yms/app/src/test/resources/ychTestResourceFiles/Combined.yang
+++ /dev/null
@@ -1,114 +0,0 @@
-module Combined {
-
-    yang-version 1;
-    namespace "ych:combined";
-    prefix "combined";
-
-    organization "Huawei India Pvt. Ltd.";
-
-    description "This module defines for purchasing-supervisor.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    typedef protocol-version {
-        type uint8 {
-            range 1..7;
-        }
-    }
-
-    typedef path-id {
-        type uint32;
-        default 0;
-        description
-            "Identifier of a single path. The identifier does not
-             carry any semantic meaning beyond uniquely identifying
-             a path.";
-    }
-
-    typedef as-num {
-        type uint32;
-        default 0;
-        description
-            "Identifier of a single path. The identifier does not
-             carry any semantic meaning beyond uniquely identifying
-             a path.";
-    }
-
-    typedef metric {
-        type uint32;
-        default 0;
-        description
-            "Identifier of a single path. The identifier does not
-             carry any semantic meaning beyond uniquely identifying
-             a path.";
-    }
-
-    container attributes {
-        container origin {
-            reference "http://tools.ietf.org/html/rfc4271#section-5.1.1";
-            leaf value {
-                type path-id;
-                mandatory true;
-            }
-        }
-        container multi-exit-disc {
-            reference "http://tools.ietf.org/html/rfc4271#section-5.1.4";
-            leaf med {
-                type uint32;
-            }
-        }
-        container local-pref {
-            reference "http://tools.ietf.org/html/rfc4271#section-5.1.5";
-            leaf pref {
-                type uint32;
-            }
-        }
-        container aigp {
-            container aigp-tlv {
-                leaf metric {
-                    type metric;
-                }
-            }
-        }
-
-        list unrecognized-attributes {
-            key type;
-            leaf partial {
-                type boolean;
-                mandatory true;
-            }
-            leaf transitive {
-                type boolean;
-                mandatory true;
-            }
-            leaf type {
-                type uint8;
-                mandatory true;
-            }
-            leaf value {
-                type binary {
-                    length 0..65535;
-                }
-                mandatory true;
-            }
-        }
-
-        list bgp-parameters {
-            config false;
-            list optional-capabilities {
-                config false;
-                reference "http://tools.ietf.org/html/rfc5492#section-4";
-                container c-parameters {
-                    container as4-bytes-capability {
-                        reference "http://tools.ietf.org/html/rfc6793";
-                        leaf as-number {
-                            type as-num;
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/EmptyContainer.yang b/apps/yms/app/src/test/resources/ychTestResourceFiles/EmptyContainer.yang
deleted file mode 100644
index 92106e9..0000000
--- a/apps/yms/app/src/test/resources/ychTestResourceFiles/EmptyContainer.yang
+++ /dev/null
@@ -1,19 +0,0 @@
-module EmptyContainer {
-
-    yang-version 1;
-
-    namespace "ych.Empty.Container";
-
-    prefix "purchasing";
-
-    organization "ON-LAB";
-
-    description "This module defines for purchasing-supervisor.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    container EmptyContainer {
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/combinedrootname.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/combinedrootname.xml
deleted file mode 100644
index 1997f3d..0000000
--- a/apps/yms/app/src/test/resources/ychTestResourceFiles/combinedrootname.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<rpc message-id="101"
-     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
-    <edit-config>
-        <target>
-            <running/>
-        </target>
-        <filter xmlns="ydt.filter-type" type="subtree">
-            <Combined xmlns="ych:combined">
-                <attributes>
-                    <origin>
-                        <value>123</value>
-                    </origin>
-                    <multi-exit-disc>
-                        <med>456</med>
-                    </multi-exit-disc>
-                    <local-pref>
-                        <pref>23</pref>
-                    </local-pref>
-                    <aigp>
-                        <aigp-tlv>
-                            <metric>456</metric>
-                        </aigp-tlv>
-                    </aigp>
-                    <unrecognized-attributes>
-                        <partial>false</partial>
-                        <transitive>false</transitive>
-                        <type>1</type>
-                        <value>QUJD</value>
-                    </unrecognized-attributes>
-                    <unrecognized-attributes>
-                        <partial>true</partial>
-                        <transitive>true</transitive>
-                        <type>2</type>
-                        <value>QUJD</value>
-                    </unrecognized-attributes>
-                    <unrecognized-attributes>
-                        <partial>true</partial>
-                        <transitive>false</transitive>
-                        <type>3</type>
-                        <value>QUJD</value>
-                    </unrecognized-attributes>
-                    <unrecognized-attributes>
-                        <partial>false</partial>
-                        <transitive>true</transitive>
-                        <type>4</type>
-                        <value>QUJD</value>
-                    </unrecognized-attributes>
-                    <bgp-parameters>
-                        <optional-capabilities>
-                            <c-parameters>
-                                <as4-bytes-capability>
-                                    <as-number>11</as-number>
-                                </as4-bytes-capability>
-                            </c-parameters>
-                        </optional-capabilities>
-                        <optional-capabilities>
-                            <c-parameters>
-                                <as4-bytes-capability>
-                                    <as-number>22</as-number>
-                                </as4-bytes-capability>
-                            </c-parameters>
-                        </optional-capabilities>
-                        <optional-capabilities>
-                            <c-parameters>
-                                <as4-bytes-capability>
-                                    <as-number>33</as-number>
-                                </as4-bytes-capability>
-                            </c-parameters>
-                        </optional-capabilities>
-                    </bgp-parameters>
-                    <bgp-parameters>
-                        <optional-capabilities>
-                            <c-parameters>
-                                <as4-bytes-capability>
-                                    <as-number>33</as-number>
-                                </as4-bytes-capability>
-                            </c-parameters>
-                        </optional-capabilities>
-                        <optional-capabilities>
-                            <c-parameters>
-                                <as4-bytes-capability>
-                                    <as-number>33</as-number>
-                                </as4-bytes-capability>
-                            </c-parameters>
-                        </optional-capabilities>
-                        <optional-capabilities>
-                            <c-parameters>
-                                <as4-bytes-capability>
-                                    <as-number>33</as-number>
-                                </as4-bytes-capability>
-                            </c-parameters>
-                        </optional-capabilities>
-                    </bgp-parameters>
-                </attributes>
-            </Combined>
-        </filter>
-    </edit-config>
-</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/configrootname.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/configrootname.xml
deleted file mode 100644
index c8509f1..0000000
--- a/apps/yms/app/src/test/resources/ychTestResourceFiles/configrootname.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<rpc message-id="101"
-     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
-    <edit-config>
-        <target>
-            <running/>
-        </target>
-        <config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
-            <Logistics-manager xmlns="ydt.root">
-                <Customs-supervisor>abc</Customs-supervisor>
-                <Purchasing-supervisor xmlns="ydt.root">
-                    <purchasing-specialist>bcd</purchasing-specialist>
-                    <support>cde</support>
-                </Purchasing-supervisor>
-            </Logistics-manager>
-            <merchandisersupervisor xmlns="ydt.Merchandiser-supervisor">
-                <supervisor>abc</supervisor>
-            </merchandisersupervisor>
-        </config>
-    </edit-config>
-</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/configrootnameOperationType.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/configrootnameOperationType.xml
deleted file mode 100644
index 6cecea49..0000000
--- a/apps/yms/app/src/test/resources/ychTestResourceFiles/configrootnameOperationType.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<rpc message-id="101"
-     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
-    <edit-config>
-        <target>
-            <running/>
-        </target>
-        <config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
-            <Logistics-manager xmlns="ydt.root">
-                <Customs-supervisor>abc</Customs-supervisor>
-                <Purchasing-supervisor xmlns="ydt.root" operation="delete">
-                    <purchasing-specialist>bcd</purchasing-specialist>
-                    <support>cde</support>
-                </Purchasing-supervisor>
-            </Logistics-manager>
-            <merchandisersupervisor xmlns="ydt.Merchandiser-supervisor">
-                <supervisor>abc</supervisor>
-            </merchandisersupervisor>
-        </config>
-    </edit-config>
-</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/getReply.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/getReply.xml
deleted file mode 100644
index b6d11fe..0000000
--- a/apps/yms/app/src/test/resources/ychTestResourceFiles/getReply.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<rpc-reply message-id="101"
-           xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
-           xmlns:ex="http://example.net/content/1.0">
-    <data>
-        <Logistics-manager xmlns="ydt.root">
-            <Purchasing-supervisor xmlns="ydt.root">
-                <purchasing-specialist>bcd</purchasing-specialist>
-            </Purchasing-supervisor>
-        </Logistics-manager>
-    </data>
-</rpc-reply>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigReply.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigReply.xml
deleted file mode 100644
index e27beab..0000000
--- a/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigReply.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<rpc message-id="101"
-     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
-    <data>
-       <merchandisersupervisor xmlns="ydt.Merchandiser-supervisor">
-            <supervisor>abc</supervisor>
-       </merchandisersupervisor>
-    </data>
-</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigemptycontainer.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigemptycontainer.xml
deleted file mode 100644
index adc7902..0000000
--- a/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigemptycontainer.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<rpc message-id="101"
-     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
-    <get-config>
-        <source>
-            <running/>
-        </source>
-        <filter xmlns="ydt.filter-type" type="subtree">
-            <EmptyContainer xmlns="ych.Empty.Container"/>
-        </filter>
-    </get-config>
-</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigrootname.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigrootname.xml
deleted file mode 100644
index df69691..0000000
--- a/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigrootname.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<rpc message-id="101"
-     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
-    <get-config>
-        <source>
-            <running/>
-        </source>
-        <filter type="subtree">
-            <merchandisersupervisor xmlns="ydt.Merchandiser-supervisor">
-                <supervisor>abc</supervisor>
-            </merchandisersupervisor>
-        </filter>
-    </get-config>
-</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/getrootname.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/getrootname.xml
deleted file mode 100644
index 9773893..0000000
--- a/apps/yms/app/src/test/resources/ychTestResourceFiles/getrootname.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<rpc message-id="101"
-     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
-    <get>
-        <filter type="subtree">
-            <Logistics-manager xmlns="ydt.root">
-                <Purchasing-supervisor xmlns="ydt.root">
-                    <purchasing-specialist>bcd</purchasing-specialist>
-                </Purchasing-supervisor>
-            </Logistics-manager>
-        </filter>
-    </get>
-</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/purchasingsupervisor.yang b/apps/yms/app/src/test/resources/ychTestResourceFiles/purchasingsupervisor.yang
deleted file mode 100644
index 507c64e..0000000
--- a/apps/yms/app/src/test/resources/ychTestResourceFiles/purchasingsupervisor.yang
+++ /dev/null
@@ -1,28 +0,0 @@
-module ych-purchasingsupervisor {
-
-    yang-version 1;
-
-    namespace "ych.purchasing-supervisor";
-
-    prefix "purchasing";
-
-    organization "ON-LAB";
-
-    description "This module defines for purchasing-supervisor.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    container ych-purchasing-supervisor {
-        leaf ych-purchasing-specialist {
-            type string;
-            description "name of the purchasing-specialist person";
-        }
-
-        leaf ych-purchasing-support {
-            type string;
-            description "name of the support person";
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/Hello_ONOS.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/Hello_ONOS.yang
deleted file mode 100644
index d5eafbe..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/Hello_ONOS.yang
+++ /dev/null
@@ -1,57 +0,0 @@
-module Hello_ONOS {
-    yang-version 1;
-    namespace "ydt:hello_onos";
-    prefix "hello";
-
-    revision "2016-09-03" {
-        description "Initial revision of hello model";
-    }
-
-    grouping greeting {
-        leaf name {
-            type string;
-        }
-
-        leaf surName {
-            type string;
-        }
-    }
-
-    rpc hello-world {
-        input {
-
-            // uses greeting;
-
-            leaf name {
-                type string;
-            }
-
-            leaf surName {
-                type string;
-            }
-
-            leaf inputDefault {
-                type string;
-            }
-
-            list stringList {
-                key "string1 string2";
-                unique "string3";
-                leaf string1 {
-                      type string;
-                }
-                leaf string2 {
-                      type string;
-                }
-                leaf string3 {
-                      type string;
-                }
-            }
-        }
-        output {
-            leaf greetingOut {
-                type string;
-            }
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/Logistics-manager.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/Logistics-manager.yang
deleted file mode 100644
index 3cd4321..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/Logistics-manager.yang
+++ /dev/null
@@ -1,66 +0,0 @@
-module Logistics-manager {
-
-    yang-version 1;
-
-    namespace "ydt.root";
-
-    prefix "root";
-
-    organization "ON-LAB";
-
-    description "This module defines for organisation.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    leaf Customs-supervisor {
-        type string;
-        description "name of the customs-supervisor.";
-    }
-
-    leaf Merchandiser-supervisor {
-        type string;
-        description "name of merchandiser-supervisor";
-    }
-
-    list Material-supervisor {
-        key "name";
-        leaf name {
-            type string;
-            description "name of logistics-supervisor";
-        }
-
-        leaf departmentId {
-            type string;
-            description "name of department";
-        }
-    }
-
-    container Purchasing-supervisor {
-        leaf purchasing-specialist {
-            type string;
-            description "name of the purchasing-specialist person";
-        }
-
-        leaf support {
-            type string;
-            description "name of the support person";
-        }
-    }
-
-    leaf-list Warehouse-supervisor {
-        type string;
-        description "name of the warehouse-supervisor's";
-    }
-
-    leaf trading-supervisor {
-        type string;
-        description "name of the trading-supervisor";
-    }
-
-    leaf-list employee-id {
-        type string;
-        description "list of the employee id";
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology1.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology1.yang
deleted file mode 100644
index 6736063..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology1.yang
+++ /dev/null
@@ -1,51 +0,0 @@
-module augment-topology1 {
-
-    yang-version 1;
-
-    namespace "ydt.augment-topology1";
-
-    prefix "aug1";
-
-    import yms-ietf-network {
-        prefix nd;
-    }
-
-    import yms-network-topology {
-        prefix topo;
-    }
-
-    organization "ON-LAB";
-
-    description "This module defines for augment-topology1 classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    augment "/nd:networks/nd:network/topo:link" {
-        description
-        "Add augment1 to the link model.";
-        list augment1 {
-            key "value1";
-            leaf value1 {
-                  type int8;
-            }
-        }
-    }
-
-    augment "/nd:networks/nd:network/nd:node/topo:t-point" +
-    "/supporting-termination-point" {
-        description
-        "Add augment1 to the termination-point model.";
-        container augment1 {
-            leaf value1 {
-                  type int8;
-            }
-        }
-
-        leaf augment1-leaf {
-            type string;
-        }
-
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology2.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology2.yang
deleted file mode 100644
index 82a19d7..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology2.yang
+++ /dev/null
@@ -1,63 +0,0 @@
-module augment-topology2 {
-
-    yang-version 1;
-
-    namespace "ydt.augment-topology2";
-
-    prefix "aug2";
-
-    import yms-ietf-network {
-        prefix nd;
-    }
-
-    import yms-network-topology {
-        prefix topo;
-    }
-
-    organization "ON-LAB";
-
-    description "This module defines for augment-topology2 classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    augment "/nd:networks/nd:network/topo:link" {
-        description
-        "Add augment2 to the link model.";
-        list augment2 {
-            key "key1 key2";
-            leaf key1 {
-                  type int8;
-            }
-            leaf key2 {
-                  type int8;
-            }
-        }
-
-        leaf-list augment2leafList {
-            type string;
-        }
-    }
-
-    augment "/nd:networks/nd:network/nd:node/topo:t-point/" +
-    "supporting-termination-point" {
-        description
-        "Add augment2 to the supporting-termination-point model.";
-        container augment2 {
-            config false;
-            leaf value2 {
-                  type int8;
-            }
-        }
-
-        leaf-list augment2leafList {
-            type string;
-        }
-
-        leaf augment2leaf {
-            type string;
-        }
-
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology3.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology3.yang
deleted file mode 100644
index d2c58ce..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology3.yang
+++ /dev/null
@@ -1,59 +0,0 @@
-module augment-topology3 {
-
-    yang-version 1;
-
-    namespace "ydt.augment-topology3";
-
-    prefix "aug3";
-
-    import yms-ietf-network {
-        prefix nd;
-    }
-
-    import augment-topology1 {
-        prefix aug1;
-    }
-
-    import augment-topology2 {
-        prefix aug2;
-    }
-
-    import yms-network-topology {
-        prefix topo;
-    }
-
-    organization "ON-LAB";
-
-    description "This module defines for augment-topology3 classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    augment "/nd:networks/nd:network/topo:link/aug2:augment2" {
-        description
-        "Add augment3 to the augment2 model.";
-        container augment3 {
-            config false;
-            leaf value3 {
-                  type int8;
-            }
-        }
-
-        leaf augment3leaf {
-            type string;
-        }
-    }
-
-    augment "/nd:networks/nd:network/nd:node/topo:t-point/" +
-    "supporting-termination-point/aug2:augment2" {
-        description
-        "Add augment3 to the augment2 model.";
-        container augment3 {
-            config false;
-            leaf value3 {
-                  type int8;
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology4.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology4.yang
deleted file mode 100644
index b8cea93..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology4.yang
+++ /dev/null
@@ -1,58 +0,0 @@
-module augment-topology4 {
-
-    yang-version 1;
-
-    namespace "ydt.augment-topology4";
-
-    prefix "aug4";
-
-    import yms-ietf-network {
-        prefix nd;
-    }
-
-    import augment-topology1 {
-        prefix aug1;
-    }
-
-    import augment-topology2 {
-        prefix aug2;
-    }
-
-    import augment-topology3 {
-        prefix aug3;
-    }
-
-    import yms-network-topology {
-        prefix topo;
-    }
-
-    organization "ON-LAB";
-
-    description "This module defines for augment-topology4 classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    augment "/nd:networks/nd:network/topo:link/aug2:augment2/aug3:augment3" {
-        description
-        "Add augment4 to the augment3 model.";
-        container augment4 {
-            config false;
-            leaf value4 {
-                  type int8;
-            }
-        }
-    }
-
-    augment "/nd:networks/nd:network/nd:node/topo:t-point/" +
-    "supporting-termination-point/aug2:augment2" {
-        description
-        "Add augment4leaf to the augment2 model.";
-
-        leaf augment4leaf{
-            type string;
-        }
-
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology5.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology5.yang
deleted file mode 100644
index a13a688..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology5.yang
+++ /dev/null
@@ -1,66 +0,0 @@
-module augment-topology5 {
-
-    yang-version 1;
-
-    namespace "ydt.augment-topology5";
-
-    prefix "aug5";
-
-    import yms-ietf-network {
-        prefix nd;
-    }
-
-    import augment-topology1 {
-        prefix aug1;
-    }
-
-    import augment-topology2 {
-        prefix aug2;
-    }
-
-    import augment-topology3 {
-        prefix aug3;
-    }
-
-    import augment-topology4 {
-        prefix aug4;
-    }
-
-    import yms-network-topology {
-        prefix topo;
-    }
-
-    organization "ON-LAB";
-
-    description "This module defines for augment-topology5 classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    augment "/nd:networks/nd:network/topo:link/aug2:augment2" {
-        description
-        "Add container to the augment2 model.";
-        container augment5 {
-            config false;
-            leaf value5 {
-                  type int8;
-            }
-        }
-
-        leaf-list augment5leafList {
-            type string;
-        }
-    }
-
-    augment "/nd:networks/nd:network/topo:link/aug2:augment2/aug3:augment3" {
-        description
-        "Add augment5 to the augment3 model.";
-        container augment5 {
-            config false;
-            leaf value5 {
-                  type int8;
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology6.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology6.yang
deleted file mode 100644
index 15bd3d5..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/augment-topology6.yang
+++ /dev/null
@@ -1,73 +0,0 @@
-module augment-topology6 {
-
-    yang-version 1;
-
-    namespace "ydt.augment-topology6";
-
-    prefix "aug5";
-
-    import yms-ietf-network {
-        prefix nd;
-    }
-
-    import augment-topology1 {
-        prefix aug1;
-    }
-
-    import augment-topology2 {
-        prefix aug2;
-    }
-
-    import augment-topology3 {
-        prefix aug3;
-    }
-
-    import augment-topology4 {
-        prefix aug4;
-    }
-
-    import augment-topology5 {
-        prefix aug5;
-    }
-
-    import yms-network-topology {
-        prefix topo;
-    }
-
-    organization "ON-LAB";
-
-    description "This module defines for augment-topology6 classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    augment "/nd:networks/nd:network/topo:link/aug2:augment2/aug3:augment3" {
-        description
-        "Add augment6 to the augment3 model.";
-        container augment6 {
-            config true;
-            leaf value6 {
-                  type int8;
-            }
-        }
-    }
-
-    augment "/nd:networks/nd:network/topo:link/aug2:augment2/aug3:augment3/" +
-    "aug5:augment5" {
-        description
-        "Add leaf6 to the augment5 model.";
-        leaf leaf6 {
-            type string;
-        }
-
-    }
-
-    augment "/nd:networks/nd:network/topo:link/aug2:augment2/aug5:augment5" {
-        description
-        "Add list to the augment5 model.";
-        leaf-list augment6leafList {
-            type string;
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/augmentNetwork.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/augmentNetwork.yang
deleted file mode 100644
index 315bc44..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/augmentNetwork.yang
+++ /dev/null
@@ -1,33 +0,0 @@
-module augmentNetwork {
-
-    yang-version 1;
-
-    namespace "ydt.augmentNetwork";
-
-    prefix "aug";
-
-    import yms-ietf-network {
-        prefix nd;
-    }
-
-
-    organization "ON-LAB";
-
-    description "This module defines for augmentNetwork classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    augment "/nd:networks/nd:network" {
-        description
-        "Add container to the network model.";
-        container cont1s {
-            container cont1s {
-                leaf fine {
-                    type string;
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/binarytest.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/binarytest.yang
deleted file mode 100644
index f6db459d..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/binarytest.yang
+++ /dev/null
@@ -1,74 +0,0 @@
-module binarytest {
-
-    yang-version 1;
-
-    namespace "ydt.binarytest";
-
-    prefix "binarytest";
-
-    organization "ON-LAB";
-
-    description "This module defines for binarytest classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    list binaryList {
-        config false;
-        leaf binary {
-              type binary;
-        }
-        leaf binaryWithRange {
-              type binary {
-                   length "2 .. 10";
-              }
-        }
-        leaf binaryWithMultiRange {
-              type binary {
-                   length "min..10 | 20 | 30..max";
-              }
-        }
-    }
-
-    typedef percent {
-        type binary;
-    }
-
-    leaf name {
-        type percent;
-    }
-
-    grouping greeting {
-        leaf surname {
-            type binary;
-        }
-    }
-
-    container cont1 {
-        uses greeting;
-    }
-
-    augment "/cont1" {
-        leaf lastname {
-            type binary;
-        }
-    }
-
-    container food {
-        choice snack {
-            case sportsarena {
-                leaf pretzel {
-                    type binary;
-                }
-            }
-        }
-    }
-
-    leaf middlename {
-        type union {
-            type int8;
-            type binary;
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/bit.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/bit.yang
deleted file mode 100644
index 6d97ccc..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/bit.yang
+++ /dev/null
@@ -1,51 +0,0 @@
-module bit {
-
-    yang-version 1;
-
-    namespace "ydt.bit";
-
-    prefix "bit";
-
-    organization "ON-LAB";
-
-    description "This module defines for bit classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-/*
-     leaf mybits {
-         type bits {
-             bit disable-nagle {
-                 position 0;
-             }
-             bit auto-sense-speed {
-                 position 1;
-             }
-             bit 10-Mb-only {
-                 position 2;
-             }
-         }
-         default "auto-sense-speed";
-     }
-     */
-
-    list bitList {
-        config false;
-        leaf bit {
-            type bits {
-                bit disable-nagle {
-                position 0;
-                }
-                bit auto-sense-speed {
-                position 1;
-                }
-                bit ten-Mb-only {
-                position 2;
-                }
-            }
-            default "auto-sense-speed";
-
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/bool.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/bool.yang
deleted file mode 100644
index 1bb6181..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/bool.yang
+++ /dev/null
@@ -1,23 +0,0 @@
-module bool {
-
-    yang-version 1;
-
-    namespace "ydt.boolean";
-
-    prefix "bool";
-
-    organization "ON-LAB";
-
-    description "This module defines for bool classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    list booleanList {
-        key boolean;
-        leaf boolean {
-              type boolean;
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/customssupervisor.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/customssupervisor.yang
deleted file mode 100644
index 73aa806..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/customssupervisor.yang
+++ /dev/null
@@ -1,21 +0,0 @@
-module customssupervisor {
-
-    yang-version 1;
-
-    namespace "ydt.customs-supervisor";
-
-    prefix "customs";
-
-    organization "ON-LAB";
-
-    description "This module defines for customs-supervisor.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    leaf supervisor {
-        type string;
-        description "name of the customs-supervisor.";
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/decimal64.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/decimal64.yang
deleted file mode 100644
index 6470e8a..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/decimal64.yang
+++ /dev/null
@@ -1,90 +0,0 @@
-module decimal64 {
-
-    yang-version 1;
-
-    namespace "ydt.decimal64";
-
-    prefix "decimal64";
-
-    organization "ON-LAB";
-
-    description "This module defines for decimal64 classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-    leaf negInt {
-          type decimal64 {
-                fraction-digits 2;
-          }
-    }
-
-    leaf negIntWithMaxFraction {
-          type decimal64 {
-                fraction-digits 18;
-          }
-    }
-
-    leaf negIntWithMinFraction {
-          type decimal64 {
-                fraction-digits 1;
-          }
-    }
-
-    leaf posInt {
-          type decimal64 {
-                fraction-digits 2;
-          }
-    }
-
-    leaf posIntWithMaxFraction {
-          type decimal64 {
-                fraction-digits 18;
-          }
-
-    }
-
-    leaf posIntWithMinFraction {
-          type decimal64 {
-                fraction-digits 1;
-          }
-
-    }
-
-    leaf minIntWithRange {
-          type decimal64 {
-                fraction-digits 2;
-                range "10 .. 100";
-          }
-    }
-
-    leaf midIntWithRange {
-          type decimal64 {
-             fraction-digits 2;
-             range "10 .. 100";
-         }
-    }
-
-    leaf maxIntWithRange {
-          type decimal64 {
-             fraction-digits 2;
-             range "10 .. 100";
-         }
-    }
-
-    list multiRangeValidation {
-        config false;
-        leaf decimal {
-              type decimal64 {
-                 fraction-digits 2;
-                 range "10..40 | 50..100";
-              }
-        }
-        leaf revDecimal {
-              type decimal64 {
-                 fraction-digits 2;
-                 range "min .. 3.14 | 10 | 20..max";
-              }
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/employeeid.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/employeeid.yang
deleted file mode 100644
index be27c70..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/employeeid.yang
+++ /dev/null
@@ -1,21 +0,0 @@
-module employeeid {
-
-    yang-version 1;
-
-    namespace "ydt.employee-id";
-
-    prefix "id";
-
-    organization "ON-LAB";
-
-    description "This module defines for employee-id.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    leaf-list employeeid {
-        type string;
-        description "list of the employee id";
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/emptydata.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/emptydata.yang
deleted file mode 100644
index 33f58b3..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/emptydata.yang
+++ /dev/null
@@ -1,23 +0,0 @@
-module emptydata {
-
-    yang-version 1;
-
-    namespace "ydt.emptydata";
-
-    prefix "emptydata";
-
-    organization "ON-LAB";
-
-    description "This module defines for emptydata classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    list emptyList {
-        config false;
-        leaf empty {
-              type empty;
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/enumtest.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/enumtest.yang
deleted file mode 100644
index a9255c5..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/enumtest.yang
+++ /dev/null
@@ -1,27 +0,0 @@
-module enumtest {
-
-    yang-version 1;
-
-    namespace "ydt.enumtest";
-
-    prefix "enumtest";
-
-    organization "ON-LAB";
-
-    description "This module defines for enumtest classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    list enumList {
-        key enumleaf;
-        leaf enumleaf {
-            type enumeration {
-              enum ten { value "10";}
-              enum hundred { value "100";}
-              enum thousand { value "1000"; }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/food.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/food.yang
deleted file mode 100644
index 202d11f..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/food.yang
+++ /dev/null
@@ -1,39 +0,0 @@
-module food {
-
-    yang-version 1;
-
-    namespace "ydt.food";
-
-    prefix "foodType";
-
-    organization "ON-LAB";
-
-    description "This module defines for food.";
-
-    revision "2016-06-24" {
-        description "Initial revision.";
-    }
-
-    container food {
-       choice snack {
-           case sportsarena {
-
-               leaf pretzel {
-                   type empty;
-               }
-               leaf beer {
-                   type empty;
-               }
-           }
-           case latenight {
-               leaf chocolate {
-                   type enumeration {
-                       enum dark;
-                       enum milk;
-                       enum first-available;
-                   }
-               }
-           }
-       }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/ietf-inet-types.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/ietf-inet-types.yang
deleted file mode 100644
index 6b994bb..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/ietf-inet-types.yang
+++ /dev/null
@@ -1,454 +0,0 @@
-  module yms-ietf-inet-types {
-
-    yang-version 1;
-
-    namespace
-      "urn:ietf:params:xml:ns:yang:ietf-inet-types";
-
-    prefix inet;
-
-    organization
-      "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-    contact
-      "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-    description
-      "This module contains a collection of generally useful derived
-    YANG data types for Internet addresses and related things.
-
-    Copyright (c) 2013 IETF Trust and the persons identified as
-    authors of the code.  All rights reserved.
-
-    Redistribution and use in source and binary forms, with or
-    without modification, is permitted pursuant to, and subject
-    to the license terms contained in, the Simplified BSD License
-    set forth in Section 4.c of the IETF Trust's Legal Provisions
-    Relating to IETF Documents
-    (http://trustee.ietf.org/license-info).
-
-    This version of this YANG module is part of RFC 6991; see
-    the RFC itself for full legal notices.";
-
-    revision "2013-07-15" {
-      description
-        "This revision adds the following new data types:
-      - ip-address-no-zone
-      - ipv4-address-no-zone
-      - ipv6-address-no-zone";
-      reference
-        "RFC 6991: Common YANG Data Types";
-
-    }
-
-    revision "2010-09-24" {
-      description "Initial revision.";
-      reference
-        "RFC 6021: Common YANG Data Types";
-
-    }
-
-
-    typedef ip-version {
-      type enumeration {
-        enum "unknown" {
-          value 0;
-          description
-            "An unknown or unspecified version of the Internet
-          protocol.";
-        }
-        enum "ipv4" {
-          value 1;
-          description
-            "The IPv4 protocol as defined in RFC 791.";
-        }
-        enum "ipv6" {
-          value 2;
-          description
-            "The IPv6 protocol as defined in RFC 2460.";
-        }
-      }
-      description
-        "This value represents the version of the IP protocol.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetVersion textual convention of the SMIv2.";
-      reference
-        "RFC  791: Internet Protocol
-         RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
-         RFC 4001: Textual Conventions for Internet Network Addresses";
-
-    }
-
-    typedef dscp {
-      type uint8 {
-        range "0..63";
-      }
-      description
-        "The dscp type represents a Differentiated Services Code Point
-      that may be used for marking packets in a traffic stream.
-      In the value set and its semantics, this type is equivalent
-      to the Dscp textual convention of the SMIv2.";
-      reference
-        "RFC 3289: Management Information Base for the Differentiated
-        	  Services Architecture
-         RFC 2474: Definition of the Differentiated Services Field
-        	  (DS Field) in the IPv4 and IPv6 Headers
-         RFC 2780: IANA Allocation Guidelines For Values In
-        	  the Internet Protocol and Related Headers";
-
-    }
-
-    typedef ipv6-flow-label {
-      type uint32 {
-        range "0..1048575";
-      }
-      description
-        "The ipv6-flow-label type represents the flow identifier or Flow
-      Label in an IPv6 packet header that may be used to
-      discriminate traffic flows.
-
-      In the value set and its semantics, this type is equivalent
-      to the IPv6FlowLabel textual convention of the SMIv2.";
-      reference
-        "RFC 3595: Textual Conventions for IPv6 Flow Label
-         RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
-
-    }
-
-    typedef port-number {
-      type uint16 {
-        range "0..65535";
-      }
-      description
-        "The port-number type represents a 16-bit port number of an
-      Internet transport-layer protocol such as UDP, TCP, DCCP, or
-      SCTP.  Port numbers are assigned by IANA.  A current list of
-      all assignments is available from <http://www.iana.org/>.
-
-      Note that the port number value zero is reserved by IANA.  In
-      situations where the value zero does not make sense, it can
-      be excluded by subtyping the port-number type.
-      In the value set and its semantics, this type is equivalent
-      to the InetPortNumber textual convention of the SMIv2.";
-      reference
-        "RFC  768: User Datagram Protocol
-         RFC  793: Transmission Control Protocol
-         RFC 4960: Stream Control Transmission Protocol
-         RFC 4340: Datagram Congestion Control Protocol (DCCP)
-         RFC 4001: Textual Conventions for Internet Network Addresses";
-
-    }
-
-    typedef as-number {
-      type uint32;
-      description
-        "The as-number type represents autonomous system numbers
-      which identify an Autonomous System (AS).  An AS is a set
-      of routers under a single technical administration, using
-      an interior gateway protocol and common metrics to route
-      packets within the AS, and using an exterior gateway
-      protocol to route packets to other ASes.  IANA maintains
-      the AS number space and has delegated large parts to the
-      regional registries.
-
-      Autonomous system numbers were originally limited to 16
-      bits.  BGP extensions have enlarged the autonomous system
-      number space to 32 bits.  This type therefore uses an uint32
-      base type without a range restriction in order to support
-      a larger autonomous system number space.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetAutonomousSystemNumber textual convention of
-      the SMIv2.";
-      reference
-        "RFC 1930: Guidelines for creation, selection, and registration
-        	  of an Autonomous System (AS)
-         RFC 4271: A Border Gateway Protocol 4 (BGP-4)
-         RFC 4001: Textual Conventions for Internet Network Addresses
-         RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
-        	  Number Space";
-
-    }
-
-    typedef ip-address {
-      type union {
-        type ipv4-address;
-        type ipv6-address;
-      }
-      description
-        "The ip-address type represents an IP address and is IP
-      version neutral.  The format of the textual representation
-      implies the IP version.  This type supports scoped addresses
-      by allowing zone identifiers in the address format.";
-      reference
-        "RFC 4007: IPv6 Scoped Address Architecture";
-
-    }
-
-    typedef ipv4-address {
-      type string {
-        pattern
-          '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?';
-      }
-      description
-        "The ipv4-address type represents an IPv4 address in
-       dotted-quad notation.  The IPv4 address may include a zone
-       index, separated by a % sign.
-
-       The zone index is used to disambiguate identical address
-       values.  For link-local addresses, the zone index will
-       typically be the interface index number or the name of an
-       interface.  If the zone index is not present, the default
-       zone of the device will be used.
-
-       The canonical format for the zone index is the numerical
-       format";
-    }
-
-    typedef ipv6-address {
-      type string {
-        pattern
-          '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?';
-        pattern
-          '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(%.+)?';
-      }
-      description
-        "The ipv6-address type represents an IPv6 address in full,
-      mixed, shortened, and shortened-mixed notation.  The IPv6
-      address may include a zone index, separated by a % sign.
-
-      The zone index is used to disambiguate identical address
-      values.  For link-local addresses, the zone index will
-      typically be the interface index number or the name of an
-      interface.  If the zone index is not present, the default
-      zone of the device will be used.
-
-
-
-      The canonical format of IPv6 addresses uses the textual
-      representation defined in Section 4 of RFC 5952.  The
-      canonical format for the zone index is the numerical
-      format as described in Section 11.2 of RFC 4007.";
-      reference
-        "RFC 4291: IP Version 6 Addressing Architecture
-         RFC 4007: IPv6 Scoped Address Architecture
-         RFC 5952: A Recommendation for IPv6 Address Text
-        	  Representation";
-
-    }
-
-    typedef ip-address-no-zone {
-      type union {
-        type ipv4-address-no-zone;
-        type ipv6-address-no-zone;
-      }
-      description
-        "The ip-address-no-zone type represents an IP address and is
-      IP version neutral.  The format of the textual representation
-      implies the IP version.  This type does not support scoped
-      addresses since it does not allow zone identifiers in the
-      address format.";
-      reference
-        "RFC 4007: IPv6 Scoped Address Architecture";
-
-    }
-
-    typedef ipv4-address-no-zone {
-      type ipv4-address {
-        pattern '[0-9\.]*';
-      }
-      description
-        "An IPv4 address without a zone index.  This type, derived from
-       ipv4-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-    }
-
-    typedef ipv6-address-no-zone {
-      type ipv6-address {
-        pattern '[0-9a-fA-F:\.]*';
-      }
-      description
-        "An IPv6 address without a zone index.  This type, derived from
-       ipv6-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-      reference
-        "RFC 4291: IP Version 6 Addressing Architecture
-         RFC 4007: IPv6 Scoped Address Architecture
-         RFC 5952: A Recommendation for IPv6 Address Text
-        	  Representation";
-
-    }
-
-    typedef ip-prefix {
-      type union {
-        type ipv4-prefix;
-        type ipv6-prefix;
-      }
-      description
-        "The ip-prefix type represents an IP prefix and is IP
-      version neutral.  The format of the textual representations
-      implies the IP version.";
-    }
-
-    typedef ipv4-prefix {
-      type string {
-        pattern
-          '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2]))';
-      }
-      description
-        "The ipv4-prefix type represents an IPv4 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 32.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The canonical format of an IPv4 prefix has all bits of
-      the IPv4 address set to zero that are not part of the
-      IPv4 prefix.";
-    }
-
-    typedef ipv6-prefix {
-      type string {
-        pattern
-          '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
-        pattern
-          '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(/.+)';
-      }
-      description
-        "The ipv6-prefix type represents an IPv6 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 128.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The IPv6 address should have all bits that do not belong
-      to the prefix set to zero.
-
-      The canonical format of an IPv6 prefix has all bits of
-      the IPv6 address set to zero that are not part of the
-      IPv6 prefix.  Furthermore, the IPv6 address is represented
-      as defined in Section 4 of RFC 5952.";
-      reference
-        "RFC 5952: A Recommendation for IPv6 Address Text
-        	  Representation";
-
-    }
-
-    typedef domain-name {
-      type string {
-        length "1..253";
-        pattern
-          '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)|\.';
-      }
-      description
-        "The domain-name type represents a DNS domain name.  The
-      name SHOULD be fully qualified whenever possible.
-
-      Internet domain names are only loosely specified.  Section
-      3.5 of RFC 1034 recommends a syntax (modified in Section
-      2.1 of RFC 1123).  The pattern above is intended to allow
-      for current practice in domain name use, and some possible
-      future expansion.  It is designed to hold various types of
-      domain names, including names used for A or AAAA records
-      (host names) and other records, such as SRV records.  Note
-      that Internet host names have a stricter syntax (described
-      in RFC 952) than the DNS recommendations in RFCs 1034 and
-      1123, and that systems that want to store host names in
-      schema nodes using the domain-name type are recommended to
-      adhere to this stricter standard to ensure interoperability.
-
-      The encoding of DNS names in the DNS protocol is limited
-      to 255 characters.  Since the encoding consists of labels
-      prefixed by a length bytes and there is a trailing NULL
-      byte, only 253 characters can appear in the textual dotted
-      notation.
-
-      The description clause of schema nodes using the domain-name
-      type MUST describe when and how these names are resolved to
-      IP addresses.  Note that the resolution of a domain-name value
-      may require to query multiple DNS records (e.g., A for IPv4
-      and AAAA for IPv6).  The order of the resolution process and
-      which DNS record takes precedence can either be defined
-      explicitly or may depend on the configuration of the
-      resolver.
-
-      Domain-name values use the US-ASCII encoding.  Their canonical
-      format uses lowercase US-ASCII characters.  Internationalized
-      domain names MUST be A-labels as per RFC 5890.";
-      reference
-        "RFC  952: DoD Internet Host Table Specification
-         RFC 1034: Domain Names - Concepts and Facilities
-         RFC 1123: Requirements for Internet Hosts -- Application
-        	  and Support
-         RFC 2782: A DNS RR for specifying the location of services
-        	  (DNS SRV)
-         RFC 5890: Internationalized Domain Names in Applications
-        	  (IDNA): Definitions and Document Framework";
-
-    }
-
-    typedef host {
-      type union {
-        type ip-address;
-        type domain-name;
-      }
-      description
-        "The host type represents either an IP address or a DNS
-      domain name.";
-    }
-
-    typedef uri {
-      type string;
-      description
-        "The uri type represents a Uniform Resource Identifier
-      (URI) as defined by STD 66.
-
-      Objects using the uri type MUST be in US-ASCII encoding,
-      and MUST be normalized as described by RFC 3986 Sections
-      6.2.1, 6.2.2.1, and 6.2.2.2.  All unnecessary
-      percent-encoding is removed, and all case-insensitive
-      characters are set to lowercase except for hexadecimal
-      digits, which are normalized to uppercase as described in
-      Section 6.2.2.1.
-
-      The purpose of this normalization is to help provide
-      unique URIs.  Note that this normalization is not
-      sufficient to provide uniqueness.  Two URIs that are
-      textually distinct after this normalization may still be
-      equivalent.
-
-      Objects using the uri type may restrict the schemes that
-      they permit.  For example, 'data:' and 'urn:' schemes
-      might not be appropriate.
-
-      A zero-length URI is not a valid URI.  This can be used to
-      express 'URI absent' where required.
-
-      In the value set and its semantics, this type is equivalent
-      to the Uri SMIv2 textual convention defined in RFC 5017.";
-      reference
-        "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
-         RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
-        	  Group: Uniform Resource Identifiers (URIs), URLs,
-        	  and Uniform Resource Names (URNs): Clarifications
-        	  and Recommendations
-         RFC 5017: MIB Textual Conventions for Uniform Resource
-        	  Identifiers (URIs)";
-
-    }
-  }  // module ietf-inet-types
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/ietf-network.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/ietf-network.yang
deleted file mode 100644
index b56f6cf..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/ietf-network.yang
+++ /dev/null
@@ -1,216 +0,0 @@
-   module yms-ietf-network {
-     yang-version 1;
-     namespace "urn:ietf:params:xml:ns:yang:ietf-network";
-     prefix nd;
-
-     import yms-ietf-inet-types {
-       prefix inet;
-     }
-
-     organization
-       "IETF I2RS (Interface to the Routing System) Working Group";
-
-     contact
-       "WG Web:    <http://tools.ietf.org/wg/i2rs/>
-        WG List:   <mailto:i2rs@ietf.org>
-
-        WG Chair:  Susan Hares
-                   <mailto:shares@ndzh.com>
-
-        WG Chair:  Jeffrey Haas
-                   <mailto:jhaas@pfrc.org>
-
-        Editor:    Alexander Clemm
-                   <mailto:alex@cisco.com>
-
-        Editor:    Jan Medved
-                   <mailto:jmedved@cisco.com>
-
-        Editor:    Robert Varga
-                   <mailto:rovarga@cisco.com>
-
-        Editor:    Tony Tkacik
-                   <mailto:ttkacik@cisco.com>
-
-        Editor:    Nitin Bahadur
-                   <mailto:nitin_bahadur@yahoo.com>
-
-        Editor:    Hariharan Ananthakrishnan
-                   <mailto:hari@packetdesign.com>";
-
-     description
-       "This module defines a common base model for a collection
-        of nodes in a network. Node definitions are further used
-        in network topologies and inventories.
-
-        Copyright (c) 2015 IETF Trust and the persons identified as
-        authors of the code.  All rights reserved.
-
-        Redistribution and use in source and binary forms, with or
-        without modification, is permitted pursuant to, and subject
-        to the license terms contained in, the Simplified BSD License
-        set forth in Section 4.c of the IETF Trust's Legal Provisions
-        Relating to IETF Documents
-        (http://trustee.ietf.org/license-info).
-
-        This version of this YANG module is part of
-        draft-ietf-i2rs-yang-network-topo-02;
-        see the RFC itself for full legal notices.
-
-        NOTE TO RFC EDITOR: Please replace above reference to
-        draft-ietf-i2rs-yang-network-topo-02 with RFC
-        number when published (i.e. RFC xxxx).";
-
-     revision 2015-12-08 {
-       description
-         "Initial revision.
-          NOTE TO RFC EDITOR: Please replace the following reference
-          to draft-ietf-i2rs-yang-network-topo-02 with
-          RFC number when published (i.e. RFC xxxx).";
-       reference
-         "draft-ietf-i2rs-yang-network-topo-02";
-     }
-
-     typedef node-id {
-       type inet:uri;
-       description
-         "Identifier for a node.";
-     }
-
-     typedef network-id {
-       type inet:uri;
-       description
-         "Identifier for a network.";
-     }
-     grouping network-ref {
-       description
-         "Contains the information necessary to reference a network,
-          for example an underlay network.";
-       leaf network-ref {
-         type leafref {
-           path "/nd:networks/nd:network/nd:network-id";
-         require-instance false;
-         }
-         description
-           "Used to reference a network, for example an underlay
-            network.";
-       }
-     }
-
-     grouping node-ref {
-       description
-         "Contains the information necessary to reference a node.";
-       leaf node-ref {
-         type leafref {
-           path "/nd:networks/nd:network[nd:network-id=current()/../"+
-             "network-ref]/nd:node/nd:node-id";
-           require-instance false;
-         }
-         description
-           "Used to reference a node.
-            Nodes are identified relative to the network they are
-            contained in.";
-       }
-       uses network-ref;
-     }
-
-     container networks {
-       description
-         "Serves as top-level container for a list of networks.";
-       list network {
-         key "network-id";
-         description
-           "Describes a network.
-            A network typically contains an inventory of nodes,
-            topological information (augmented through
-            network-topology model), as well as layering
-            information.";
-         container network-types {
-           description
-             "Serves as an augmentation target.
-              The network type is indicated through corresponding
-              presence containers augmented into this container.";
-         }
-         leaf network-id {
-           type inet:uri;
-           description
-             "Identifies a network.";
-         }
-         list supporting-network {
-           key "network-ref";
-           description
-             "An underlay network, used to represent layered network
-              topologies.";
-           leaf network-ref {
-             type leafref {
-               path "/networks/network/network-id";
-             require-instance false;
-             }
-             description
-               "References the underlay network.";
-           }
-         }
-         list node {
-           key "node-id";
-           description
-             "The inventory of nodes of this network.";
-           leaf node-id {
-             type node-id;
-             description
-               "Identifies a node uniquely within the containing
-                network.";
-           }
-           list supporting-node {
-             key "network-ref node-ref";
-             description
-               "Represents another node, in an underlay network, that
-                this node is supported by.  Used to represent layering
-                structure.";
-             leaf network-ref {
-               type leafref {
-                 path "../../../supporting-network/network-ref";
-               require-instance false;
-               }
-               description
-                 "References the underlay network that the
-                  underlay node is part of.";
-             }
-             leaf node-ref {
-               type leafref {
-                 path "/networks/network/node/node-id";
-               require-instance false;
-               }
-               description
-                 "References the underlay node itself.";
-             }
-           }
-         }
-       }
-     }
-     container networks-state {
-       config false;
-       description
-         "Serves as top-level container for a list of state information
-          for networks";
-       list network {
-         key "network-ref";
-         description
-           "Data nodes representing operational data and state of
-            networks.
-            An instance is automatically created for every network
-            in the corresponding list under the networks container.";
-         uses network-ref;
-         leaf server-provided {
-           type boolean;
-           description
-             "Indicates whether the information concerning this
-              particular network is populated by the server
-              (server-provided true, the general case for network
-              information discovered from the server),
-              or whether it is configured by a client
-              (server-provided true, possible e.g. for
-              service overlays managed through a controller).";
-         }
-       }
-     }
-   }
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/integer16.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/integer16.yang
deleted file mode 100644
index 8db77be..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/integer16.yang
+++ /dev/null
@@ -1,98 +0,0 @@
-module integer16 {
-
-    yang-version 1;
-
-    namespace "ydt.integer16";
-
-    prefix "integer16";
-
-    organization "ON-LAB";
-
-    description "This module defines for integer16 classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    list multiRangeValidation {
-        config false;
-        leaf integer {
-              type int16 {
-                 range "10..40 | 50..100";
-              }
-        }
-        leaf UnInteger {
-              type uint16 {
-                 range "10..40 | 50..100";
-              }
-        }
-
-        leaf revInteger {
-              type int16 {
-                 range "min .. 2 | 10 | 20..max";
-              }
-        }
-
-        leaf revUnInteger {
-              type uint16 {
-                 range "min .. 2 | 10 | 20..max";
-              }
-        }
-    }
-
-    leaf negInt {
-          type int16 {
-         }
-    }
-
-    leaf posInt {
-          type int16 {
-         }
-    }
-
-    leaf minIntWithRange {
-          type int16 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf midIntWithRange {
-          type int16 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf maxIntWithRange {
-          type int16 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf minUInt {
-          type uint16 {
-         }
-    }
-
-    leaf maxUInt {
-          type uint16 {
-         }
-    }
-
-    leaf minUIntWithRange {
-          type uint16 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf midUIntWithRange {
-          type uint16 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf maxUIntWithRange {
-          type uint16 {
-             range "10 .. 100";
-         }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/integer32.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/integer32.yang
deleted file mode 100644
index fb596cf..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/integer32.yang
+++ /dev/null
@@ -1,98 +0,0 @@
-module integer32 {
-
-    yang-version 1;
-
-    namespace "ydt.integer32";
-
-    prefix "integer32";
-
-    organization "ON-LAB";
-
-    description "This module defines for integer32 classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    list multiRangeValidation {
-        config false;
-        leaf integer {
-              type int32 {
-                 range "10..40 | 50..100";
-              }
-        }
-        leaf UnInteger {
-              type uint32 {
-                 range "10..40 | 50..100";
-              }
-        }
-
-        leaf revInteger {
-              type int32 {
-                 range "min .. 2 | 10 | 20..max";
-              }
-        }
-
-        leaf revUnInteger {
-              type uint32 {
-                 range "min .. 2 | 10 | 20..max";
-              }
-        }
-    }
-
-    leaf negInt {
-          type int32 {
-         }
-    }
-
-    leaf posInt {
-          type int32 {
-         }
-    }
-
-    leaf minIntWithRange {
-          type int32 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf midIntWithRange {
-          type int32 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf maxIntWithRange {
-          type int32 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf minUInt {
-          type uint32 {
-         }
-    }
-
-    leaf maxUInt {
-          type uint32 {
-         }
-    }
-
-    leaf minUIntWithRange {
-          type uint32 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf midUIntWithRange {
-          type uint32 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf maxUIntWithRange {
-          type uint32 {
-             range "10 .. 100";
-         }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/integer64.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/integer64.yang
deleted file mode 100644
index 39479c6..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/integer64.yang
+++ /dev/null
@@ -1,98 +0,0 @@
-module integer64 {
-
-    yang-version 1;
-
-    namespace "ydt.integer64";
-
-    prefix "integer64";
-
-    organization "ON-LAB";
-
-    description "This module defines for integer64 classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    list multiRangeValidation {
-        config false;
-        leaf integer {
-              type int64 {
-                 range "10..40 | 50..100";
-              }
-        }
-        leaf UnInteger {
-              type uint64 {
-                 range "10..40 | 50..100";
-              }
-        }
-
-        leaf revInteger {
-              type int64 {
-                 range "min .. 2 | 10 | 20..max";
-              }
-        }
-
-        leaf revUnInteger {
-              type uint64 {
-                 range "min .. 2 | 10 | 20..max";
-              }
-        }
-    }
-
-    leaf negInt {
-          type int64 {
-         }
-    }
-
-    leaf posInt {
-          type int64 {
-         }
-    }
-
-    leaf minIntWithRange {
-          type int64 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf midIntWithRange {
-          type int64 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf maxIntWithRange {
-          type int64 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf minUInt {
-          type uint64 {
-         }
-    }
-
-    leaf maxUInt {
-          type uint64 {
-         }
-    }
-
-    leaf minUIntWithRange {
-          type uint64 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf midUIntWithRange {
-          type uint64 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf maxUIntWithRange {
-          type uint64 {
-             range "10 .. 100";
-         }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/integer8.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/integer8.yang
deleted file mode 100644
index e05c235..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/integer8.yang
+++ /dev/null
@@ -1,99 +0,0 @@
-module integer8 {
-
-    yang-version 1;
-
-    namespace "ydt.integer8";
-
-    prefix "integer8";
-
-    organization "ON-LAB";
-
-    description "This module defines for integer8 classifier.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    list multiRangeValidation {
-        config false;
-        leaf integer {
-              type int8 {
-                 range "10..40 | 50..100";
-              }
-        }
-        leaf UnInteger {
-              type uint8 {
-                 range "10..40 | 50..100";
-              }
-        }
-
-        leaf revInteger {
-              type int8 {
-                 range "min .. 2 | 10 | 20..max";
-              }
-        }
-
-        leaf revUnInteger {
-              type uint8 {
-                 range "min .. 2 | 10 | 20..max";
-              }
-        }
-    }
-
-
-    leaf negInt {
-          type int8 {
-         }
-    }
-
-    leaf posInt {
-          type int8 {
-         }
-    }
-
-    leaf minIntWithRange {
-          type int8 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf midIntWithRange {
-          type int8 {
-             range "10 .. 100";
-          }
-    }
-
-    leaf maxIntWithRange {
-         type int8 {
-             range "10 .. 100";
-         }
-    }
-
-    leaf minUInt {
-         type uint8 {
-         }
-    }
-
-    leaf maxUInt {
-         type uint8 {
-         }
-    }
-
-    leaf minUIntWithRange {
-          type uint8 {
-             range "10 .. 100";
-          }
-    }
-
-    leaf midUIntWithRange {
-          type uint8 {
-             range "10 .. 100";
-          }
-    }
-
-    leaf maxUIntWithRange {
-          type uint8 {
-             range "10 .. 100";
-          }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/logisticsmanager.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/logisticsmanager.yang
deleted file mode 100644
index 7198611..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/logisticsmanager.yang
+++ /dev/null
@@ -1,16 +0,0 @@
-module logisticsmanager {
-
-    yang-version 1;
-
-    namespace "ydt.logistics-manager";
-
-    prefix "root";
-
-    organization "ON-LAB";
-
-    description "This module defines for logistics-manager.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/materialsupervisor.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/materialsupervisor.yang
deleted file mode 100644
index 6ab16ea..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/materialsupervisor.yang
+++ /dev/null
@@ -1,29 +0,0 @@
-module materialsupervisor {
-
-    yang-version 1;
-
-    namespace "ydt.material-supervisor";
-
-    prefix "material";
-
-    organization "ON-LAB";
-
-    description "This module defines for material-supervisor.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    list supervisor {
-        key "name";
-        leaf name {
-            type string;
-            description "name of material-supervisor";
-        }
-
-        leaf departmentId {
-            type string;
-            description "name of department";
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/merchandisersupervisor.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/merchandisersupervisor.yang
deleted file mode 100644
index db40c7e..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/merchandisersupervisor.yang
+++ /dev/null
@@ -1,21 +0,0 @@
-module merchandisersupervisor {
-
-    yang-version 1;
-
-    namespace "ydt.Merchandiser-supervisor";
-
-    prefix "merchandiser";
-
-    organization "ON-LAB";
-
-    description "This module defines for Merchandiser-supervisor.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    leaf supervisor {
-        type string;
-        description "name of the Merchandiser-supervisor.";
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/purchasingsupervisor.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/purchasingsupervisor.yang
deleted file mode 100644
index a52b4c5..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/purchasingsupervisor.yang
+++ /dev/null
@@ -1,27 +0,0 @@
-module purchasingsupervisor {
-
-    yang-version 1;
-
-    namespace "ydt.purchasing-supervisor";
-
-    prefix "purchasing";
-
-    organization "ON-LAB";
-
-    description "This module defines for purchasing-supervisor.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    container supervisor {
-        leaf purchasing-specialist {
-            type string;
-            description "name of the purchasing-specialist person";
-        }
-        leaf support {
-            type string;
-            description "name of the support person";
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/rootlist.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/rootlist.yang
deleted file mode 100644
index ef5a0a0..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/rootlist.yang
+++ /dev/null
@@ -1,111 +0,0 @@
-module rootlist {
-
-    yang-version 1;
-
-    namespace "ydt.rootlist";
-
-    prefix "rootlist";
-
-    organization "ON-LAB";
-
-    description "This submodule defines for root.";
-
-    revision "2016-06-24" {
-        description "Initial revision.";
-    }
-/*
-                 +--------------+---------+-------------+
-                 | substatement | section | cardinality |
-                 +--------------+---------+-------------+
-                 | anyxml       | 7.10    | 0..n        |
-                 | choice       | 7.9     | 0..n        |
-                 | config       | 7.19.1  | 0..1        |
-                 | container    | 7.5     | 0..n        |
-                 | description  | 7.19.3  | 0..1        |
-                 | grouping     | 7.11    | 0..n        |
-                 | if-feature   | 7.18.2  | 0..n        |
-                 | key          | 7.8.2   | 0..1        |
-                 | leaf         | 7.6     | 0..n        |
-                 | leaf-list    | 7.7     | 0..n        |
-                 | list         | 7.8     | 0..n        |
-                 | max-elements | 7.7.4   | 0..1        |
-                 | min-elements | 7.7.3   | 0..1        |
-                 | must         | 7.5.3   | 0..n        |
-                 | ordered-by   | 7.7.5   | 0..1        |
-                 | reference    | 7.19.4  | 0..1        |
-                 | status       | 7.19.2  | 0..1        |
-                 | typedef      | 7.3     | 0..n        |
-                 | unique       | 7.8.3   | 0..n        |
-                 | uses         | 7.12    | 0..n        |
-                 | when         | 7.19.5  | 0..1        |
-                 +--------------+---------+-------------+
-*/
-
-    list listwithoutcontainer {
-        key "invalidinterval";
-        min-elements 1;  //-- comment
-        leaf invalidinterval {
-            type "uint16";
-            units "seconds";
-            description "Interval before a route is declared invalid";
-            config true;
-            mandatory true;
-            status current;
-            reference "RFC 6020";
-        }
-    }
-
-     list listwithcontainer {
-            key "invalid invalid1";
-            max-elements 3;
-            min-elements 1;
-            reference "list reference";
-            unique "invalid";
-            leaf-list invalidinterval {
-                type "uint16";
-                units "seconds";
-                description "Interval before a route is declared invalid";
-                config false;
-                status current;
-                reference "RFC 6020";
-            }
-
-            container interface {
-                leaf invalidinterval {
-                    type "uint16";
-                    units "seconds";
-                    status current;
-                    mandatory true;
-                    reference "RFC 6020";
-                }
-
-                leaf invalid {
-                    type "uint16";
-                    units "seconds";
-                    description "Interval before a route is declared invalid";
-                    default "16";
-                    status current;
-                    reference "RFC 6020";
-                }
-
-            }
-
-            leaf invalid {
-                type "uint16";
-                units "seconds";
-                description "Interval before a route is declared invalid";
-                mandatory true;
-                status current;
-                reference "RFC 6020";
-            }
-
-            leaf invalid1 {
-                type "uint16";
-                units "seconds";
-                description "Interval before a route is declared invalid";
-                mandatory true;
-                status current;
-                reference "RFC 6020";
-            }
-     }
-}
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/tradingsupervisor.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/tradingsupervisor.yang
deleted file mode 100644
index a6c8681..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/tradingsupervisor.yang
+++ /dev/null
@@ -1,21 +0,0 @@
-module tradingsupervisor {
-
-    yang-version 1;
-
-    namespace "ydt.trading-supervisor";
-
-    prefix "trading";
-
-    organization "ON-LAB";
-
-    description "This module defines for trading-supervisor.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    leaf supervisor {
-        type string;
-        description "name of the trading-supervisor";
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/warehousesupervisor.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/warehousesupervisor.yang
deleted file mode 100644
index 5145824..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/warehousesupervisor.yang
+++ /dev/null
@@ -1,21 +0,0 @@
-module warehousesupervisor {
-
-    yang-version 1;
-
-    namespace "ydt.warehouse-supervisor";
-
-    prefix "warehouse";
-
-    organization "ON-LAB";
-
-    description "This module defines for warehouse-supervisor.";
-
-    revision "2016-05-24" {
-        description "Initial revision.";
-    }
-
-    leaf-list supervisor {
-        type string;
-        description "name of the warehouse-supervisor's";
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ydtTestYangFiles/yms-network-topology.yang b/apps/yms/app/src/test/resources/ydtTestYangFiles/yms-network-topology.yang
deleted file mode 100644
index 6b9452c..0000000
--- a/apps/yms/app/src/test/resources/ydtTestYangFiles/yms-network-topology.yang
+++ /dev/null
@@ -1,304 +0,0 @@
- module yms-network-topology {
-   yang-version 1;
-   namespace "urn:ietf:params:xml:ns:yang:ietf-network-topology";
-   prefix lnk;
-
-   import yms-ietf-inet-types {
-     prefix inet;
-   }
-   import yms-ietf-network {
-     prefix nd;
-   }
-
-   organization
-     "IETF I2RS (Interface to the Routing System) Working Group";
-
-   contact
-     "WG Web:    <http://tools.ietf.org/wg/i2rs/>
-      WG List:   <mailto:i2rs@ietf.org>
-
-      WG Chair:  Susan Hares
-                 <mailto:shares@ndzh.com>
-
-      WG Chair:  Jeffrey Haas
-                 <mailto:jhaas@pfrc.org>
-
-      Editor:    Alexander Clemm
-                 <mailto:alex@cisco.com>
-
-      Editor:    Jan Medved
-                 <mailto:jmedved@cisco.com>
-
-      Editor:    Robert Varga
-                 <mailto:rovarga@cisco.com>
-
-      Editor:    Tony Tkacik
-                 <mailto:ttkacik@cisco.com>
-
-      Editor:    Nitin Bahadur
-                 <mailto:nitin_bahadur@yahoo.com>
-
-      Editor:    Hariharan Ananthakrishnan
-                 <mailto:hari@packetdesign.com>";
-
-   description
-     "This module defines a common base model for network topology,
-      augmenting the base network model with links to connect nodes,
-      as well as termination points to terminate links on nodes.
-
-      Copyright (c) 2015 IETF Trust and the persons identified as
-      authors of the code.  All rights reserved.
-
-      Redistribution and use in source and binary forms, with or
-      without modification, is permitted pursuant to, and subject
-      to the license terms contained in, the Simplified BSD License
-      set forth in Section 4.c of the IETF Trust's Legal Provisions
-      Relating to IETF Documents
-      (http://trustee.ietf.org/license-info).
-
-      This version of this YANG module is part of
-      draft-ietf-i2rs-yang-network-topo-02;
-      see the RFC itself for full legal notices.
-
-      NOTE TO RFC EDITOR: Please replace above reference to
-      draft-ietf-i2rs-yang-network-topo-02 with RFC
-      number when published (i.e. RFC xxxx).";
-
-   revision 2015-12-08 {
-     description
-       "Initial revision.
-        NOTE TO RFC EDITOR: Please replace the following reference
-        to draft-ietf-i2rs-yang-network-topo-02 with
-        RFC number when published (i.e. RFC xxxx).";
-     reference
-       "draft-ietf-i2rs-yang-network-topo-02.";
-   }
-
-   typedef link-id {
-     type inet:uri;
-     description
-       "An identifier for a link in a topology.
-        The identifier SHOULD be chosen such that the same link in a
-        real network topology will always be identified through the
-        same identifier, even if the model is instantiated in
-            separate datastores. An implementation MAY choose to capture
-        semantics in the identifier, for example to indicate the type
-        of link and/or the type of topology that the link is a part
-        of.";
-   }
-
-   typedef tp-id {
-     type inet:uri;
-     description
-       "An identifier for termination points on a node.
-        The identifier SHOULD be chosen such that the same TP in a
-        real network topology will always be identified through the
-        same identifier, even if the model is instantiated in
-        separate datastores. An implementation MAY choose to capture
-        semantics in the identifier, for example to indicate the type
-        of TP and/or the type of node and topology that the TP is a
-        part of.";
-   }
-   grouping link-ref {
-     description
-       "References a link in a specific network.";
-     leaf link-ref {
-       type leafref {
-         path "/nd:networks/nd:network[nd:network-id=current()/../"+
-           "network-ref]/lnk:link/lnk:link-id";
-         require-instance false;
-       }
-       description
-         "A type for an absolute reference a link instance.
-          (This type should not be used for relative references.
-          In such a case, a relative path should be used instead.)";
-     }
-     uses nd:network-ref;
-   }
-
-   grouping tp-ref {
-     description
-       "References a termination point in a specific node.";
-     leaf tp-ref {
-       type leafref {
-         path "/nd:networks/nd:network[nd:network-id=current()/../"+
-           "network-ref]/nd:node[nd:node-id=current()/../"+
-           "node-ref]/lnk:termination-point/lnk:tp-id";
-         require-instance false;
-       }
-       description
-         "A type for an absolute reference to a termination point.
-          (This type should not be used for relative references.
-          In such a case, a relative path should be used instead.)";
-     }
-     uses nd:node-ref;
-   }
-
-   augment "/nd:networks/nd:network" {
-     description
-       "Add links to the network model.";
-     list link {
-       key "link-id";
-       description
-         "A Network Link connects a by Local (Source) node and
-          a Remote (Destination) Network Nodes via a set of the
-          nodes' termination points.
-          As it is possible to have several links between the same
-          source and destination nodes, and as a link could
-          potentially be re-homed between termination points, to
-          ensure that we would always know to distinguish between
-          links, every link is identified by a dedicated link
-          identifier.
-          Note that a link models a point-to-point link, not a
-          multipoint link.
-          Layering dependencies on links in underlay topologies are
-          not represented as the layering information of nodes and of
-          termination points is sufficient.";
-       container source {
-         description
-           "This container holds the logical source of a particular
-            link.";
-         leaf source-node {
-           type leafref {
-             path "../../../nd:node/nd:node-id";
-           }
-           mandatory true;
-           description
-             "Source node identifier, must be in same topology.";
-         }
-         leaf source-tp {
-           type leafref {
-             path "../../../nd:node[nd:node-id=current()/../"+
-               "source-node]/t-point/tp-id";
-           }
-           description
-             "Termination point within source node that terminates
-              the link.";
-         }
-       }
-       container destination {
-         description
-           "This container holds the logical destination of a
-            particular link.";
-         leaf dest-node {
-           type leafref {
-             path "../../../nd:node/nd:node-id";
-           }
-           mandatory true;
-           description
-             "Destination node identifier, must be in the same
-              network.";
-         }
-         leaf dest-tp {
-           type leafref {
-             path "../../../nd:node[nd:node-id=current()/../"+
-               "dest-node]/t-point/tp-id";
-           }
-           description
-             "Termination point within destination node that
-              terminates the link.";
-         }
-       }
-       leaf link-id {
-         type link-id;
-         description
-           "The identifier of a link in the topology.
-            A link is specific to a topology to which it belongs.";
-       }
-       list supporting-link {
-         key "network-ref link-ref";
-         description
-           "Identifies the link, or links, that this link
-            is dependent on.";
-         leaf network-ref {
-           type leafref {
-             path "../../../nd:supporting-network/nd:network-ref";
-           require-instance false;
-           }
-           description
-             "This leaf identifies in which underlay topology
-              supporting link is present.";
-         }
-         leaf link-ref {
-           type leafref {
-             path "/nd:networks/nd:network[nd:network-id=current()/"+
-               "../network-ref]/link/link-id";
-             require-instance false;
-           }
-           description
-             "This leaf identifies a link which is a part
-              of this link's underlay. Reference loops, in which
-              a link identifies itself as its underlay, either
-              directly or transitively, are not allowed.";
-         }
-       }
-     }
-
-     leaf link-id {
-        type link-id;
-        description
-            "The identifier of a link in the topology.
-             A link is specific to a topology to which it belongs.";
-     }
-   }
-   augment "/nd:networks/nd:network/nd:node" {
-     description
-       "Augment termination points which terminate links.
-        Termination points can ultimately be mapped to interfaces.";
-     list t-point {
-       key "tp-id";
-       description
-         "A termination point can terminate a link.
-          Depending on the type of topology, a termination point
-          could, for example, refer to a port or an interface.";
-       leaf tp-id {
-         type tp-id;
-         description
-           "Termination point identifier.";
-       }
-       list supporting-termination-point {
-         key "network-ref node-ref tp-ref";
-         description
-           "The leaf list identifies any termination points that
-            the termination point is dependent on, or maps onto.
-            Those termination points will themselves be contained
-            in a supporting node.
-            This dependency information can be inferred from
-            the dependencies between links.  For this reason,
-            this item is not separately configurable.  Hence no
-            corresponding constraint needs to be articulated.
-            The corresponding information is simply provided by the
-            implementing system.";
-         leaf network-ref {
-           type leafref {
-             path "../../../nd:supporting-node/nd:network-ref";
-           require-instance false;
-           }
-           description
-             "This leaf identifies in which topology the
-              supporting termination point is present.";
-         }
-         leaf node-ref {
-           type leafref {
-             path "../../../nd:supporting-node/nd:node-ref";
-           require-instance false;
-           }
-           description
-             "This leaf identifies in which node the supporting
-              termination point is present.";
-         }
-         leaf tp-ref {
-           type leafref {
-             path "/nd:networks/nd:network[nd:network-id=current()/"+
-               "../network-ref]/nd:node[nd:node-id=current()/../"+
-               "node-ref]/t-point/tp-id";
-             require-instance false;
-           }
-           description
-             "Reference to the underlay node, must be in a
-              different topology";
-         }
-       }
-     }
-   }
- }
diff --git a/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/norev.yang b/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/norev.yang
deleted file mode 100644
index 23eaaba..0000000
--- a/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/norev.yang
+++ /dev/null
@@ -1,85 +0,0 @@
-   module ietf-network4 {
-     yang-version 1;
-     namespace "urn:ietf:params:xml:ns:yang:ietf-network4";
-     prefix nd;
-
-     organization
-       "IETF I2RS (Interface to the Routing System) Working Group";
-
-     contact
-       "WG Web:    <http://tools.ietf.org/wg/i2rs/>
-        WG List:   <mailto:i2rs@ietf.org>
-
-        WG Chair:  Susan Hares
-                   <mailto:shares@ndzh.com>
-
-        WG Chair:  Jeffrey Haas
-                   <mailto:jhaas@pfrc.org>
-
-        Editor:    Alexander Clemm
-                   <mailto:alex@cisco.com>
-
-        Editor:    Jan Medved
-                   <mailto:jmedved@cisco.com>
-
-        Editor:    Robert Varga
-                   <mailto:rovarga@cisco.com>
-
-        Editor:    Tony Tkacik
-                   <mailto:ttkacik@cisco.com>
-
-        Editor:    Nitin Bahadur
-                   <mailto:nitin_bahadur@yahoo.com>
-
-        Editor:    Hariharan Ananthakrishnan
-                   <mailto:hari@packetdesign.com>";
-
-     description
-       "This module defines a common base model for a collection
-        of nodes in a network. Node definitions are further used
-        in network topologies and inventories.
-
-        Copyright (c) 2015 IETF Trust and the persons identified as
-        authors of the code.  All rights reserved.
-
-        Redistribution and use in source and binary forms, with or
-        without modification, is permitted pursuant to, and subject
-        to the license terms contained in, the Simplified BSD License
-        set forth in Section 4.c of the IETF Trust's Legal Provisions
-        Relating to IETF Documents
-        (http://trustee.ietf.org/license-info).
-
-        This version of this YANG module is part of
-        draft-ietf-i2rs-yang-network-topo-02;
-        see the RFC itself for full legal notices.
-
-        NOTE TO RFC EDITOR: Please replace above reference to
-        draft-ietf-i2rs-yang-network-topo-02 with RFC
-        number when published (i.e. RFC xxxx).";
-
-     notification network-up {
-         container networks {
-             leaf id {
-                 type int32;
-             }
-             container network {
-                  leaf ip-address {
-                      type int32;
-                  }
-             }
-         }
-      }
-     notification network-down {
-         container networks {
-             leaf id {
-                 type int32;
-             }
-             container network {
-                  leaf ip-address {
-                      type int32;
-                  }
-             }
-         }
-     }
-
-}
diff --git a/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/withrev.yang b/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/withrev.yang
deleted file mode 100644
index ab0cffa..0000000
--- a/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/withrev.yang
+++ /dev/null
@@ -1,95 +0,0 @@
-   module ietf-network4 {
-     yang-version 1;
-     namespace "urn:ietf:params:xml:ns:yang:ietf-network4";
-     prefix nd;
-
-     organization
-       "IETF I2RS (Interface to the Routing System) Working Group";
-
-     contact
-       "WG Web:    <http://tools.ietf.org/wg/i2rs/>
-        WG List:   <mailto:i2rs@ietf.org>
-
-        WG Chair:  Susan Hares
-                   <mailto:shares@ndzh.com>
-
-        WG Chair:  Jeffrey Haas
-                   <mailto:jhaas@pfrc.org>
-
-        Editor:    Alexander Clemm
-                   <mailto:alex@cisco.com>
-
-        Editor:    Jan Medved
-                   <mailto:jmedved@cisco.com>
-
-        Editor:    Robert Varga
-                   <mailto:rovarga@cisco.com>
-
-        Editor:    Tony Tkacik
-                   <mailto:ttkacik@cisco.com>
-
-        Editor:    Nitin Bahadur
-                   <mailto:nitin_bahadur@yahoo.com>
-
-        Editor:    Hariharan Ananthakrishnan
-                   <mailto:hari@packetdesign.com>";
-
-     description
-       "This module defines a common base model for a collection
-        of nodes in a network. Node definitions are further used
-        in network topologies and inventories.
-
-        Copyright (c) 2015 IETF Trust and the persons identified as
-        authors of the code.  All rights reserved.
-
-        Redistribution and use in source and binary forms, with or
-        without modification, is permitted pursuant to, and subject
-        to the license terms contained in, the Simplified BSD License
-        set forth in Section 4.c of the IETF Trust's Legal Provisions
-        Relating to IETF Documents
-        (http://trustee.ietf.org/license-info).
-
-        This version of this YANG module is part of
-        draft-ietf-i2rs-yang-network-topo-02;
-        see the RFC itself for full legal notices.
-
-        NOTE TO RFC EDITOR: Please replace above reference to
-        draft-ietf-i2rs-yang-network-topo-02 with RFC
-        number when published (i.e. RFC xxxx).";
-
-     revision 2015-12-08 {
-       description
-         "Initial revision.
-          NOTE TO RFC EDITOR: Please replace the following reference
-          to draft-ietf-i2rs-yang-network-topo-02 with
-          RFC number when published (i.e. RFC xxxx).";
-       reference
-         "draft-ietf-i2rs-yang-network-topo-02";
-     }
-
-     notification network-up {
-         container networks {
-             leaf id {
-                 type int32;
-             }
-             container network {
-                  leaf ip-address {
-                      type int32;
-                  }
-             }
-         }
-      }
-     notification network-down {
-         container networks {
-             leaf id {
-                 type int32;
-             }
-             container network {
-                  leaf ip-address {
-                      type int32;
-                  }
-             }
-         }
-     }
-
-}
diff --git a/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/withrev2.yang b/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/withrev2.yang
deleted file mode 100644
index f7c9a16..0000000
--- a/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/withrev2.yang
+++ /dev/null
@@ -1,95 +0,0 @@
-   module ietf-network4 {
-     yang-version 1;
-     namespace "urn:ietf:params:xml:ns:yang:ietf-network4";
-     prefix nd;
-
-     organization
-       "IETF I2RS (Interface to the Routing System) Working Group";
-
-     contact
-       "WG Web:    <http://tools.ietf.org/wg/i2rs/>
-        WG List:   <mailto:i2rs@ietf.org>
-
-        WG Chair:  Susan Hares
-                   <mailto:shares@ndzh.com>
-
-        WG Chair:  Jeffrey Haas
-                   <mailto:jhaas@pfrc.org>
-
-        Editor:    Alexander Clemm
-                   <mailto:alex@cisco.com>
-
-        Editor:    Jan Medved
-                   <mailto:jmedved@cisco.com>
-
-        Editor:    Robert Varga
-                   <mailto:rovarga@cisco.com>
-
-        Editor:    Tony Tkacik
-                   <mailto:ttkacik@cisco.com>
-
-        Editor:    Nitin Bahadur
-                   <mailto:nitin_bahadur@yahoo.com>
-
-        Editor:    Hariharan Ananthakrishnan
-                   <mailto:hari@packetdesign.com>";
-
-     description
-       "This module defines a common base model for a collection
-        of nodes in a network. Node definitions are further used
-        in network topologies and inventories.
-
-        Copyright (c) 2015 IETF Trust and the persons identified as
-        authors of the code.  All rights reserved.
-
-        Redistribution and use in source and binary forms, with or
-        without modification, is permitted pursuant to, and subject
-        to the license terms contained in, the Simplified BSD License
-        set forth in Section 4.c of the IETF Trust's Legal Provisions
-        Relating to IETF Documents
-        (http://trustee.ietf.org/license-info).
-
-        This version of this YANG module is part of
-        draft-ietf-i2rs-yang-network-topo-02;
-        see the RFC itself for full legal notices.
-
-        NOTE TO RFC EDITOR: Please replace above reference to
-        draft-ietf-i2rs-yang-network-topo-02 with RFC
-        number when published (i.e. RFC xxxx).";
-
-     revision 2016-12-08 {
-       description
-         "Initial revision.
-          NOTE TO RFC EDITOR: Please replace the following reference
-          to draft-ietf-i2rs-yang-network-topo-02 with
-          RFC number when published (i.e. RFC xxxx).";
-       reference
-         "draft-ietf-i2rs-yang-network-topo-02";
-     }
-
-     notification network-up {
-         container networks {
-             leaf id {
-                 type int32;
-             }
-             container network {
-                  leaf ip-address {
-                      type int32;
-                  }
-             }
-         }
-      }
-     notification network-down {
-         container networks {
-             leaf id {
-                 type int32;
-             }
-             container network {
-                  leaf ip-address {
-                      type int32;
-                  }
-             }
-         }
-     }
-
-}
diff --git a/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/withrev3.yang b/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/withrev3.yang
deleted file mode 100644
index f4abc06..0000000
--- a/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/withrev3.yang
+++ /dev/null
@@ -1,95 +0,0 @@
-   module ietf-network4 {
-     yang-version 1;
-     namespace "urn:ietf:params:xml:ns:yang:ietf-network4";
-     prefix nd;
-
-     organization
-       "IETF I2RS (Interface to the Routing System) Working Group";
-
-     contact
-       "WG Web:    <http://tools.ietf.org/wg/i2rs/>
-        WG List:   <mailto:i2rs@ietf.org>
-
-        WG Chair:  Susan Hares
-                   <mailto:shares@ndzh.com>
-
-        WG Chair:  Jeffrey Haas
-                   <mailto:jhaas@pfrc.org>
-
-        Editor:    Alexander Clemm
-                   <mailto:alex@cisco.com>
-
-        Editor:    Jan Medved
-                   <mailto:jmedved@cisco.com>
-
-        Editor:    Robert Varga
-                   <mailto:rovarga@cisco.com>
-
-        Editor:    Tony Tkacik
-                   <mailto:ttkacik@cisco.com>
-
-        Editor:    Nitin Bahadur
-                   <mailto:nitin_bahadur@yahoo.com>
-
-        Editor:    Hariharan Ananthakrishnan
-                   <mailto:hari@packetdesign.com>";
-
-     description
-       "This module defines a common base model for a collection
-        of nodes in a network. Node definitions are further used
-        in network topologies and inventories.
-
-        Copyright (c) 2015 IETF Trust and the persons identified as
-        authors of the code.  All rights reserved.
-
-        Redistribution and use in source and binary forms, with or
-        without modification, is permitted pursuant to, and subject
-        to the license terms contained in, the Simplified BSD License
-        set forth in Section 4.c of the IETF Trust's Legal Provisions
-        Relating to IETF Documents
-        (http://trustee.ietf.org/license-info).
-
-        This version of this YANG module is part of
-        draft-ietf-i2rs-yang-network-topo-02;
-        see the RFC itself for full legal notices.
-
-        NOTE TO RFC EDITOR: Please replace above reference to
-        draft-ietf-i2rs-yang-network-topo-02 with RFC
-        number when published (i.e. RFC xxxx).";
-
-     revision 2014-12-08 {
-       description
-         "Initial revision.
-          NOTE TO RFC EDITOR: Please replace the following reference
-          to draft-ietf-i2rs-yang-network-topo-02 with
-          RFC number when published (i.e. RFC xxxx).";
-       reference
-         "draft-ietf-i2rs-yang-network-topo-02";
-     }
-
-     notification network-up {
-         container networks {
-             leaf id {
-                 type int32;
-             }
-             container network {
-                  leaf ip-address {
-                      type int32;
-                  }
-             }
-         }
-      }
-     notification network-down {
-         container networks {
-             leaf id {
-                 type int32;
-             }
-             container network {
-                  leaf ip-address {
-                      type int32;
-                  }
-             }
-         }
-     }
-
-}
diff --git a/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/withrev4.yang b/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/withrev4.yang
deleted file mode 100644
index 9352fb4..0000000
--- a/apps/yms/app/src/test/resources/ysrTestYangFiles/multiRevisions/withrev4.yang
+++ /dev/null
@@ -1,76 +0,0 @@
-   module ietf-network4 {
-     yang-version 1;
-     namespace "urn:ietf:params:xml:ns:yang:ietf-network4";
-     prefix nd;
-
-     organization
-       "IETF I2RS (Interface to the Routing System) Working Group";
-
-     contact
-       "WG Web:    <http://tools.ietf.org/wg/i2rs/>
-        WG List:   <mailto:i2rs@ietf.org>
-
-        WG Chair:  Susan Hares
-                   <mailto:shares@ndzh.com>
-
-        WG Chair:  Jeffrey Haas
-                   <mailto:jhaas@pfrc.org>
-
-        Editor:    Alexander Clemm
-                   <mailto:alex@cisco.com>
-
-        Editor:    Jan Medved
-                   <mailto:jmedved@cisco.com>
-
-        Editor:    Robert Varga
-                   <mailto:rovarga@cisco.com>
-
-        Editor:    Tony Tkacik
-                   <mailto:ttkacik@cisco.com>
-
-        Editor:    Nitin Bahadur
-                   <mailto:nitin_bahadur@yahoo.com>
-
-        Editor:    Hariharan Ananthakrishnan
-                   <mailto:hari@packetdesign.com>";
-
-     description
-       "This module defines a common base model for a collection
-        of nodes in a network. Node definitions are further used
-        in network topologies and inventories.
-
-        Copyright (c) 2015 IETF Trust and the persons identified as
-        authors of the code.  All rights reserved.
-
-        Redistribution and use in source and binary forms, with or
-        without modification, is permitted pursuant to, and subject
-        to the license terms contained in, the Simplified BSD License
-        set forth in Section 4.c of the IETF Trust's Legal Provisions
-        Relating to IETF Documents
-        (http://trustee.ietf.org/license-info).
-
-        This version of this YANG module is part of
-        draft-ietf-i2rs-yang-network-topo-02;
-        see the RFC itself for full legal notices.
-
-        NOTE TO RFC EDITOR: Please replace above reference to
-        draft-ietf-i2rs-yang-network-topo-02 with RFC
-        number when published (i.e. RFC xxxx).";
-
-     revision 2017-12-08 {
-       description
-         "Initial revision.
-          NOTE TO RFC EDITOR: Please replace the following reference
-          to draft-ietf-i2rs-yang-network-topo-02 with
-          RFC number when published (i.e. RFC xxxx).";
-       reference
-         "draft-ietf-i2rs-yang-network-topo-02";
-     }
-
-     container network {
-          leaf ip {
-             type int32;
-          }
-     }
-
-}
diff --git a/apps/yms/app/src/test/resources/ysrTestYangFiles/withNotification/ysr1.yang b/apps/yms/app/src/test/resources/ysrTestYangFiles/withNotification/ysr1.yang
deleted file mode 100644
index a58e99d..0000000
--- a/apps/yms/app/src/test/resources/ysrTestYangFiles/withNotification/ysr1.yang
+++ /dev/null
@@ -1,95 +0,0 @@
-   module ietf-network1 {
-     yang-version 1;
-     namespace "urn:ietf:params:xml:ns:yang:ietf-network1";
-     prefix nd;
-
-     organization
-       "IETF I2RS (Interface to the Routing System) Working Group";
-
-     contact
-       "WG Web:    <http://tools.ietf.org/wg/i2rs/>
-        WG List:   <mailto:i2rs@ietf.org>
-
-        WG Chair:  Susan Hares
-                   <mailto:shares@ndzh.com>
-
-        WG Chair:  Jeffrey Haas
-                   <mailto:jhaas@pfrc.org>
-
-        Editor:    Alexander Clemm
-                   <mailto:alex@cisco.com>
-
-        Editor:    Jan Medved
-                   <mailto:jmedved@cisco.com>
-
-        Editor:    Robert Varga
-                   <mailto:rovarga@cisco.com>
-
-        Editor:    Tony Tkacik
-                   <mailto:ttkacik@cisco.com>
-
-        Editor:    Nitin Bahadur
-                   <mailto:nitin_bahadur@yahoo.com>
-
-        Editor:    Hariharan Ananthakrishnan
-                   <mailto:hari@packetdesign.com>";
-
-     description
-       "This module defines a common base model for a collection
-        of nodes in a network. Node definitions are further used
-        in network topologies and inventories.
-
-        Copyright (c) 2015 IETF Trust and the persons identified as
-        authors of the code.  All rights reserved.
-
-        Redistribution and use in source and binary forms, with or
-        without modification, is permitted pursuant to, and subject
-        to the license terms contained in, the Simplified BSD License
-        set forth in Section 4.c of the IETF Trust's Legal Provisions
-        Relating to IETF Documents
-        (http://trustee.ietf.org/license-info).
-
-        This version of this YANG module is part of
-        draft-ietf-i2rs-yang-network-topo-02;
-        see the RFC itself for full legal notices.
-
-        NOTE TO RFC EDITOR: Please replace above reference to
-        draft-ietf-i2rs-yang-network-topo-02 with RFC
-        number when published (i.e. RFC xxxx).";
-
-     revision 2015-12-08 {
-       description
-         "Initial revision.
-          NOTE TO RFC EDITOR: Please replace the following reference
-          to draft-ietf-i2rs-yang-network-topo-02 with
-          RFC number when published (i.e. RFC xxxx).";
-       reference
-         "draft-ietf-i2rs-yang-network-topo-02";
-     }
-
-     notification network-up {
-         container networks {
-             leaf id {
-                 type int32;
-             }
-             container network {
-                  leaf ip-address {
-                      type int32;
-                  }
-             }
-         }
-      }
-     notification network-down {
-         container networks {
-             leaf id {
-                 type int32;
-             }
-             container network {
-                  leaf ip-address {
-                      type int32;
-                  }
-             }
-         }
-     }
-
-}
diff --git a/apps/yms/app/src/test/resources/ysrTestYangFiles/withNotification/ysr2.yang b/apps/yms/app/src/test/resources/ysrTestYangFiles/withNotification/ysr2.yang
deleted file mode 100644
index c241068..0000000
--- a/apps/yms/app/src/test/resources/ysrTestYangFiles/withNotification/ysr2.yang
+++ /dev/null
@@ -1,95 +0,0 @@
-   module ietf-network2 {
-     yang-version 1;
-     namespace "urn:ietf:params:xml:ns:yang:ietf-network2";
-     prefix nd;
-
-     organization
-       "IETF I2RS (Interface to the Routing System) Working Group";
-
-     contact
-       "WG Web:    <http://tools.ietf.org/wg/i2rs/>
-        WG List:   <mailto:i2rs@ietf.org>
-
-        WG Chair:  Susan Hares
-                   <mailto:shares@ndzh.com>
-
-        WG Chair:  Jeffrey Haas
-                   <mailto:jhaas@pfrc.org>
-
-        Editor:    Alexander Clemm
-                   <mailto:alex@cisco.com>
-
-        Editor:    Jan Medved
-                   <mailto:jmedved@cisco.com>
-
-        Editor:    Robert Varga
-                   <mailto:rovarga@cisco.com>
-
-        Editor:    Tony Tkacik
-                   <mailto:ttkacik@cisco.com>
-
-        Editor:    Nitin Bahadur
-                   <mailto:nitin_bahadur@yahoo.com>
-
-        Editor:    Hariharan Ananthakrishnan
-                   <mailto:hari@packetdesign.com>";
-
-     description
-       "This module defines a common base model for a collection
-        of nodes in a network. Node definitions are further used
-        in network topologies and inventories.
-
-        Copyright (c) 2015 IETF Trust and the persons identified as
-        authors of the code.  All rights reserved.
-
-        Redistribution and use in source and binary forms, with or
-        without modification, is permitted pursuant to, and subject
-        to the license terms contained in, the Simplified BSD License
-        set forth in Section 4.c of the IETF Trust's Legal Provisions
-        Relating to IETF Documents
-        (http://trustee.ietf.org/license-info).
-
-        This version of this YANG module is part of
-        draft-ietf-i2rs-yang-network-topo-02;
-        see the RFC itself for full legal notices.
-
-        NOTE TO RFC EDITOR: Please replace above reference to
-        draft-ietf-i2rs-yang-network-topo-02 with RFC
-        number when published (i.e. RFC xxxx).";
-
-     revision 2015-12-08 {
-       description
-         "Initial revision.
-          NOTE TO RFC EDITOR: Please replace the following reference
-          to draft-ietf-i2rs-yang-network-topo-02 with
-          RFC number when published (i.e. RFC xxxx).";
-       reference
-         "draft-ietf-i2rs-yang-network-topo-02";
-     }
-
-     notification network-up {
-         container networks {
-             leaf id {
-                 type int32;
-             }
-             container network {
-                  leaf ip-address {
-                      type int32;
-                  }
-             }
-         }
-      }
-     notification network-down {
-         container networks {
-             leaf id {
-                 type int32;
-             }
-             container network {
-                  leaf ip-address {
-                      type int32;
-                  }
-             }
-         }
-     }
-
-}
diff --git a/apps/yms/app/src/test/resources/ysrTestYangFiles/withoutNotification/ysr3.yang b/apps/yms/app/src/test/resources/ysrTestYangFiles/withoutNotification/ysr3.yang
deleted file mode 100644
index 0e86062..0000000
--- a/apps/yms/app/src/test/resources/ysrTestYangFiles/withoutNotification/ysr3.yang
+++ /dev/null
@@ -1,81 +0,0 @@
-   module ietf-network3 {
-     yang-version 1;
-     namespace "urn:ietf:params:xml:ns:yang:ietf-network3";
-     prefix nd;
-
-     organization
-       "IETF I2RS (Interface to the Routing System) Working Group";
-
-     contact
-       "WG Web:    <http://tools.ietf.org/wg/i2rs/>
-        WG List:   <mailto:i2rs@ietf.org>
-
-        WG Chair:  Susan Hares
-                   <mailto:shares@ndzh.com>
-
-        WG Chair:  Jeffrey Haas
-                   <mailto:jhaas@pfrc.org>
-
-        Editor:    Alexander Clemm
-                   <mailto:alex@cisco.com>
-
-        Editor:    Jan Medved
-                   <mailto:jmedved@cisco.com>
-
-        Editor:    Robert Varga
-                   <mailto:rovarga@cisco.com>
-
-        Editor:    Tony Tkacik
-                   <mailto:ttkacik@cisco.com>
-
-        Editor:    Nitin Bahadur
-                   <mailto:nitin_bahadur@yahoo.com>
-
-        Editor:    Hariharan Ananthakrishnan
-                   <mailto:hari@packetdesign.com>";
-
-     description
-       "This module defines a common base model for a collection
-        of nodes in a network. Node definitions are further used
-        in network topologies and inventories.
-
-        Copyright (c) 2015 IETF Trust and the persons identified as
-        authors of the code.  All rights reserved.
-
-        Redistribution and use in source and binary forms, with or
-        without modification, is permitted pursuant to, and subject
-        to the license terms contained in, the Simplified BSD License
-        set forth in Section 4.c of the IETF Trust's Legal Provisions
-        Relating to IETF Documents
-        (http://trustee.ietf.org/license-info).
-
-        This version of this YANG module is part of
-        draft-ietf-i2rs-yang-network-topo-02;
-        see the RFC itself for full legal notices.
-
-        NOTE TO RFC EDITOR: Please replace above reference to
-        draft-ietf-i2rs-yang-network-topo-02 with RFC
-        number when published (i.e. RFC xxxx).";
-
-     revision 2015-12-08 {
-       description
-         "Initial revision.
-          NOTE TO RFC EDITOR: Please replace the following reference
-          to draft-ietf-i2rs-yang-network-topo-02 with
-          RFC number when published (i.e. RFC xxxx).";
-       reference
-         "draft-ietf-i2rs-yang-network-topo-02";
-     }
-
-     container networks {
-         leaf id {
-            type int32;
-         }
-         container network {
-              leaf ip-address {
-                  type int32;
-              }
-         }
-     }
-
-}
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbAugmentForRpcInput.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbAugmentForRpcInput.yang
deleted file mode 100644
index 2e8d1b3..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbAugmentForRpcInput.yang
+++ /dev/null
@@ -1,20 +0,0 @@
-module YtbAugmentForRpcInput {
-    yang-version 1;
-    namespace "yms:test:ytb:augment:for:rpc:input";
-    prefix "sch";
-    import YtbRpcResponseWithAdvancedInputAndOutput {
-        prefix rpc;
-    }
-    revision "2016-08-26";
-
-    augment "/rpc:activate-software-image/rpc:output/" {
-        choice selection {
-            list value-in {
-                key "kinetic";
-                leaf kinetic {
-                    type "string";
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbAugmentForRpcInput2.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbAugmentForRpcInput2.yang
deleted file mode 100644
index af59b47..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbAugmentForRpcInput2.yang
+++ /dev/null
@@ -1,17 +0,0 @@
-module YtbAugmentForRpcInput2 {
-    yang-version 1;
-    namespace "yms:test:ytb:augment:for:rpc:input";
-    prefix "sch";
-    import YtbRpcResponseWithAdvancedInputAndOutput {
-        prefix input;
-    }
-    revision "2016-08-26";
-    augment "/input:activate-software-image/input:output/" {
-        list friction {
-            key "speed";
-            leaf speed {
-                type uint64;
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbAugmentFromAnotherFile.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbAugmentFromAnotherFile.yang
deleted file mode 100644
index 8c183c45..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbAugmentFromAnotherFile.yang
+++ /dev/null
@@ -1,41 +0,0 @@
-module YtbAugmentFromAnotherFile {
-    yang-version 1;
-    namespace "yms:test:ytb:augment:from:another:file";
-    prefix "sch";
-    import yms-ietf-network {
-        prefix nd;
-    }
-    revision "2016-08-26";
-
-    augment "/nd:networks/nd:network/nd:node" {
-        list termination-point {
-            key "tp-id";
-            leaf tp-id {
-                type string;
-            }
-            list supporting-termination-point {
-                key "network-ref node-ref tp-ref";
-                leaf network-ref {
-                    type leafref {
-                        path "../../../nd:supporting-node/nd:network-ref";
-                        require-instance false;
-                    }
-                }
-                leaf node-ref {
-                    type leafref {
-                        path "../../../nd:supporting-node/nd:node-ref";
-                        require-instance false;
-                    }
-                }
-                leaf tp-ref {
-                    type leafref {
-                        path "/nd:networks/nd:network[nd:network-id=current()/"+
-                            "../network-ref]/nd:node[nd:node-id=current()/../"+
-                            "node-ref]/termination-point/tp-id";
-                        require-instance false;
-                    }
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbChoiceWithContainerAndLeafList.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbChoiceWithContainerAndLeafList.yang
deleted file mode 100644
index 9ae462e..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbChoiceWithContainerAndLeafList.yang
+++ /dev/null
@@ -1,76 +0,0 @@
-module YtbChoiceWithContainerAndLeafList {
-    yang-version 1;
-    namespace "yms:test:ytb:choice:with:container:and:leaf:list";
-    prefix "sch";
-    revision "2016-08-26";
-    leaf refer {
-        type binary;
-    }
-    rpc invalid1 {
-        input {
-            leaf value {
-                type string;
-            }
-        }
-        output {
-            leaf value {
-                type string;
-            }
-        }
-    }
-    choice content-test {
-        leaf-list list-items {
-            type leafref {
-                path "/refer";
-            }
-        }
-        container choice-container {
-            list predict {
-                config "false";
-                container reproduce {
-                    leaf catch {
-                        type int16;
-                    }
-                }
-            }
-        }
-        case valid {
-            list validlistincase {
-                config "false";
-                leaf validity {
-                    type int32;
-                }
-            }
-        }
-        case invalid {
-            leaf create-invalid {
-                type uint16;
-            }
-        }
-    }
-    notification invalid {
-        leaf value {
-            type string;
-        }
-    }
-    notification invalid2 {
-        list node {
-            config false;
-            leaf value {
-                type string;
-            }
-        }
-    }
-    choice current-value {
-        case ytb-present {
-            leaf-list represent {
-                type uint32;
-            }
-        }
-        case ytb-absent {
-            leaf-list final {
-                type instance-identifier;
-            }
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbDerivedTypeWithBitsAndBinary.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbDerivedTypeWithBitsAndBinary.yang
deleted file mode 100644
index 1ca30a4..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbDerivedTypeWithBitsAndBinary.yang
+++ /dev/null
@@ -1,56 +0,0 @@
-module YtbDerivedTypeWithBitsAndBinary {
-    yang-version 1;
-    namespace "yms:test:ytb:derived:type:with:bits:and:binary";
-    prefix "sch";
-    revision "2016-08-26";
-
-    typedef derivedbinarya {
-        type derivedbinaryb;
-    }
-
-    typedef derivedbinaryb {
-        type binary;
-    }
-
-    typedef derivedbitsa {
-        type derivedbitsb;
-    }
-
-    typedef derivedbitsb {
-        type bits {
-            bit index {
-                position 1;
-            }
-            bit name {
-                position 10;
-            }
-            bit signature {
-                position 100;
-            }
-        }
-    }
-
-    leaf forbinary {
-        type derivedbinarya;
-    }
-
-    leaf forbits {
-        type derivedbitsa;
-    }
-
-    leaf-list forbinarylist {
-        type derivedbinarya;
-    }
-
-    leaf-list forbitslist {
-        type derivedbitsa;
-    }
-
-    leaf forunion {
-        type union {
-            type binary;
-            type int8;
-        }
-    }
-}
-
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbIetfSchedule.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbIetfSchedule.yang
deleted file mode 100644
index 84c908b..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbIetfSchedule.yang
+++ /dev/null
@@ -1,29 +0,0 @@
-module YtbIetfSchedule {
-    yang-version 1;
-    namespace "yms:test:ytb:module:with:leaf:ietfschedule";
-    prefix "sch";
-    revision "2016-08-26";
-        leaf time {
-            type int8;
-        }
-        leaf enum1 {
-        type enumeration {
-                      enum ten { value "10";}
-                      enum hundred { value "100";}
-                      enum thousand { value "1000"; }
-                    }
-        }
-        leaf-list enum2 {
-        type enumeration {
-                      enum ten-10 { value "10";}
-                      enum hundred-100 { value "100";}
-                      enum thousand-1000 { value "1000"; }
-                    }
-        }
-    container monitor {
-        leaf check {
-            type uint8;
-        }
-    }
-}
-
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbModuleWithContainer.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbModuleWithContainer.yang
deleted file mode 100644
index b0d19b8..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbModuleWithContainer.yang
+++ /dev/null
@@ -1,13 +0,0 @@
-module YtbModuleWithContainer {
-    yang-version 1;
-    namespace "yms:test:ytb:module:with:container";
-    prefix "sch";
-    revision "2016-08-26";
-    container sched {
-        leaf predict {
-            type decimal64 {
-            fraction-digits 2;
-            }
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbModuleWithLeafList.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbModuleWithLeafList.yang
deleted file mode 100644
index 3d02384..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbModuleWithLeafList.yang
+++ /dev/null
@@ -1,9 +0,0 @@
-module YtbModuleWithLeafList {
-    yang-version 1;
-    namespace "yms:test:ytb:module:with:leaflist";
-    prefix "sch";
-    revision "2016-08-26";
-    leaf-list time {
-        type int64;
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbModuleWithList.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbModuleWithList.yang
deleted file mode 100644
index 297a8f4..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbModuleWithList.yang
+++ /dev/null
@@ -1,15 +0,0 @@
-module YtbModuleWithList {
-    yang-version 1;
-    namespace "yms:test:ytb:module:with:list";
-    prefix "sch";
-    revision "2016-08-26";
-    list ytblistlist {
-        config false;
-        leaf-list prediction {
-            type find;
-        }
-    }
-    typedef find {
-        type boolean;
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbMultiModulea.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbMultiModulea.yang
deleted file mode 100644
index 523f400..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbMultiModulea.yang
+++ /dev/null
@@ -1,12 +0,0 @@
-module YtbMultiModulea {
-    yang-version 1;
-    namespace "yms:test:ytb:multi:module:a";
-    prefix "sch";
-    revision "2016-08-26";
-    list ytbmultilist {
-        config false;
-        leaf-list check {
-            type uint64;
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbMultiModuleb.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbMultiModuleb.yang
deleted file mode 100644
index 7c2c257..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbMultiModuleb.yang
+++ /dev/null
@@ -1,12 +0,0 @@
-module YtbMultiModuleb {
-    yang-version 1;
-    namespace "yms:test:ytb:multi:module:b";
-    prefix "sch";
-    revision "2016-08-26";
-    list ytbmultilistb {
-        config false;
-        leaf-list checkin {
-            type string;
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbMultiNotificationWithContainer.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbMultiNotificationWithContainer.yang
deleted file mode 100644
index 9a66110..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbMultiNotificationWithContainer.yang
+++ /dev/null
@@ -1,31 +0,0 @@
-module YtbMultiNotificationWithContainer {
-    yang-version 1;
-    namespace "yms:test:ytb:multi:notification:with:container";
-    prefix "sch";
-    revision "2016-08-26";
-    notification fortesta {
-        container ytbnot {
-            leaf notileaf {
-                type bits {
-                    bit leaf1 {
-                        position 0;
-                    }
-                    bit leaf2 {
-                        position 1;
-                    }
-                }
-            }
-        }
-    }
-    list cumulative {
-        key "sum";
-        leaf sum {
-            type int8;
-        }
-    }
-    notification fortestb {
-        leaf-list notileaflist {
-            type empty;
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbRpcResponseWithAdvancedInputAndOutput.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbRpcResponseWithAdvancedInputAndOutput.yang
deleted file mode 100644
index c9f708e..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbRpcResponseWithAdvancedInputAndOutput.yang
+++ /dev/null
@@ -1,39 +0,0 @@
-module YtbRpcResponseWithAdvancedInputAndOutput {
-    yang-version 1;
-    namespace "yms:test:ytb:rpc:response:with:advanced:input:and:output";
-    prefix "sch";
-    revision "2016-08-26";
-    leaf refer {
-        type binary;
-    }
-    rpc activate-software-image {
-        input {
-            container final {
-                leaf-list value {
-                    type uint16;
-                }
-            }
-        }
-        output {
-            list output-list {
-                key "list-key";
-                leaf list-key {
-                    type leafref {
-                        path "/refer";
-                    }
-                }
-                container content_inside {
-                    leaf-list available {
-                        type int16;
-                    }
-                }
-            }
-        }
-    }
-    list cumulative {
-        key "sum";
-        leaf sum {
-            type int8;
-        }
-    }
-}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbSimpleAugment.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbSimpleAugment.yang
deleted file mode 100644
index 919d5ed..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbSimpleAugment.yang
+++ /dev/null
@@ -1,26 +0,0 @@
-module YtbSimpleAugment {
-    yang-version 1;
-    namespace "yms:test:ytb:simple:augment";
-    prefix "sch";
-    revision "2016-08-26";
-    container cont1 {
-        container cont2 {
-            leaf fine {
-                type string;
-            }
-        }
-     }
-
-    augment /cont1/cont2 {
-        leaf leaf4 {
-            type int32;
-        }
-        container cont1s {
-            container cont1s {
-                leaf fine {
-                    type string;
-                }
-            }
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbSimpleChoiceCase.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbSimpleChoiceCase.yang
deleted file mode 100644
index 818d04e..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbSimpleChoiceCase.yang
+++ /dev/null
@@ -1,23 +0,0 @@
-module YtbSimpleChoiceCase {
-    yang-version 1;
-    namespace "yms:test:ytb:simple:choice:case";
-    prefix "sch";
-    revision "2016-08-26";
-    container YtbFood {
-       choice YtbSnack {
-           case ytb-sports-arena {
-               leaf pretzel {
-                   type string;
-               }
-               leaf beer {
-                   type string;
-               }
-           }
-           case ytb-late-night {
-               leaf chocolate {
-                   type string;
-               }
-           }
-       }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbSimpleRpcResponse.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbSimpleRpcResponse.yang
deleted file mode 100644
index 7aaa50f..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbSimpleRpcResponse.yang
+++ /dev/null
@@ -1,26 +0,0 @@
-module YtbSimpleRpcResponse {
-    yang-version 1;
-    namespace "yms:test:ytb:simple:rpc:response";
-    prefix "sch";
-    revision "2016-08-26";
-    container ytb-rpc-cont {
-        leaf vary {
-            type uint8;
-        }
-    }
-    rpc rpc {
-        input {
-        }
-        output {
-            leaf output-leaf {
-                type uint32;
-            }
-        }
-    }
-    list cumulative {
-        key "sum";
-        leaf sum {
-            type int8;
-        }
-    }
-}
diff --git a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbTreeBuilderForListHavingList.yang b/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbTreeBuilderForListHavingList.yang
deleted file mode 100644
index bd58e30..0000000
--- a/apps/yms/app/src/test/resources/ytbTestYangFiles/YtbTreeBuilderForListHavingList.yang
+++ /dev/null
@@ -1,26 +0,0 @@
-module YtbTreeBuilderForListHavingList {
-    yang-version 1;
-    namespace "yms:test:ytb:tree:builder:for:list:having:list";
-    prefix "sch";
-    revision "2016-08-26";
-    container carrier {
-        list multiplexes {
-            key "types";
-            list application-areas {
-                config false;
-                leaf-list destination-areas {
-                    type binary;
-                }
-            }
-            leaf types {
-                type enumeration {
-                    enum space-division;
-                    enum frequency-division;
-                    enum time-division {
-                        value 3;
-                    }
-                }
-            }
-        }
-    }
-}