[ONOS-5341] Namespace modification to include module name to support RESTCONF based namespace

Change-Id: I663d7fcfaac98f9d1076e46d958557430851da87
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangAugment.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangAugment.java
index 5010315..28d0d3a 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangAugment.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangAugment.java
@@ -175,10 +175,8 @@
 
     @Override
     public void setNameSpaceAndAddToParentSchemaMap() {
-        // Get parent namespace.
-        String nameSpace = this.getParent().getNameSpace();
-        // Set namespace for self node.
-        setNameSpace(nameSpace);
+        // Get parent namespace and set namespace for self node.
+        setNameSpace(getParent().getNameSpace());
         /*
          * Check if node contains leaf/leaf-list, if yes add namespace for leaf
          * and leaf list.
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangCase.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangCase.java
index 86f628c..3b6957c 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangCase.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangCase.java
@@ -170,10 +170,8 @@
 
     @Override
     public void setNameSpaceAndAddToParentSchemaMap() {
-        // Get parent namespace.
-        String nameSpace = getParent().getNameSpace();
-        // Set namespace for self node.
-        setNameSpace(nameSpace);
+        // Get parent namespace and set namespace for self node.
+        setNameSpace(getParent().getNameSpace());
         /*
          * Check if node contains leaf/leaf-list, if yes add namespace for leaf
          * and leaf list.
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangChoice.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangChoice.java
index c489f8f..93720fd 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangChoice.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangChoice.java
@@ -194,10 +194,8 @@
 
     @Override
     public void setNameSpaceAndAddToParentSchemaMap() {
-        // Get parent namespace.
-        String nameSpace = getParent().getNameSpace();
-        // Set namespace for self node.
-        setNameSpace(nameSpace);
+        // Get parent namespace and set namespace for self node.
+        setNameSpace(getParent().getNameSpace());
     }
 
     @Override
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java
index 7cb6435..067c80b 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java
@@ -218,27 +218,4 @@
             yangLeafList.setLeafNameSpaceAndAddToParentSchemaMap(getNameSpace());
         }
     }
-
-    @Override
-    public void setNameSpaceAndAddToParentSchemaMap() {
-        // Get parent namespace.
-        if (this.getParent() != null) {
-            String nameSpace = this.getParent().getNameSpace();
-            // Set namespace for self node.
-            setNameSpace(nameSpace);
-            // Process addition of leaf to the child schema map of parent.
-            processAdditionOfSchemaNodeToParentMap("input", getNameSpace());
-        }
-        /*
-         * Check if node contains leaf/leaf-list, if yes add namespace for leaf
-         * and leaf list.
-         */
-        if (this instanceof YangLeavesHolder) {
-            ((YangLeavesHolder) this).setLeafNameSpaceAndAddToParentSchemaMap();
-        }
-    }
-    /*
-     * TODO analyze the reason to have RPC name prepended in input name in
-     * input Listener.
-     */
 }
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangLeaf.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangLeaf.java
index bf8c8e5..742d1df 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangLeaf.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangLeaf.java
@@ -459,7 +459,7 @@
      *
      * @param nameSpace namespace
      */
