[ONOS-3908] YANG container translator.

Change-Id: I4e239509df747238905ca0995f41019679093627
diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java
index c38bbbc..99baf4a 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java
@@ -26,6 +26,7 @@
 import org.onosproject.yangutils.translator.CachedFileHandle;
 import org.onosproject.yangutils.translator.GeneratedFileType;
 import org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax;
+import org.onosproject.yangutils.utils.UtilConstants;
 import org.onosproject.yangutils.utils.io.impl.FileSystemUtil;
 /*-
  * Reference RFC 6020.
@@ -472,17 +473,21 @@
     @Override
     public void generateJavaCodeEntry() throws IOException {
         YangNode parent = getParent();
-        String modPkg = JavaIdentifierSyntax.getPackageFromParent(parent.getPackage(), getName());
-        setPackage(modPkg);
+        String contPkg = JavaIdentifierSyntax.getPackageFromParent(parent.getPackage(), parent.getName());
+        setPackage(contPkg);
 
         CachedFileHandle handle = null;
         try {
-            FileSystemUtil.createPackage(getPackage(), getName());
+            FileSystemUtil.createPackage(UtilConstants.YANG_GEN_DIR + getPackage(), getName());
             handle = FileSystemUtil.createSourceFiles(getPackage(), getName(), GeneratedFileType.ALL);
+            handle.setFilePath(UtilConstants.YANG_GEN_DIR + getPackage().replace(".", "/"));
         } catch (IOException e) {
             throw new IOException("Failed to create the source files.");
         }
         setFileHandle(handle);
+
+        addLeavesAttributes();
+        addLeafListAttributes();
         addAttributeInParent();
     }
 
@@ -498,8 +503,6 @@
 
     @Override
     public void generateJavaCodeExit() throws IOException {
-        addLeavesAttributes();
-        addLeafListAttributes();
         getFileHandle().close();
         return;
     }
diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
index 836ad77..8eda617 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
@@ -26,6 +26,7 @@
 import org.onosproject.yangutils.translator.CodeGenerator;
 import org.onosproject.yangutils.translator.GeneratedFileType;
 import org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax;
+import org.onosproject.yangutils.utils.UtilConstants;
 import org.onosproject.yangutils.utils.io.impl.FileSystemUtil;
 
 /*-
@@ -558,18 +559,19 @@
 
         CachedFileHandle handle = null;
         try {
-            FileSystemUtil.createPackage(getPackage(), getName());
+            FileSystemUtil.createPackage(UtilConstants.YANG_GEN_DIR + getPackage(), getName());
             handle = FileSystemUtil.createSourceFiles(getPackage(), getName(), GeneratedFileType.ALL);
+            handle.setFilePath(UtilConstants.YANG_GEN_DIR + getPackage().replace(".", "/"));
         } catch (IOException e) {
             throw new IOException("Failed to create the source files.");
         }
         setFileHandle(handle);
+        addLeavesAttributes();
+        addLeafListAttributes();
     }
 
     @Override
     public void generateJavaCodeExit() throws IOException {
-        addLeavesAttributes();
-        addLeafListAttributes();
         getFileHandle().close();
         return;
     }