[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;
}