Merge "Added support for annotations in generated APIs."
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-model-util / src / main / java / org / opendaylight / controller / yang / model / util / YangTypesConverter.java
index f04ba66256fa695a73d72659b1c1b10e14661895..f3db85cf9a0242ab0f90d2753e0d1408368e4b36 100644 (file)
@@ -7,6 +7,8 @@
  */\r
 package org.opendaylight.controller.yang.model.util;\r
 \r
+import java.net.URI;\r
+import java.util.Date;\r
 import java.util.HashMap;\r
 import java.util.HashSet;\r
 import java.util.List;\r
@@ -18,13 +20,8 @@ import org.opendaylight.controller.yang.model.api.TypeDefinition;
 import org.opendaylight.controller.yang.model.api.type.BinaryTypeDefinition;\r
 import org.opendaylight.controller.yang.model.api.type.BitsTypeDefinition;\r
 import org.opendaylight.controller.yang.model.api.type.BooleanTypeDefinition;\r
-import org.opendaylight.controller.yang.model.api.type.DecimalTypeDefinition;\r
 import org.opendaylight.controller.yang.model.api.type.EmptyTypeDefinition;\r
 import org.opendaylight.controller.yang.model.api.type.InstanceIdentifierTypeDefinition;\r
-import org.opendaylight.controller.yang.model.api.type.IntegerTypeDefinition;\r
-import org.opendaylight.controller.yang.model.api.type.RangeConstraint;\r
-import org.opendaylight.controller.yang.model.api.type.StringTypeDefinition;\r
-import org.opendaylight.controller.yang.model.api.type.UnsignedIntegerTypeDefinition;\r
 \r
 public class YangTypesConverter {\r
 \r
@@ -35,16 +32,8 @@ public class YangTypesConverter {
     private static final TypeDefinition<BitsTypeDefinition> BITS = new BitsType();\r
     private static final TypeDefinition<BooleanTypeDefinition> BOOLEAN_TYPE = new BooleanType();\r
     private static final TypeDefinition<EmptyTypeDefinition> EMPTY_TYPE = new EmptyType();\r
-    private static final TypeDefinition<InstanceIdentifierTypeDefinition> INST_ID_TYPE = new InstanceIdentifier(null, true);\r
-    private static final TypeDefinition<IntegerTypeDefinition> INT8_TYPE = new Int8();\r
-    private static final TypeDefinition<IntegerTypeDefinition> INT16_TYPE = new Int16();\r
-    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<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
+    private static final TypeDefinition<InstanceIdentifierTypeDefinition> INST_ID_TYPE = new InstanceIdentifier(\r
+            null, true);\r
 \r
     static {\r
         baseYangTypeMap.put("binary", BINARY);\r
@@ -52,15 +41,6 @@ public class YangTypesConverter {
         baseYangTypeMap.put("boolean", BOOLEAN_TYPE);\r
         baseYangTypeMap.put("empty", EMPTY_TYPE);\r
         baseYangTypeMap.put("instance-identifier", INST_ID_TYPE);\r
-        baseYangTypeMap.put("int8", INT8_TYPE);\r
-        baseYangTypeMap.put("int16", INT16_TYPE);\r
-        baseYangTypeMap.put("int32", INT32_TYPE);\r
-        baseYangTypeMap.put("int64", INT64_TYPE);\r
-        baseYangTypeMap.put("string", STRING_TYPE);\r
-        baseYangTypeMap.put("uint8", UINT8_TYPE);\r
-        baseYangTypeMap.put("uint16", UINT16_TYPE);\r
-        baseYangTypeMap.put("uint32", UINT32_TYPE);\r
-        baseYangTypeMap.put("uint64", UINT64_TYPE);\r
 \r
         baseYangTypes.add("binary");\r
         baseYangTypes.add("bits");\r
@@ -92,42 +72,36 @@ public class YangTypesConverter {
         return type;\r
     }\r
 \r
-    public static TypeDefinition<?> javaTypeForBaseYangType(String typeName) {\r
-        TypeDefinition<?> type = baseYangTypeMap.get(typeName);\r
-        return type;\r
-    }\r
+    public static TypeDefinition<?> javaTypeForBaseYangType(\r
+            List<String> actualPath, URI namespace, Date revision,\r
+            String typeName) {\r
 \r
-    public static TypeDefinition<IntegerTypeDefinition> javaTypeForBaseYangSignedIntegerType(\r
-            String typeName, List<RangeConstraint> ranges) {\r
-        if (typeName.equals("int8")) {\r
-            return new Int8(ranges, null, null);\r
-        } else if (typeName.equals("int16")) {\r
-            return new Int16(ranges, null, null);\r
-        } else if (typeName.equals("int32")) {\r
-            return new Int32(ranges, null, null);\r
-        } else if (typeName.equals("int64")) {\r
-            return new Int64(ranges, null, null);\r
+        if (typeName.startsWith("int")) {\r
+            if (typeName.equals("int8")) {\r
+                return new Int8(actualPath, namespace, revision);\r
+            } else if (typeName.equals("int16")) {\r
+                return new Int16(actualPath, namespace, revision);\r
+            } else if (typeName.equals("int32")) {\r
+                return new Int32(actualPath, namespace, revision);\r
+            } else if (typeName.equals("int64")) {\r
+                return new Int64(actualPath, namespace, revision);\r
+            }\r
+        } else if (typeName.startsWith("uint")) {\r
+            if (typeName.equals("uint8")) {\r
+                return new Uint8(actualPath, namespace, revision);\r
+            } else if (typeName.equals("uint16")) {\r
+                return new Uint16(actualPath, namespace, revision);\r
+            } else if (typeName.equals("uint32")) {\r
+                return new Uint32(actualPath, namespace, revision);\r
+            } else if (typeName.equals("uint64")) {\r
+                return new Uint64(actualPath, namespace, revision);\r
+            }\r
+        } else if (typeName.equals("string")) {\r
+            return new StringType(actualPath, namespace, revision);\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, null);\r
-        } else if (typeName.equals("uint32")) {\r
-            return new Uint32(ranges, null, null);\r
-        } else if (typeName.equals("uint64")) {\r
-            return new Uint64(ranges, null, null);\r
-        }\r
-        return null;\r
-    }\r
-\r
-    public static TypeDefinition<DecimalTypeDefinition> javaTypeForBaseYangDecimal64Type(\r
-            List<RangeConstraint> rangeStatements, int fractionDigits) {\r
-        return new Decimal64(rangeStatements, fractionDigits);\r
+        TypeDefinition<?> type = baseYangTypeMap.get(typeName);\r
+        return type;\r
     }\r
 \r
-}
+}\r