X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fyang-model-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fmodel%2Fparser%2Futil%2FYangModelBuilderUtil.java;h=a27108e4715bd668fc720f7ce5b0c232bf2e678b;hp=022798e0d9490e1771fb9ac210291549ba466fff;hb=4ce0f6630bc576b97c8c9a08848aafb6e90a75b0;hpb=ca85a6f3a39b406ab122fe985ee010a41489f658 diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/util/YangModelBuilderUtil.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/util/YangModelBuilderUtil.java index 022798e0d9..a27108e471 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/util/YangModelBuilderUtil.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/util/YangModelBuilderUtil.java @@ -49,30 +49,30 @@ import org.opendaylight.controller.antlrv4.code.gen.YangParser.String_restrictio import org.opendaylight.controller.antlrv4.code.gen.YangParser.Type_body_stmtsContext; import org.opendaylight.controller.antlrv4.code.gen.YangParser.Units_stmtContext; import org.opendaylight.controller.antlrv4.code.gen.YangParser.When_stmtContext; -import org.opendaylight.controller.model.api.type.BitsTypeDefinition; -import org.opendaylight.controller.model.api.type.BitsTypeDefinition.Bit; -import org.opendaylight.controller.model.api.type.EnumTypeDefinition; -import org.opendaylight.controller.model.api.type.LengthConstraint; -import org.opendaylight.controller.model.api.type.PatternConstraint; -import org.opendaylight.controller.model.api.type.RangeConstraint; -import org.opendaylight.controller.model.util.BaseConstraints; -import org.opendaylight.controller.model.util.BinaryType; -import org.opendaylight.controller.model.util.BitsType; -import org.opendaylight.controller.model.util.EnumerationType; -import org.opendaylight.controller.model.util.InstanceIdentifier; -import org.opendaylight.controller.model.util.Leafref; -import org.opendaylight.controller.model.util.RevisionAwareXPathImpl; -import org.opendaylight.controller.model.util.StringType; -import org.opendaylight.controller.model.util.UnknownType; -import org.opendaylight.controller.model.util.YangTypesConverter; import org.opendaylight.controller.yang.common.QName; import org.opendaylight.controller.yang.model.api.RevisionAwareXPath; import org.opendaylight.controller.yang.model.api.SchemaPath; import org.opendaylight.controller.yang.model.api.Status; import org.opendaylight.controller.yang.model.api.TypeDefinition; import org.opendaylight.controller.yang.model.api.UnknownSchemaNode; +import org.opendaylight.controller.yang.model.api.type.BitsTypeDefinition; +import org.opendaylight.controller.yang.model.api.type.EnumTypeDefinition; +import org.opendaylight.controller.yang.model.api.type.LengthConstraint; +import org.opendaylight.controller.yang.model.api.type.PatternConstraint; +import org.opendaylight.controller.yang.model.api.type.RangeConstraint; +import org.opendaylight.controller.yang.model.api.type.BitsTypeDefinition.Bit; import org.opendaylight.controller.yang.model.parser.builder.api.SchemaNodeBuilder; import org.opendaylight.controller.yang.model.parser.builder.impl.ConstraintsBuilder; +import org.opendaylight.controller.yang.model.util.BaseConstraints; +import org.opendaylight.controller.yang.model.util.BinaryType; +import org.opendaylight.controller.yang.model.util.BitsType; +import org.opendaylight.controller.yang.model.util.EnumerationType; +import org.opendaylight.controller.yang.model.util.InstanceIdentifier; +import org.opendaylight.controller.yang.model.util.Leafref; +import org.opendaylight.controller.yang.model.util.RevisionAwareXPathImpl; +import org.opendaylight.controller.yang.model.util.StringType; +import org.opendaylight.controller.yang.model.util.UnknownType; +import org.opendaylight.controller.yang.model.util.YangTypesConverter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -932,10 +932,12 @@ public class YangModelBuilderUtil { List rangeStatements = getRangeConstraints(ctx); List lengthStatements = getLengthConstraints(ctx); List 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); }