-    public void setLeafNameSpaceAndAddToParentSchemaMap(String nameSpace) {
+    public void setLeafNameSpaceAndAddToParentSchemaMap(YangNamespace nameSpace) {
         setNameSpace(nameSpace);
         // Process addition of leaf to schema node map.
         ((YangNode) getContainedIn()).processAdditionOfSchemaNodeToCurNodeMap(getName(), getNameSpace(), this);
@@ -505,7 +505,7 @@
     }
 
     @Override
-    public String getNameSpace() {
+    public YangNamespace getNameSpace() {
         return yangSchemaNodeIdentifier.getNameSpace();
     }
 
@@ -514,7 +514,7 @@
      *
      * @param namespace namespace of the node
      */
-    public void setNameSpace(String namespace) {
+    public void setNameSpace(YangNamespace namespace) {
         if (yangSchemaNodeIdentifier == null) {
             yangSchemaNodeIdentifier = new YangSchemaNodeIdentifier();
         }
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangLeafList.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangLeafList.java
index c0899dd..a9d403b 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangLeafList.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangLeafList.java
@@ -474,7 +474,7 @@
      *
      * @param nameSpace namespace
      */
-    public void setLeafNameSpaceAndAddToParentSchemaMap(String nameSpace) {
+    public void setLeafNameSpaceAndAddToParentSchemaMap(YangNamespace nameSpace) {
         setNameSpace(nameSpace);
         // Process addition of leaf to schema node map.
         ((YangNode) getContainedIn()).processAdditionOfSchemaNodeToCurNodeMap(getName(), getNameSpace(), this);
@@ -520,7 +520,7 @@
     }
 
     @Override
-    public String getNameSpace() {
+    public YangNamespace getNameSpace() {
         return yangSchemaNodeIdentifier.getNameSpace();
     }
 
@@ -529,7 +529,7 @@
      *
      * @param namespace namespace of the node
      */
-    public void setNameSpace(String namespace) {
+    public void setNameSpace(YangNamespace namespace) {
         if (yangSchemaNodeIdentifier == null) {
             yangSchemaNodeIdentifier = new YangSchemaNodeIdentifier();
         }
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
index 0b39b4f..9c4f01b 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
@@ -87,7 +87,7 @@
         extends YangNode
         implements YangLeavesHolder, YangDesc, YangReference, Parsable,
         CollisionDetector, YangReferenceResolver, RpcNotificationContainer,
-        YangFeatureHolder, YangIsFilterContentNodes {
+        YangFeatureHolder, YangIsFilterContentNodes, YangNamespace {
 
     private static final long serialVersionUID = 806201610L;
 
@@ -259,6 +259,11 @@
     private final List<YangAugment> augments;
 
     /**
+     * YANG defined namespace.
+     */
+    private String namespace;
+
+    /**
      * Creates a YANG node of module type.
      */
     public YangModule() {
@@ -798,4 +803,18 @@
     public List<YangAugment> getAugmentList() {
         return unmodifiableList(augments);
     }
+
+    @Override
+    public String getModuleNamespace() {
+        return namespace;
+    }
+
+    @Override
+    public String getModuleName() {
+        return getName();
+    }
+
+    public void setModuleNamespace(String namespace) {
+        this.namespace = namespace;
+    }
 }
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNamespace.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNamespace.java
new file mode 100644
index 0000000..0abf944
--- /dev/null
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNamespace.java
@@ -0,0 +1,37 @@
+/*
+ * 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.yangutils.datamodel;
+
+/**
+ * Representation of YANG namespace.
+ */
+public interface YangNamespace {
+
+    /**
+     * Returns module's namespace.
+     *
+     * @return module namespace
+     */
+    String getModuleNamespace();
+
+    /**
+     * Returns module name.
+     *
+     * @return module name
+     */
+    String getModuleName();
+}
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNode.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNode.java
index 89bda47..0e90ad4 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNode.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNode.java
@@ -327,7 +327,7 @@
      * @param namespace namespace of the node
      */
     protected void processAdditionOfSchemaNodeToParentMap(String name,
-                                                          String namespace) {
+                                                          YangNamespace namespace) {
         processAdditionOfSchemaNodeToMap(name, namespace, this, getParent());
     }
 
@@ -339,7 +339,7 @@
      * @param yangSchemaNode YANG schema node
      */
     public void processAdditionOfSchemaNodeToCurNodeMap(String name,
-                                                        String namespace,
+                                                        YangNamespace namespace,
                                                         YangSchemaNode yangSchemaNode) {
         processAdditionOfSchemaNodeToMap(name, namespace, yangSchemaNode, this);
     }
@@ -353,7 +353,7 @@
      * @param childSchemaMapHolder child schema map holder
      */
     private void processAdditionOfSchemaNodeToMap(String name,
-                                                  String namespace,
+                                                  YangNamespace namespace,
                                                   YangSchemaNode yangSchemaNode,
                                                   YangNode childSchemaMapHolder) {
         // Addition of node to schema node map.
@@ -734,12 +734,14 @@
      */
     public void setNameSpaceAndAddToParentSchemaMap() {
         // Get parent namespace.
-        if (this.getParent() != null) {
-            String nameSpace = this.getParent().getNameSpace();
-            // Set namespace for self node.
-            setNameSpace(nameSpace);
+        if (getParent() != null) {
+            // Get parent namespace and set namespace for self node.
+            setNameSpace(getParent().getNameSpace());
             // Process addition of leaf to the child schema map of parent.
             processAdditionOfSchemaNodeToParentMap(getName(), getNameSpace());
+        } else {
+            // Module/Sub-module
+            setNameSpace((YangNamespace) this);
         }
         /*
          * Check if node contains leaf/leaf-list, if yes add namespace for leaf
@@ -817,7 +819,7 @@
     }
 
     @Override
-    public String getNameSpace() {
+    public YangNamespace getNameSpace() {
         return yangSchemaNodeIdentifier.getNameSpace();
     }
 
@@ -826,7 +828,7 @@
      *
      * @param namespace namespace of the node
      */
-    public void setNameSpace(String namespace) {
+    public void setNameSpace(YangNamespace namespace) {
         if (yangSchemaNodeIdentifier == null) {
             yangSchemaNodeIdentifier = new YangSchemaNodeIdentifier();
         }
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java
index 3d5975b..92f240a 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java
@@ -217,27 +217,4 @@
             yangLeafList.setLeafNameSpaceAndAddToParentSchemaMap(getNameSpace());
         }
     }
-
-    @Override
-    public void setNameSpaceAndAddToParentSchemaMap() {
-        // Get parent namespace.
-        if (this.getParent() != null) {
-            String nameSpace = this.getParent().getNameSpace();
-            // Set namespace for self node.
-            setNameSpace(nameSpace);
-            // Process addition of leaf to the child schema map of parent.
-            processAdditionOfSchemaNodeToParentMap("output", getNameSpace());
-        }
-        /*
-         * Check if node contains leaf/leaf-list, if yes add namespace for leaf
-         * and leaf list.
-         */
-        if (this instanceof YangLeavesHolder) {
-            ((YangLeavesHolder) this).setLeafNameSpaceAndAddToParentSchemaMap();
-        }
-    }
-        /*
-     * TODO analyze the reason to have RPC name prepended in input name in
-     * output Listener.
-     */
 }
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSchemaNode.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSchemaNode.java
index cb0be7b..54c6ac9 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSchemaNode.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSchemaNode.java
@@ -112,11 +112,11 @@
     String getJavaAttributeName();
 
     /**
-     * Sets name of the node.
+     * Returns namespace of the node.
      *
-     * @return name of the node
+     * @return namespace of the node
      */
-    String getNameSpace();
+    YangNamespace getNameSpace();
 
     /**
      * Checks for the presence of notification in module/sub-module. Exception
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSchemaNodeIdentifier.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSchemaNodeIdentifier.java
index 62cd275..558e3a0 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSchemaNodeIdentifier.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSchemaNodeIdentifier.java
@@ -32,7 +32,7 @@
     private String name;
 
     // Namespace of YANG data node.
-    private String namespace;
+    private YangNamespace namespace;
 
     /**
      * Creates an instance of YANG data node identifier.
@@ -63,7 +63,7 @@
      *
      * @return namespace of the node
      */
-    public String getNameSpace() {
+    public YangNamespace getNameSpace() {
         return namespace;
     }
 
@@ -72,7 +72,7 @@
      *
      * @param namespace namespace of the node
      */
-    public void setNameSpace(String namespace) {
+    public void setNameSpace(YangNamespace namespace) {
         this.namespace = namespace;
     }
 
@@ -83,8 +83,22 @@
             return true;
         }
         if (obj instanceof YangSchemaNodeIdentifier) {
-            final YangSchemaNodeIdentifier other = (YangSchemaNodeIdentifier) obj;
-            return Objects.equals(name, other.name) && Objects.equals(namespace, other.namespace);
+            YangSchemaNodeIdentifier other = (YangSchemaNodeIdentifier) obj;
+
+            if (!Objects.equals(name, other.name)) {
+                return false;
+            }
+            final String name = namespace.getModuleName();
+            final String otherName = other.getNameSpace().getModuleName();
+            if (name != null && otherName != null) {
+                return namespace.getModuleName()
+                        .equals(other.getNameSpace().getModuleName());
+            }
+            final String nspace = namespace.getModuleNamespace();
+            final String otherNspace = other.getNameSpace().getModuleNamespace();
+            if (nspace != null && otherNspace != null) {
+                return nspace.equals(otherNspace);
+            }
         }
         return false;
     }
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSubModule.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSubModule.java
index 51f1aaf..5481381 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSubModule.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangSubModule.java
@@ -96,7 +96,7 @@
         extends YangNode
         implements YangLeavesHolder, YangDesc, YangReference, Parsable,
         CollisionDetector, YangReferenceResolver, RpcNotificationContainer,
-        YangFeatureHolder, YangIsFilterContentNodes {
+        YangFeatureHolder, YangIsFilterContentNodes, YangNamespace {
 
     private static final long serialVersionUID = 806201614L;
 
@@ -263,6 +263,11 @@
     private final List<YangAugment> augments;
 
     /**
+     * YANG defined namespace.
+     */
+    private String namespace;
+
+    /**
      * Creates a sub module node.
      */
     public YangSubModule() {
@@ -685,7 +690,8 @@
     public void linkWithModule(Set<YangNode> yangNodeSet)
             throws DataModelException {
         belongsTo.linkWithModule(yangNodeSet);
-        setNameSpace(belongsTo.getModuleNode().getNameSpace());
+        namespace = ((YangNamespace) belongsTo.getModuleNode())
+                .getModuleNamespace();
     }
 
     @Override
@@ -804,4 +810,18 @@
     public List<YangAugment> getAugmentList() {
         return unmodifiableList(augments);
     }
+
+    @Override
+    public String getModuleNamespace() {
+        return namespace;
+    }
+
+    @Override
+    public String getModuleName() {
+        return getName();
+    }
+
+    public void setModuleNamespace(String namespace) {
+        this.namespace = namespace;
+    }
 }
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/NamespaceListener.java b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/NamespaceListener.java
index 0c6a816..6bfaf50 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/NamespaceListener.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/NamespaceListener.java
@@ -90,7 +90,7 @@
         switch (tmpNode.getYangConstructType()) {
             case MODULE_DATA: {
                 YangModule module = (YangModule) tmpNode;
-                module.setNameSpace(removeQuotesAndHandleConcat(ctx.string().getText()));
+                module.setModuleNamespace(removeQuotesAndHandleConcat(ctx.string().getText()));
                 break;
             }
             default:
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
index adb5c62..064229a 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
@@ -575,7 +575,8 @@
         StringBuilder pkg = new StringBuilder();
         if (node instanceof YangJavaModuleTranslator) {
             YangJavaModuleTranslator module = (YangJavaModuleTranslator) node;
-            pkg.append(getRootPackage(module.getVersion(), module.getNameSpace(),
+            pkg.append(getRootPackage(module.getVersion(),
+                                      module.getModuleNamespace(),
                                       module.getRevision(),
                                       config.getConflictResolver()));
         } else if (node instanceof YangJavaSubModuleTranslator) {
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/AttributesJavaDataType.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/AttributesJavaDataType.java
index d9517a8..ae7b016 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/AttributesJavaDataType.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/AttributesJavaDataType.java
@@ -463,8 +463,8 @@
             String pkg;
             if (yangNode instanceof YangJavaModuleTranslator) {
                 YangJavaModuleTranslator module = (YangJavaModuleTranslator) yangNode;
-                pkg = getRootPackage(module.getVersion(), module.getNameSpace(), module
-                        .getRevision(), conflictResolver);
+                pkg = getRootPackage(module.getVersion(), module.getModuleNamespace(),
+                                     module.getRevision(), conflictResolver);
             } else if (yangNode instanceof YangJavaSubModuleTranslator) {
                 YangJavaSubModuleTranslator submodule = (YangJavaSubModuleTranslator) yangNode;
                 pkg = getRootPackage(submodule.getVersion(),
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java
index 16ff32c..e0b0dad 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java
@@ -127,7 +127,7 @@
     @Override
     public void generateCodeEntry(YangPluginConfig yangPlugin)
             throws TranslatorException {
-        String modulePkg = getRootPackage(getVersion(), getNameSpace(),
+        String modulePkg = getRootPackage(getVersion(), getModuleNamespace(),
                                           getRevision(),
                                           yangPlugin.getConflictResolver());
 
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotificationTranslator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotificationTranslator.java
index daffc7a..5d6f45d 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotificationTranslator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotificationTranslator.java
@@ -122,6 +122,11 @@
     public void generateCodeEntry(YangPluginConfig yangPlugin)
             throws TranslatorException {
 
+        // Obtain the notification name as per enum in notification.
+        String enumName = getEnumJavaAttribute(getName().toUpperCase());
+        ((RpcNotificationContainer) getParent())
+                .addToNotificationEnumMap(enumName, this);
+
         /*
          * As part of the notification support the following files needs to be
          * generated.
@@ -184,27 +189,4 @@
                                                       e.getLocalizedMessage()));
         }
     }
-
-    @Override
-    public void setNameSpaceAndAddToParentSchemaMap() {
-        // Get parent namespace.
-        if (getParent() != null) {
-            String nameSpace = getParent().getNameSpace();
-            // Set namespace for self node.
-            setNameSpace(nameSpace);
-            // Process addition of leaf to the child schema map of parent.
-            processAdditionOfSchemaNodeToParentMap(getName(), getNameSpace());
-            // Obtain the notification name as per enum in notification.
-            String enumName = getEnumJavaAttribute(getName().toUpperCase());
-
-            ((RpcNotificationContainer) getParent())
-                    .addToNotificationEnumMap(enumName, this);
-
-        }
-        /*
-         * Check if node contains leaf/leaf-list, if yes add namespace for leaf
-         * and leaf list.
-         */
-        setLeafNameSpaceAndAddToParentSchemaMap();
-    }
 }
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
index a530b2a..20fa8d2 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
@@ -15,6 +15,7 @@
  */
 package org.onosproject.yangutils.translator.tojava.javamodel;
 
+import org.onosproject.yangutils.datamodel.YangModule;
 import org.onosproject.yangutils.datamodel.YangNode;
 import org.onosproject.yangutils.datamodel.YangNotification;
 import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaSubModule;
@@ -126,7 +127,7 @@
      * @return the name space string of the module.
      */
     public String getNameSpaceFromModule() {
-        return getBelongsTo().getModuleNode().getNameSpace();
+        return ((YangModule) (getBelongsTo().getModuleNode())).getModuleNamespace();
     }
 
     /**
diff --git a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/NamespaceListenerTest.java b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/NamespaceListenerTest.java
index 3a96361..53ed289 100644
--- a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/NamespaceListenerTest.java
+++ b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/NamespaceListenerTest.java
@@ -51,7 +51,8 @@
         YangNode node = manager.getDataModel("src/test/resources/NamespaceInDoubleQuotes.yang");
 
         // Checks for the version value in data model tree.
-        assertThat(((YangModule) node).getNameSpace(), is("urn:ietf:params:xml:ns:yang:ietf-ospf"));
+        assertThat(((YangModule) node).getModuleNamespace(), is
+                ("urn:ietf:params:xml:ns:yang:ietf-ospf"));
     }
 
     /**
@@ -63,7 +64,7 @@
         YangNode node = manager.getDataModel("src/test/resources/NamespaceWithoutQuotes.yang");
 
         // Checks for the version value in data model tree.
-        assertThat(((YangModule) node).getNameSpace(), is("urn:ietf:params:xml:ns:yang:ietf-ospf"));
+        assertThat(((YangModule) node).getModuleNamespace(), is("urn:ietf:params:xml:ns:yang:ietf-ospf"));
     }
 
     /**
diff --git a/plugin/src/test/java/org/onosproject/yangutils/plugin/manager/SchemaNodeTest.java b/plugin/src/test/java/org/onosproject/yangutils/plugin/manager/SchemaNodeTest.java
index a38cf12..366cefe 100644
--- a/plugin/src/test/java/org/onosproject/yangutils/plugin/manager/SchemaNodeTest.java
+++ b/plugin/src/test/java/org/onosproject/yangutils/plugin/manager/SchemaNodeTest.java
@@ -88,14 +88,14 @@
                 .getNextSibling();
         YangSchemaNodeIdentifier yangInputNode = new YangSchemaNodeIdentifier();
         yangInputNode.setName("input");
-        yangInputNode.setNameSpace("http://huawei.com");
+        yangInputNode.setNameSpace(yangRpcNode.getNameSpace());
         assertThat(yangRpcNode.getChildSchema(yangInputNode).getSchemaNode(),
                    is(yangRpcNode.getChild()));
 
         YangSchemaNodeIdentifier yangOutputNode = new
                 YangSchemaNodeIdentifier();
         yangOutputNode.setName("output");
-        yangOutputNode.setNameSpace("http://huawei.com");
+        yangOutputNode.setNameSpace(yangRpcNode.getNameSpace());
         assertThat(yangRpcNode.getChildSchema(yangOutputNode).getSchemaNode(),
                    is(yangRpcNode.getChild().getNextSibling()));
 
@@ -104,7 +104,7 @@
         YangSchemaNodeIdentifier yangInputLeafNode = new
                 YangSchemaNodeIdentifier();
         yangInputLeafNode.setName("image-name");
-        yangInputLeafNode.setNameSpace("http://huawei.com");
+        yangInputLeafNode.setNameSpace(yangRpcNode.getNameSpace());
         assertThat(yangInput.getChildSchema(yangInputLeafNode),
                    is(notNullValue()));
 
@@ -112,7 +112,7 @@
         YangSchemaNodeIdentifier yangOutputLeafNode = new
                 YangSchemaNodeIdentifier();
         yangOutputLeafNode.setName("image-name");
-        yangOutputLeafNode.setNameSpace("http://huawei.com");
+        yangOutputLeafNode.setNameSpace(yangRpcNode.getNameSpace());
         assertThat(yangOutput.getChildSchema(yangOutputLeafNode),
                    is(notNullValue()));
 
@@ -123,7 +123,7 @@
         YangSchemaNodeIdentifier yangSchemaNodeIdentifier =
                 new YangSchemaNodeIdentifier();
         yangSchemaNodeIdentifier.setName("testcontainer");
-        yangSchemaNodeIdentifier.setNameSpace("http://huawei.com");
+        yangSchemaNodeIdentifier.setNameSpace(yangRpcNode.getNameSpace());
         assertThat(schemaMap.get(yangSchemaNodeIdentifier), is(notNullValue()));
         YangSchemaNodeContextInfo yangSchemaNodeContextInfo =
                 schemaMap.get(yangSchemaNodeIdentifier);
@@ -136,12 +136,12 @@
                 rootNode.getChild()
                         .getYsnContextInfoMap();
         yangSchemaNodeIdentifier.setName("testleaf");
-        yangSchemaNodeIdentifier.setNameSpace("http://huawei.com");
+        yangSchemaNodeIdentifier.setNameSpace(yangRpcNode.getNameSpace());
         assertThat(schemaMap2.get(yangSchemaNodeIdentifier),
                    is(notNullValue()));
 
         yangSchemaNodeIdentifier.setName("pretzel");
-        yangSchemaNodeIdentifier.setNameSpace("http://huawei.com");
+        yangSchemaNodeIdentifier.setNameSpace(yangRpcNode.getNameSpace());
         assertThat(schemaMap2.get(yangSchemaNodeIdentifier),
                    is(notNullValue()));
 
@@ -151,7 +151,7 @@
                 rootNode.getChild().getChild()
                         .getYsnContextInfoMap();
         yangSchemaNodeIdentifier.setName("pretzel");
-        yangSchemaNodeIdentifier.setNameSpace("http://huawei.com");
+        yangSchemaNodeIdentifier.setNameSpace(yangRpcNode.getNameSpace());
         assertThat(schemaMap3.get(yangSchemaNodeIdentifier),
                    is(notNullValue()));
         YangSchemaNodeContextInfo yangSchemaNodeContextInfo3 =
@@ -164,7 +164,7 @@
                 rootNode.getChild().getChild().getChild()
                         .getYsnContextInfoMap();
         yangSchemaNodeIdentifier.setName("pretzel");
-        yangSchemaNodeIdentifier.setNameSpace("http://huawei.com");
+        yangSchemaNodeIdentifier.setNameSpace(yangRpcNode.getNameSpace());
         assertThat(schemaMap4.get(yangSchemaNodeIdentifier),
                    is(notNullValue()));