Added YANG typedef support in the YANG parser
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / model / parser / util / YangModelBuilderUtil.java
index 022798e0d9490e1771fb9ac210291549ba466fff..d5dfa9a2151b012d4a0d8d6dbdebdf59ed9dffce 100644 (file)
@@ -932,10 +932,12 @@ public class YangModelBuilderUtil {
             List<RangeConstraint> rangeStatements = getRangeConstraints(ctx);
             List<LengthConstraint> lengthStatements = getLengthConstraints(ctx);
             List<PatternConstraint> patternStatements = getPatternConstraint(ctx);
+            Integer fractionDigits = getFractionDigits(ctx);
 
             ut.rangeStatements(rangeStatements);
             ut.lengthStatements(lengthStatements);
             ut.patterns(patternStatements);
+            ut.fractionDigits(fractionDigits);
         }
 
         return ut.build();
@@ -973,7 +975,10 @@ public class YangModelBuilderUtil {
             type = YangTypesConverter.javaTypeForBaseYangDecimal64Type(
                     rangeStatements, fractionDigits);
         } else if (typeName.startsWith("int") || typeName.startsWith("uint")) {
-            type = YangTypesConverter.javaTypeForBaseYangIntegerType(typeName,
+            type = YangTypesConverter.javaTypeForBaseYangSignedIntegerType(typeName,
+                    rangeStatements);
+        } else if(typeName.startsWith("uint")) {
+            type = YangTypesConverter.javaTypeForBaseYangUnsignedIntegerType(typeName,
                     rangeStatements);
         } else if (typeName.equals("enumeration")) {
             type = new EnumerationType(enumConstants);
@@ -990,7 +995,7 @@ public class YangModelBuilderUtil {
             type = new Leafref(xpath);
         } else if (typeName.equals("binary")) {
             type = new BinaryType(null, lengthStatements, null);
-        } else if (typeName.equals("instanceidentifier")) {
+        } else if (typeName.equals("instance-identifier")) {
             boolean requireInstance = isRequireInstance(typeBody);
             type = new InstanceIdentifier(null, requireInstance);
         }