[ONOS-5142] [ONOS-5137] defect fixes
Change-Id: I2856a7a41b242b16c981915dd97986aa9c6ab676
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java
index dcca748..43946f7 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java
@@ -206,7 +206,7 @@
* @throws IOException when fails to write in file
*/
public static File generateInterfaceFile(File file, List<String> imports, YangNode curNode,
- boolean isAttrPresent)
+ boolean isAttrPresent)
throws IOException {
JavaFileInfoTranslator javaFileInfo = ((JavaFileInfoContainer) curNode).getJavaFileInfo();
@@ -376,7 +376,7 @@
*/
public static File generateBuilderClassFile(File file, YangNode curNode,
- boolean isAttrPresent)
+ boolean isAttrPresent)
throws IOException {
JavaFileInfoTranslator javaFileInfo = ((JavaFileInfoContainer) curNode).getJavaFileInfo();
@@ -490,7 +490,7 @@
* @throws IOException when fails to write in file
*/
public static File generateDefaultClassFile(File file, YangNode curNode, boolean isAttrPresent,
- List<String> imports)
+ List<String> imports)
throws IOException {
JavaFileInfoTranslator javaFileInfo = ((JavaFileInfoContainer) curNode).getJavaFileInfo();
@@ -806,6 +806,7 @@
boolean isIntConflict = false;
boolean isLongConflict = false;
+ boolean isShortConflict = false;
JavaAttributeInfo intAttr = tempJavaTypeFragmentFiles.getIntAttribute();
if (intAttr == null) {
intAttr = tempJavaTypeFragmentFiles.getUIntAttribute();
@@ -816,13 +817,20 @@
longAttr = tempJavaTypeFragmentFiles.getULongAttribute();
}
+ JavaAttributeInfo shortAttr = tempJavaTypeFragmentFiles.getShortAttribute();
+ if (shortAttr == null) {
+ shortAttr = tempJavaTypeFragmentFiles.getUInt8Attribute();
+ }
+
if (intAttr != null) {
isIntConflict = intAttr.isIntConflict();
}
if (longAttr != null) {
isLongConflict = longAttr.isLongConflict();
}
-
+ if (shortAttr != null) {
+ isShortConflict = shortAttr.isShortConflict();
+ }
if (isLongConflict) {
imports.add(tempJavaTypeFragmentFiles.getJavaImportData().getBigIntegerImport());
sort(imports);
@@ -845,6 +853,11 @@
tempJavaTypeFragmentFiles.getLongIndex() < tempJavaTypeFragmentFiles.getULongIndex()));
}
+ if (isShortConflict) {
+ insertDataIntoJavaFile(file, JavaCodeSnippetGen.addStaticAttributeShortRange(PRIVATE,
+ tempJavaTypeFragmentFiles.getShortIndex() < tempJavaTypeFragmentFiles.getUInt8Index()));
+ }
+
insertDataIntoJavaFile(file,
NEW_LINE + FOUR_SPACE_INDENTATION + getDataFromTempFileHandle(ATTRIBUTES_MASK,
((TempJavaCodeFragmentFilesContainer) curNode).getTempJavaCodeFragmentFiles()
@@ -914,6 +927,9 @@
if (isLongConflict) {
methods.add(getRangeValidatorMethodForUnion(BIG_INTEGER));
}
+ if (isShortConflict) {
+ methods.add(getRangeValidatorMethodForUnion(INT));
+ }
} catch (IOException e) {
throw new IOException("No data found in temporary java code fragment files for " + className