[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();