YMS migration to onos-yangtool 1.10

Change-Id: I22ddf23f813840e0afec1e7713a86891f2a52f28
diff --git a/apps/yms/api/pom.xml b/apps/yms/api/pom.xml
index b6d7bd1..faac55a 100644
--- a/apps/yms/api/pom.xml
+++ b/apps/yms/api/pom.xml
@@ -32,4 +32,21 @@
 
     <description>YANG Management System API</description>
 
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <version>3.2.0</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Private-Package>
+                            org.onosproject.yangutils.datamodel.*,
+                        </Private-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/apps/yms/api/src/main/java/org/onosproject/yms/ydt/YdtBuilder.java b/apps/yms/api/src/main/java/org/onosproject/yms/ydt/YdtBuilder.java
index bbfe6c3..2161366 100644
--- a/apps/yms/api/src/main/java/org/onosproject/yms/ydt/YdtBuilder.java
+++ b/apps/yms/api/src/main/java/org/onosproject/yms/ydt/YdtBuilder.java
@@ -68,8 +68,11 @@
      * @param name      name of child to be added
      * @param namespace namespace of child to be added, if it's null, parent's
      *                  namespace will be applied to child
+     * @throws IllegalArgumentException when method has been passed an illegal
+     *                                  or inappropriate argument.
      */
-    void addChild(String name, String namespace);
+    void addChild(String name, String namespace)
+            throws IllegalArgumentException;
 
     /**
      * Adds a last child to YANG data tree, this method is to be used by
@@ -92,8 +95,11 @@
      * @param namespace namespace of child to be added, if it's null, parent's
      *                  namespace will be applied to child
      * @param ydtType   type of YDT node to be added
+     * @throws IllegalArgumentException when method has been passed an illegal
+     *                                  or inappropriate argument.
      */
-    void addChild(String name, String namespace, YdtType ydtType);
+    void addChild(String name, String namespace, YdtType ydtType)
+            throws IllegalArgumentException;
 
     /**
      * Adds a last child to YANG data tree; this method is to be used by
@@ -119,9 +125,11 @@
      * @param namespace namespace of child to be added, if it's null, parent's
      *                  namespace will be applied to child
      * @param opType    type of requested operation over a node
+     * @throws IllegalArgumentException when method has been passed an illegal
+     *                                  or inappropriate argument.
      */
-    void addChild(String name, String namespace,
-                  YdtContextOperationType opType);
+    void addChild(String name, String namespace, YdtContextOperationType opType)
+            throws IllegalArgumentException;
 
     /**
      * Adds a last child to YANG data tree; this method is to be used by
@@ -148,10 +156,12 @@
      *                  namespace will be applied to child
      * @param ydtType   type of YDT node to be added
      * @param opType    type of requested operation over a node
+     * @throws IllegalArgumentException when method has been passed an illegal
+     *                                  or inappropriate argument.
      */
     void addChild(String name, String namespace, YdtType ydtType,
-                  YdtContextOperationType opType);
-
+                  YdtContextOperationType opType)
+            throws IllegalArgumentException;
 
     /**
      * Adds a last leaf with value to YANG data tree. Protocols unaware of
@@ -165,8 +175,11 @@
      * @param namespace namespace of child to be added, if it's null, parent's
      *                  namespace will be applied to child
      * @param value     value of the child
+     * @throws IllegalArgumentException when method has been passed an illegal
+     *                                  or inappropriate argument.
      */
-    void addLeaf(String name, String namespace, String value);
+    void addLeaf(String name, String namespace, String value)
+            throws IllegalArgumentException;
 
     /**
      * Adds a last leaf with list of values to YANG data tree. This method is
@@ -179,8 +192,11 @@
      * @param namespace namespace of child to be added, if it's null, parent's
      *                  namespace will be applied to child
      * @param valueSet  list of value of the child
+     * @throws IllegalArgumentException when method has been passed an illegal
+     *                                  or inappropriate argument.
      */
-    void addLeaf(String name, String namespace, Set<String> valueSet);
+    void addLeaf(String name, String namespace, Set<String> valueSet)
+            throws IllegalArgumentException;
 
     /**
      * Adds an instance of a child list node, or adds a child leaf list with
@@ -201,17 +217,23 @@
      * @param valueList values of the keys in URI in the same order
      *                  as defined in YANG file
      * @param opType    type of requested operation over a node
+     * @throws IllegalArgumentException when method has been passed an illegal
+     *                                  or inappropriate argument.
      */
     void addMultiInstanceChild(String name, String namespace,
                                List<String> valueList,
-                               YdtContextOperationType opType);
+                               YdtContextOperationType opType)
+            throws IllegalArgumentException;
 
     /**
      * Traverses up in YANG data tree to the parent node, it is to be used when
      * protocol is using context type "current" and wanted to traverse up the
      * tree.
+     *
+     * @throws IllegalStateException when application is not in an appropriate
+     *                               state for the requested operation.
      */
-    void traverseToParent();
+    void traverseToParent() throws IllegalStateException;
 
     /**
      * Returns the current context information available in YDT node.
diff --git a/apps/yms/api/src/main/java/org/onosproject/yms/ydt/YdtContext.java b/apps/yms/api/src/main/java/org/onosproject/yms/ydt/YdtContext.java
index 8d8152b..d5a6faf 100644
--- a/apps/yms/api/src/main/java/org/onosproject/yms/ydt/YdtContext.java
+++ b/apps/yms/api/src/main/java/org/onosproject/yms/ydt/YdtContext.java
@@ -41,6 +41,13 @@
     String getNamespace();
 
     /**
+     * Returns module name as namespace.
+     *
+     * @return module name
+     */
+    String getModuleNameAsNameSpace();
+
+    /**
      * Returns the YDT node extended context information corresponding to YDT
      * node.
      *
diff --git a/apps/yms/api/src/main/java/org/onosproject/yms/ydt/YdtType.java b/apps/yms/api/src/main/java/org/onosproject/yms/ydt/YdtType.java
index 01f6509..19a2c07 100644
--- a/apps/yms/api/src/main/java/org/onosproject/yms/ydt/YdtType.java
+++ b/apps/yms/api/src/main/java/org/onosproject/yms/ydt/YdtType.java
@@ -47,5 +47,10 @@
     /**
      * Multi instance leaf node.
      */
-    MULTI_INSTANCE_LEAF_VALUE_NODE
+    MULTI_INSTANCE_LEAF_VALUE_NODE,
+
+    /**
+     * Logical root node.
+     */
+    LOGICAL_ROOT_NODE
 }
diff --git a/apps/yms/api/src/main/java/org/onosproject/yms/ysr/YangModuleInformation.java b/apps/yms/api/src/main/java/org/onosproject/yms/ysr/YangModuleInformation.java
index e9f79b3..ffabb44 100644
--- a/apps/yms/api/src/main/java/org/onosproject/yms/ysr/YangModuleInformation.java
+++ b/apps/yms/api/src/main/java/org/onosproject/yms/ysr/YangModuleInformation.java
@@ -15,6 +15,8 @@
  */
 package org.onosproject.yms.ysr;
 
+import org.onosproject.yangutils.datamodel.YangNamespace;
+
 import java.util.List;
 
 /**
@@ -56,7 +58,7 @@
      *
      * @return YANG modules namespace
      */
-    String namespace();
+    YangNamespace namespace();
 
     /**
      * Reference RFC 7895