yang choice case translator + whitebox fix
Change-Id: I96f1855bc71a002335946150b51e911ae6ac2fb2
diff --git a/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ClassDefinitionGenerator.java b/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ClassDefinitionGenerator.java
index ec58b26..9fa13d4 100644
--- a/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ClassDefinitionGenerator.java
+++ b/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ClassDefinitionGenerator.java
@@ -109,7 +109,7 @@
}
String def = PUBLIC + SPACE + INTERFACE + SPACE + yangName + SPACE + EXTEND + SPACE;
for (String extend : getExtendsList()) {
- def = def + extend + COMMA;
+ def = def + extend + COMMA + SPACE;
}
def = trimAtLast(def, COMMA);
diff --git a/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java b/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java
index 03be712..99ab915 100644
--- a/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java
+++ b/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java
@@ -373,7 +373,7 @@
private static String getReturnType(JavaAttributeInfo attr) {
String returnType = EMPTY_STRING;
- if (attr.isQualifiedName() && (attr.getImportInfo().getPkgInfo() != null)) {
+ if (attr.isQualifiedName() && attr.getImportInfo().getPkgInfo() != null) {
returnType = attr.getImportInfo().getPkgInfo() + PERIOD;
}
returnType = returnType + attr.getImportInfo().getClassInfo();
diff --git a/src/main/java/org/onosproject/yangutils/translator/tojava/utils/TempJavaCodeFragmentFilesUtils.java b/src/main/java/org/onosproject/yangutils/translator/tojava/utils/TempJavaCodeFragmentFilesUtils.java
index ccb8370..a82d7d4 100644
--- a/src/main/java/org/onosproject/yangutils/translator/tojava/utils/TempJavaCodeFragmentFilesUtils.java
+++ b/src/main/java/org/onosproject/yangutils/translator/tojava/utils/TempJavaCodeFragmentFilesUtils.java
@@ -141,7 +141,7 @@
*/
public static void prepareJavaFileGeneratorForExtendsList(List<String> extendsList) {
- if (!extendsList.isEmpty() && !extendsList.equals(null)) {
+ if (extendsList != null && !extendsList.isEmpty()) {
JavaFileGenerator.setExtendsList(extendsList);
JavaFileGenerator.setIsExtendsList(true);
} else {
@@ -157,10 +157,7 @@
* @return true or false
*/
public static boolean isHasAugmentationExtended(List<String> extendsList) {
- if (extendsList != null && extendsList.contains(HAS_AUGMENTATION)) {
- return true;
- }
- return false;
+ return (extendsList != null && extendsList.contains(HAS_AUGMENTATION));
}
/**
@@ -170,10 +167,7 @@
* @return true or false
*/
public static boolean isAugmentedInfoExtended(List<String> extendsList) {
- if (extendsList != null && extendsList.contains(AUGMENTED_INFO)) {
- return true;
- }
- return false;
+ return (extendsList != null && extendsList.contains(AUGMENTED_INFO));
}
/**
diff --git a/src/main/java/org/onosproject/yangutils/translator/tojava/utils/YangJavaModelUtils.java b/src/main/java/org/onosproject/yangutils/translator/tojava/utils/YangJavaModelUtils.java
index cd6a7cd..4f3cb45 100644
--- a/src/main/java/org/onosproject/yangutils/translator/tojava/utils/YangJavaModelUtils.java
+++ b/src/main/java/org/onosproject/yangutils/translator/tojava/utils/YangJavaModelUtils.java
@@ -39,6 +39,7 @@
import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getPackageDirPathFromJavaJPackage;
import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED_INFO;
import static org.onosproject.yangutils.utils.UtilConstants.HAS_AUGMENTATION;
+import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getAbsolutePackagePath;
/**
@@ -159,8 +160,10 @@
updatePackageInfo((HasJavaFileInfo) javaCodeGeneratorInfo, yangPlugin);
generateTempFiles(javaCodeGeneratorInfo, yangPlugin.getCodeGenDir());
- javaCodeGeneratorInfo.getTempJavaCodeFragmentFiles()
- .addCurNodeInfoInParentTempFile((YangNode) javaCodeGeneratorInfo, isMultiInstance);
+ if (!(javaCodeGeneratorInfo instanceof YangCase)) {
+ javaCodeGeneratorInfo.getTempJavaCodeFragmentFiles()
+ .addCurNodeInfoInParentTempFile((YangNode) javaCodeGeneratorInfo, isMultiInstance);
+ }
/**
* For augmentation of nodes.
@@ -176,6 +179,21 @@
} else if (javaCodeGeneratorInfo instanceof YangAugment) {
javaCodeGeneratorInfo.getTempJavaCodeFragmentFiles().addToExtendsList(AUGMENTED_INFO);
}
+
+ if (javaCodeGeneratorInfo instanceof YangCase) {
+ YangNode parent = ((YangCase) javaCodeGeneratorInfo).getParent();
+ String curNodeName = ((YangCase) javaCodeGeneratorInfo).getName();
+ if (!parent.getName().equals(curNodeName)) {
+ javaCodeGeneratorInfo.getTempJavaCodeFragmentFiles().addToExtendsList(getCaptialCase(getCamelCase(
+ parent.getName(), null)));
+ javaCodeGeneratorInfo.getTempJavaCodeFragmentFiles().addParentInfoInCurNodeTempFile((YangNode)
+ javaCodeGeneratorInfo);
+ } else {
+ String parentPackage = ((HasJavaFileInfo) parent).getJavaFileInfo().getPackage();
+ String caseExtendInfo = parentPackage + PERIOD + parent.getName();
+ javaCodeGeneratorInfo.getTempJavaCodeFragmentFiles().addToExtendsList(caseExtendInfo);
+ }
+ }
}
/**
diff --git a/src/main/java/org/onosproject/yangutils/translator/tojava/utils/YangPluginConfig.java b/src/main/java/org/onosproject/yangutils/translator/tojava/utils/YangPluginConfig.java
index 49be81c..f827698 100644
--- a/src/main/java/org/onosproject/yangutils/translator/tojava/utils/YangPluginConfig.java
+++ b/src/main/java/org/onosproject/yangutils/translator/tojava/utils/YangPluginConfig.java
@@ -22,12 +22,6 @@
public final class YangPluginConfig {
/**
- * Creates an object for YANG plugin config.
- */
- public YangPluginConfig() {
- }
-
- /**
* Contains the code generation directory.
*/
private String codeGenDir;
@@ -38,6 +32,12 @@
private YangToJavaNamingConflictUtil conflictResolver;
/**
+ * Creates an object for YANG plugin config.
+ */
+ public YangPluginConfig() {
+ }
+
+ /**
* Sets the path of the java code where it has to be generated.
*
* @param codeGenDir path of the directory