removed code duplication in translator, and addressed review comments
Change-Id: I27767a81c4bf279c80d2b98192f75f8f507b4457
diff --git a/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java b/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
index e56bdab..95bee5f 100644
--- a/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
+++ b/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
@@ -158,16 +158,13 @@
private byte version;
/**
- * Package of the generated java code.
- */
- private String pkg;
-
- /**
* Cached Java File Handle.
*/
private CachedFileHandle fileHandle;
/*-
+ * Reference RFC 6020.
+ *
* Nested typedefs and groupings.
* Typedefs and groupings may appear nested under many YANG statements,
* allowing these to be lexically scoped by the hierarchy under which
@@ -519,7 +516,10 @@
*/
@Override
public String getPackage() {
- return pkg;
+ if (getFileHandle() != null) {
+ return getFileHandle().getRelativeFilePath().replace("/", ".");
+ }
+ return null;
}
/**
@@ -529,7 +529,10 @@
*/
@Override
public void setPackage(String pcg) {
- pkg = pcg;
+ if (getFileHandle() != null) {
+ pcg.replace(".", "/");
+ getFileHandle().setRelativeFilePath(pcg);
+ }
}
/**
@@ -628,16 +631,16 @@
public void generateJavaCodeEntry() throws IOException {
String modPkg = JavaIdentifierSyntax.getRootPackage(getVersion(), getNameSpace().getUri(),
getRevision().getRevDate());
- setPackage(modPkg);
CachedFileHandle handle = null;
try {
- FileSystemUtil.createPackage(UtilConstants.YANG_GEN_DIR + getPackage(), getName());
- handle = FileSystemUtil.createSourceFiles(getPackage(), getName(), GeneratedFileType.ALL);
- handle.setFilePath(UtilConstants.YANG_GEN_DIR + getPackage().replace(".", "/"));
+ FileSystemUtil.createPackage(UtilConstants.YANG_GEN_DIR + modPkg, getName());
+ handle = FileSystemUtil.createSourceFiles(modPkg, getName(),
+ GeneratedFileType.GENERATE_INTERFACE_WITH_BUILDER);
} catch (IOException e) {
throw new IOException("Failed to create the source files.");
}
+
setFileHandle(handle);
addLeavesAttributes();
addLeafListAttributes();