diff --git a/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java b/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java
index c38bbbc..99baf4a 100644
--- a/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java
+++ b/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;
     }
