[ONOS-4149],[ONOS-3909] YANG list translator impl and bug fixes.
Change-Id: Ia1a94142a3a114815766f661ed850bf9cacde66f
diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/utils/AttributesJavaDataType.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/utils/AttributesJavaDataType.java
index 97b4758..5a1f206 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/utils/AttributesJavaDataType.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/utils/AttributesJavaDataType.java
@@ -22,7 +22,41 @@
import org.onosproject.yangutils.datamodel.YangDataTypes;
import org.onosproject.yangutils.datamodel.YangType;
import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo;
-import org.onosproject.yangutils.utils.UtilConstants;
+
+import static org.onosproject.yangutils.datamodel.YangDataTypes.BINARY;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.BITS;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.BOOLEAN;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.DECIMAL64;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.DERIVED;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.EMPTY;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.ENUMERATION;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.IDENTITYREF;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.INSTANCE_IDENTIFIER;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.INT16;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.INT32;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.INT64;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.INT8;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.LEAFREF;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.STRING;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.UINT16;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.UINT32;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.UINT64;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.UINT8;
+import static org.onosproject.yangutils.datamodel.YangDataTypes.UNION;
+import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase;
+import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase;
+import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_DATA_TYPE;
+import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_WRAPPER;
+import static org.onosproject.yangutils.utils.UtilConstants.BYTE;
+import static org.onosproject.yangutils.utils.UtilConstants.BYTE_WRAPPER;
+import static org.onosproject.yangutils.utils.UtilConstants.INT;
+import static org.onosproject.yangutils.utils.UtilConstants.INTEGER_WRAPPER;
+import static org.onosproject.yangutils.utils.UtilConstants.JAVA_LANG;
+import static org.onosproject.yangutils.utils.UtilConstants.LONG;
+import static org.onosproject.yangutils.utils.UtilConstants.LONG_WRAPPER;
+import static org.onosproject.yangutils.utils.UtilConstants.SHORT;
+import static org.onosproject.yangutils.utils.UtilConstants.SHORT_WRAPPER;
+import static org.onosproject.yangutils.utils.UtilConstants.STRING_DATA_TYPE;
/**
* Provides java data types corresponding to YANG type.
@@ -43,6 +77,7 @@
* @return import info
*/
public static Set<JavaQualifiedTypeInfo> getImportInfo() {
+
return importInfo;
}
@@ -52,6 +87,7 @@
* @param importData import info
*/
public static void addImportInfo(JavaQualifiedTypeInfo importData) {
+
getImportInfo().add(importData);
}
@@ -62,47 +98,48 @@
* @return java type
*/
public static String getJavaDataType(YangType<?> yangType) {
+
YangDataTypes type = yangType.getDataType();
- if (type.equals(YangDataTypes.INT8)) {
- return UtilConstants.BYTE;
- } else if (type.equals(YangDataTypes.INT16)) {
- return UtilConstants.SHORT;
- } else if (type.equals(YangDataTypes.INT32)) {
- return UtilConstants.INT;
- } else if (type.equals(YangDataTypes.INT64)) {
- return UtilConstants.LONG;
- } else if (type.equals(YangDataTypes.UINT8)) {
- return UtilConstants.SHORT;
- } else if (type.equals(YangDataTypes.UINT16)) {
- return UtilConstants.INT;
- } else if (type.equals(YangDataTypes.UINT32)) {
- return UtilConstants.LONG;
- } else if (type.equals(YangDataTypes.UINT64)) {
+ if (type.equals(INT8)) {
+ return BYTE;
+ } else if (type.equals(INT16)) {
+ return SHORT;
+ } else if (type.equals(INT32)) {
+ return INT;
+ } else if (type.equals(INT64)) {
+ return LONG;
+ } else if (type.equals(UINT8)) {
+ return SHORT;
+ } else if (type.equals(UINT16)) {
+ return INT;
+ } else if (type.equals(UINT32)) {
+ return LONG;
+ } else if (type.equals(UINT64)) {
//TODO: BIGINTEGER.
- } else if (type.equals(YangDataTypes.DECIMAL64)) {
+ } else if (type.equals(DECIMAL64)) {
//TODO: DECIMAL64.
- } else if (type.equals(YangDataTypes.STRING)) {
- return UtilConstants.STRING;
- } else if (type.equals(YangDataTypes.BOOLEAN)) {
- return UtilConstants.BOOLEAN;
- } else if (type.equals(YangDataTypes.ENUMERATION)) {
+ } else if (type.equals(STRING)) {
+ return STRING_DATA_TYPE;
+ } else if (type.equals(BOOLEAN)) {
+ return BOOLEAN_DATA_TYPE;
+ } else if (type.equals(ENUMERATION)) {
//TODO: ENUMERATION.
- } else if (type.equals(YangDataTypes.BITS)) {
+ } else if (type.equals(BITS)) {
//TODO:BITS
- } else if (type.equals(YangDataTypes.BINARY)) {
+ } else if (type.equals(BINARY)) {
//TODO:BINARY
- } else if (type.equals(YangDataTypes.LEAFREF)) {
+ } else if (type.equals(LEAFREF)) {
//TODO:LEAFREF
- } else if (type.equals(YangDataTypes.IDENTITYREF)) {
+ } else if (type.equals(IDENTITYREF)) {
//TODO:IDENTITYREF
- } else if (type.equals(YangDataTypes.EMPTY)) {
+ } else if (type.equals(EMPTY)) {
//TODO:EMPTY
- } else if (type.equals(YangDataTypes.UNION)) {
+ } else if (type.equals(UNION)) {
//TODO:UNION
- } else if (type.equals(YangDataTypes.INSTANCE_IDENTIFIER)) {
+ } else if (type.equals(INSTANCE_IDENTIFIER)) {
//TODO:INSTANCE_IDENTIFIER
- } else if (type.equals(YangDataTypes.DERIVED)) {
+ } else if (type.equals(DERIVED)) {
return yangType.getDataTypeName();
}
return null;
@@ -116,77 +153,76 @@
* @return java import class
*/
public static String getJavaImportClass(YangType<?> yangType, boolean isListAttr) {
+
YangDataTypes type = yangType.getDataType();
if (isListAttr) {
- if (type.equals(YangDataTypes.INT8)) {
- return UtilConstants.BYTE_WRAPPER;
- } else if (type.equals(YangDataTypes.INT16)) {
- return UtilConstants.SHORT_WRAPPER;
- } else if (type.equals(YangDataTypes.INT32)) {
- return UtilConstants.INTEGER_WRAPPER;
- } else if (type.equals(YangDataTypes.INT64)) {
- return UtilConstants.LONG_WRAPPER;
- } else if (type.equals(YangDataTypes.UINT8)) {
- return UtilConstants.SHORT_WRAPPER;
- } else if (type.equals(YangDataTypes.UINT16)) {
- return UtilConstants.INTEGER_WRAPPER;
- } else if (type.equals(YangDataTypes.UINT32)) {
- return UtilConstants.LONG_WRAPPER;
- } else if (type.equals(YangDataTypes.UINT64)) {
+ if (type.equals(INT8)) {
+ return BYTE_WRAPPER;
+ } else if (type.equals(INT16)) {
+ return SHORT_WRAPPER;
+ } else if (type.equals(INT32)) {
+ return INTEGER_WRAPPER;
+ } else if (type.equals(INT64)) {
+ return LONG_WRAPPER;
+ } else if (type.equals(UINT8)) {
+ return SHORT_WRAPPER;
+ } else if (type.equals(UINT16)) {
+ return INTEGER_WRAPPER;
+ } else if (type.equals(UINT32)) {
+ return LONG_WRAPPER;
+ } else if (type.equals(UINT64)) {
//TODO: BIGINTEGER.
- } else if (type.equals(YangDataTypes.DECIMAL64)) {
+ } else if (type.equals(DECIMAL64)) {
//TODO: DECIMAL64.
- } else if (type.equals(YangDataTypes.STRING)) {
- return UtilConstants.STRING;
- } else if (type.equals(YangDataTypes.BOOLEAN)) {
- return UtilConstants.BOOLEAN_WRAPPER;
- } else if (type.equals(YangDataTypes.ENUMERATION)) {
+ } else if (type.equals(STRING)) {
+ return STRING_DATA_TYPE;
+ } else if (type.equals(BOOLEAN)) {
+ return BOOLEAN_WRAPPER;
+ } else if (type.equals(ENUMERATION)) {
//TODO: ENUMERATION.
- } else if (type.equals(YangDataTypes.BITS)) {
+ } else if (type.equals(BITS)) {
//TODO:BITS
- } else if (type.equals(YangDataTypes.BINARY)) {
+ } else if (type.equals(BINARY)) {
//TODO:BINARY
- } else if (type.equals(YangDataTypes.LEAFREF)) {
+ } else if (type.equals(LEAFREF)) {
//TODO:LEAFREF
- } else if (type.equals(YangDataTypes.IDENTITYREF)) {
+ } else if (type.equals(IDENTITYREF)) {
//TODO:IDENTITYREF
- } else if (type.equals(YangDataTypes.EMPTY)) {
+ } else if (type.equals(EMPTY)) {
//TODO:EMPTY
- } else if (type.equals(YangDataTypes.UNION)) {
+ } else if (type.equals(UNION)) {
//TODO:UNION
- } else if (type.equals(YangDataTypes.INSTANCE_IDENTIFIER)) {
+ } else if (type.equals(INSTANCE_IDENTIFIER)) {
//TODO:INSTANCE_IDENTIFIER
- } else if (type.equals(YangDataTypes.DERIVED)) {
- return JavaIdentifierSyntax
- .getCaptialCase(JavaIdentifierSyntax.getCamelCase(yangType.getDataTypeName()));
+ } else if (type.equals(DERIVED)) {
+ return getCaptialCase(getCamelCase(yangType.getDataTypeName()));
}
} else {
- if (type.equals(YangDataTypes.UINT64)) {
+ if (type.equals(UINT64)) {
//TODO: BIGINTEGER.
- } else if (type.equals(YangDataTypes.DECIMAL64)) {
+ } else if (type.equals(DECIMAL64)) {
//TODO: DECIMAL64.
- } else if (type.equals(YangDataTypes.STRING)) {
- return UtilConstants.STRING;
- } else if (type.equals(YangDataTypes.ENUMERATION)) {
+ } else if (type.equals(STRING)) {
+ return STRING_DATA_TYPE;
+ } else if (type.equals(ENUMERATION)) {
//TODO: ENUMERATION.
- } else if (type.equals(YangDataTypes.BITS)) {
+ } else if (type.equals(BITS)) {
//TODO:BITS
- } else if (type.equals(YangDataTypes.BINARY)) {
+ } else if (type.equals(BINARY)) {
//TODO:BINARY
- } else if (type.equals(YangDataTypes.LEAFREF)) {
+ } else if (type.equals(LEAFREF)) {
//TODO:LEAFREF
- } else if (type.equals(YangDataTypes.IDENTITYREF)) {
+ } else if (type.equals(IDENTITYREF)) {
//TODO:IDENTITYREF
- } else if (type.equals(YangDataTypes.EMPTY)) {
+ } else if (type.equals(EMPTY)) {
//TODO:EMPTY
- } else if (type.equals(YangDataTypes.UNION)) {
+ } else if (type.equals(UNION)) {
//TODO:UNION
- } else if (type.equals(YangDataTypes.INSTANCE_IDENTIFIER)) {
+ } else if (type.equals(INSTANCE_IDENTIFIER)) {
//TODO:INSTANCE_IDENTIFIER
- } else if (type.equals(YangDataTypes.DERIVED)) {
- return JavaIdentifierSyntax
- .getCaptialCase(JavaIdentifierSyntax.getCamelCase(yangType.getDataTypeName()));
+ } else if (type.equals(DERIVED)) {
+ return getCaptialCase(getCamelCase(yangType.getDataTypeName()));
}
}
return null;
@@ -201,40 +237,41 @@
* @return java import package
*/
public static String getJavaImportPackage(YangType<?> yangType, boolean isListAttr, String classInfo) {
+
YangDataTypes type = yangType.getDataType();
if (isListAttr) {
- if (type.equals(YangDataTypes.INT8)
- || type.equals(YangDataTypes.INT16)
- || type.equals(YangDataTypes.INT32)
- || type.equals(YangDataTypes.INT64)
- || type.equals(YangDataTypes.UINT8)
- || type.equals(YangDataTypes.UINT16)
- || type.equals(YangDataTypes.UINT32)
- || type.equals(YangDataTypes.STRING)
- || type.equals(YangDataTypes.BOOLEAN)) {
- return UtilConstants.JAVA_LANG;
- } else if (type.equals(YangDataTypes.UINT64)) {
+ if (type.equals(INT8)
+ || type.equals(INT16)
+ || type.equals(INT32)
+ || type.equals(INT64)
+ || type.equals(UINT8)
+ || type.equals(UINT16)
+ || type.equals(UINT32)
+ || type.equals(STRING)
+ || type.equals(BOOLEAN)) {
+ return JAVA_LANG;
+ } else if (type.equals(UINT64)) {
//TODO: BIGINTEGER.
- } else if (type.equals(YangDataTypes.DECIMAL64)) {
+ } else if (type.equals(DECIMAL64)) {
//TODO: DECIMAL64.
- } else if (type.equals(YangDataTypes.ENUMERATION)) {
+ } else if (type.equals(ENUMERATION)) {
//TODO: ENUMERATION.
- } else if (type.equals(YangDataTypes.BITS)) {
+ } else if (type.equals(BITS)) {
//TODO:BITS
- } else if (type.equals(YangDataTypes.BINARY)) {
+ } else if (type.equals(BINARY)) {
//TODO:BINARY
- } else if (type.equals(YangDataTypes.LEAFREF)) {
+ } else if (type.equals(LEAFREF)) {
//TODO:LEAFREF
- } else if (type.equals(YangDataTypes.IDENTITYREF)) {
+ } else if (type.equals(IDENTITYREF)) {
//TODO:IDENTITYREF
- } else if (type.equals(YangDataTypes.EMPTY)) {
+ } else if (type.equals(EMPTY)) {
//TODO:EMPTY
- } else if (type.equals(YangDataTypes.UNION)) {
+ } else if (type.equals(UNION)) {
//TODO:UNION
- } else if (type.equals(YangDataTypes.INSTANCE_IDENTIFIER)) {
+ } else if (type.equals(INSTANCE_IDENTIFIER)) {
//TODO:INSTANCE_IDENTIFIER
- } else if (type.equals(YangDataTypes.DERIVED)) {
+ } else if (type.equals(DERIVED)) {
for (JavaQualifiedTypeInfo imports : getImportInfo()) {
if (imports.getClassInfo().equals(classInfo)) {
return imports.getPkgInfo();
@@ -243,29 +280,29 @@
}
} else {
- if (type.equals(YangDataTypes.UINT64)) {
+ if (type.equals(UINT64)) {
//TODO: BIGINTEGER.
- } else if (type.equals(YangDataTypes.DECIMAL64)) {
+ } else if (type.equals(DECIMAL64)) {
//TODO: DECIMAL64.
- } else if (type.equals(YangDataTypes.STRING)) {
- return UtilConstants.JAVA_LANG;
- } else if (type.equals(YangDataTypes.ENUMERATION)) {
+ } else if (type.equals(STRING)) {
+ return JAVA_LANG;
+ } else if (type.equals(ENUMERATION)) {
//TODO: ENUMERATION.
- } else if (type.equals(YangDataTypes.BITS)) {
+ } else if (type.equals(BITS)) {
//TODO:BITS
- } else if (type.equals(YangDataTypes.BINARY)) {
+ } else if (type.equals(BINARY)) {
//TODO:BINARY
- } else if (type.equals(YangDataTypes.LEAFREF)) {
+ } else if (type.equals(LEAFREF)) {
//TODO:LEAFREF
- } else if (type.equals(YangDataTypes.IDENTITYREF)) {
+ } else if (type.equals(IDENTITYREF)) {
//TODO:IDENTITYREF
- } else if (type.equals(YangDataTypes.EMPTY)) {
+ } else if (type.equals(EMPTY)) {
//TODO:EMPTY
- } else if (type.equals(YangDataTypes.UNION)) {
+ } else if (type.equals(UNION)) {
//TODO:UNION
- } else if (type.equals(YangDataTypes.INSTANCE_IDENTIFIER)) {
+ } else if (type.equals(INSTANCE_IDENTIFIER)) {
//TODO:INSTANCE_IDENTIFIER
- } else if (type.equals(YangDataTypes.DERIVED)) {
+ } else if (type.equals(DERIVED)) {
for (JavaQualifiedTypeInfo imports : getImportInfo()) {
if (imports.getClassInfo().equals(classInfo)) {
return imports.getPkgInfo();