Merge "Fix for messags at the boot up time This commit proposes following two sets...
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-model-util / src / main / java / org / opendaylight / controller / model / util / YangTypesConverter.java
index 1ab1dc63b1a9f46ca8716a428384be3915117dcb..1b96adf7cca0261b421b89142d9e20210744c63b 100644 (file)
@@ -20,6 +20,7 @@ import org.opendaylight.controller.model.api.type.DecimalTypeDefinition;
 import org.opendaylight.controller.model.api.type.IntegerTypeDefinition;\r
 import org.opendaylight.controller.model.api.type.RangeConstraint;\r
 import org.opendaylight.controller.model.api.type.StringTypeDefinition;\r
+import org.opendaylight.controller.model.api.type.UnsignedIntegerTypeDefinition;\r
 import org.opendaylight.controller.yang.common.QName;\r
 import org.opendaylight.controller.yang.model.api.TypeDefinition;\r
 \r
@@ -36,10 +37,10 @@ public class YangTypesConverter {
     private static final TypeDefinition<IntegerTypeDefinition> INT32_TYPE = new Int32();\r
     private static final TypeDefinition<IntegerTypeDefinition> INT64_TYPE = new Int64();\r
     private static final TypeDefinition<StringTypeDefinition> STRING_TYPE = new StringType();\r
-    private static final TypeDefinition<IntegerTypeDefinition> UINT8_TYPE = new Uint8();\r
-    private static final TypeDefinition<IntegerTypeDefinition> UINT16_TYPE = new Int16();\r
-    private static final TypeDefinition<IntegerTypeDefinition> UINT32_TYPE = new Int32();\r
-    private static final TypeDefinition<IntegerTypeDefinition> UINT64_TYPE = new Int64();\r
+    private static final TypeDefinition<UnsignedIntegerTypeDefinition> UINT8_TYPE = new Uint8();\r
+    private static final TypeDefinition<UnsignedIntegerTypeDefinition> UINT16_TYPE = new Uint16();\r
+    private static final TypeDefinition<UnsignedIntegerTypeDefinition> UINT32_TYPE = new Uint32();\r
+    private static final TypeDefinition<UnsignedIntegerTypeDefinition> UINT64_TYPE = new Uint64();\r
 \r
     static {\r
         baseYangTypeMap.put("binary", BINARY);\r
@@ -59,16 +60,21 @@ public class YangTypesConverter {
         baseYangTypes.add("bits");\r
         baseYangTypes.add("boolean");\r
         baseYangTypes.add("decimal64");\r
+        baseYangTypes.add("empty");\r
         baseYangTypes.add("enumeration");\r
+        baseYangTypes.add("identityref");\r
+        baseYangTypes.add("instance-identifier");\r
         baseYangTypes.add("int8");\r
         baseYangTypes.add("int16");\r
         baseYangTypes.add("int32");\r
         baseYangTypes.add("int64");\r
+        baseYangTypes.add("leafref");\r
         baseYangTypes.add("string");\r
         baseYangTypes.add("uint8");\r
         baseYangTypes.add("uint16");\r
         baseYangTypes.add("uint32");\r
         baseYangTypes.add("uint64");\r
+        baseYangTypes.add("union");\r
     }\r
 \r
     public static boolean isBaseYangType(String type) {\r
@@ -85,24 +91,30 @@ public class YangTypesConverter {
         return type;\r
     }\r
 \r
-    public static TypeDefinition<IntegerTypeDefinition> javaTypeForBaseYangIntegerType(\r
+    public static TypeDefinition<IntegerTypeDefinition> javaTypeForBaseYangSignedIntegerType(\r
             String typeName, List<RangeConstraint> ranges) {\r
         if (typeName.equals("int8")) {\r
-            return new Int8(ranges, null);\r
+            return new Int8(ranges, null, null);\r
         } else if (typeName.equals("int16")) {\r
-            return new Int16(ranges, null);\r
+            return new Int16(ranges, null, null);\r
         } else if (typeName.equals("int32")) {\r
-            return new Int32(ranges, null);\r
+            return new Int32(ranges, null, null);\r
         } else if (typeName.equals("int64")) {\r
-            return new Int64(ranges, null);\r
-        } else if (typeName.equals("uint8")) {\r
-            return new Uint8(ranges, null);\r
+            return new Int64(ranges, null, null);\r
+        }\r
+        return null;\r
+    }\r
+\r
+    public static TypeDefinition<UnsignedIntegerTypeDefinition> javaTypeForBaseYangUnsignedIntegerType(\r
+            final String typeName, List<RangeConstraint> ranges) {\r
+        if (typeName.equals("uint8")) {\r
+            return new Uint8(ranges, null, null);\r
         } else if (typeName.equals("uint16")) {\r
-            return new Uint16(ranges, null);\r
+            return new Uint16(ranges, null, null);\r
         } else if (typeName.equals("uint32")) {\r
-            return new Uint32(ranges, null);\r
+            return new Uint32(ranges, null, null);\r
         } else if (typeName.equals("uint64")) {\r
-            return new Uint64(ranges, null);\r
+            return new Uint64(ranges, null, null);\r
         }\r
         return null;\r
     }\r