[ONOS-5067] Defect Fix: compile errors on generated files as a result of submission 10639
Change-Id: Ia38ed164487a936625277098ee494befb516c5b2
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
index 0826c80..5e98919 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
@@ -32,8 +32,7 @@
import org.onosproject.yangutils.datamodel.YangSubModule;
import org.onosproject.yangutils.datamodel.YangTranslatorOperatorNode;
import org.onosproject.yangutils.datamodel.YangTypeHolder;
-import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
-import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
+import org.onosproject.yangutils.utils.io.YangPluginConfig;
import org.onosproject.yangutils.datamodel.utils.DataModelUtils;
import org.onosproject.yangutils.translator.exception.TranslatorException;
import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaAugmentTranslator;
@@ -320,22 +319,7 @@
if (javaCodeGeneratorInfo instanceof YangCase) {
YangNode parent = ((YangCase) javaCodeGeneratorInfo).getParent();
- if (parent instanceof YangAugment) {
- parent = ((YangAugment) parent).getAugmentedNode();
- }
- JavaQualifiedTypeInfoTranslator parentsInfo = new JavaQualifiedTypeInfoTranslator();
- JavaFileInfo parentInfo = ((JavaFileInfoContainer) parent).getJavaFileInfo();
- String parentName;
- String parentPkg;
- if (parentInfo.getPackage() != null) {
- parentName = getCapitalCase(((JavaFileInfoContainer) parent).getJavaFileInfo().getJavaName());
- parentPkg = ((JavaFileInfoContainer) parent).getJavaFileInfo().getPackage();
- } else {
- parentName = getCapitalCase(getCamelCase(parent.getName(), yangPlugin.getConflictResolver()));
- parentPkg = getNodesPackage(parent, yangPlugin);
- }
- parentsInfo.setClassInfo(parentName);
- parentsInfo.setPkgInfo(parentPkg);
+ JavaQualifiedTypeInfoTranslator parentsInfo = getQualifierInfoForCasesParent(parent, yangPlugin);
javaCodeGeneratorInfo.getTempJavaCodeFragmentFiles().getBeanTempFiles().getJavaExtendsListHolder()
.addToExtendsList(parentsInfo, (YangNode) javaCodeGeneratorInfo,
tempJavaCodeFragmentFiles.getBeanTempFiles());
@@ -347,6 +331,38 @@
}
/**
+ * Returns cases parent's qualified info.
+ *
+ * @param parent parent node
+ * @param yangPluginConfig plugin configuration
+ * @return cases parent's qualified info
+ */
+ public static JavaQualifiedTypeInfoTranslator getQualifierInfoForCasesParent(YangNode parent,
+ YangPluginConfig yangPluginConfig) {
+ String parentName;
+ String parentPkg;
+ JavaQualifiedTypeInfoTranslator parentsInfo = new JavaQualifiedTypeInfoTranslator();
+ JavaFileInfoTranslator parentInfo;
+ if (parent instanceof YangChoice) {
+ parentInfo = ((JavaFileInfoContainer) parent).getJavaFileInfo();
+ } else {
+ parent = ((YangAugment) parent).getAugmentedNode();
+ parentInfo = ((JavaFileInfoContainer) parent).getJavaFileInfo();
+ }
+ if (parentInfo.getPackage() != null) {
+ parentName = getCapitalCase(parentInfo.getJavaName());
+ parentPkg = parentInfo.getPackage();
+ } else {
+ parentName = getCapitalCase(getCamelCase(parent.getName(), yangPluginConfig.getConflictResolver()));
+ parentPkg = getNodesPackage(parent, yangPluginConfig);
+ }
+ parentsInfo.setClassInfo(parentName);
+ parentsInfo.setPkgInfo(parentPkg);
+ return parentsInfo;
+
+ }
+
+ /**
* Generates code for the current data model node.
*
* @param javaCodeGeneratorInfo YANG java file info node
@@ -404,7 +420,7 @@
if (!(parentNode instanceof JavaFileInfoContainer)) {
throw new TranslatorException("missing parent java node to get current node's package");
}
- JavaFileInfo parentJavaFileHandle = ((JavaFileInfoContainer) parentNode).getJavaFileInfo();
+ JavaFileInfoTranslator parentJavaFileHandle = ((JavaFileInfoContainer) parentNode).getJavaFileInfo();
pkg = parentJavaFileHandle.getPackage() + PERIOD + parentJavaFileHandle.getJavaName();
return pkg.toLowerCase();
}
@@ -487,7 +503,7 @@
* @param yangPluginConfig plugin configurations
* @return augment class name
*/
- public static String getAugmentClassName(YangAugment augment, YangPluginConfig yangPluginConfig) {
+ static String getAugmentClassName(YangAugment augment, YangPluginConfig yangPluginConfig) {
YangNodeIdentifier yangNodeIdentifier = augment.getTargetNode().get(augment.getTargetNode().size() - 1)
.getNodeIdentifier();
String name = getCapitalCase(getCamelCase(yangNodeIdentifier.getName(), yangPluginConfig