From 56d7e0525c7e580b6113cb82d0e7cb978a8e826b Mon Sep 17 00:00:00 2001 From: Martin Vitez Date: Fri, 6 Sep 2013 11:20:26 +0200 Subject: [PATCH] Fixed bug in Decimal64 constructor. Change-Id: I2a756cc413346d071ae9f9170cbd66bf805833f0 Signed-off-by: Martin Vitez --- .../opendaylight/yangtools/yang/model/util/Decimal64.java | 2 +- .../yangtools/yang/parser/util/ParserListenerUtils.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/Decimal64.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/Decimal64.java index cbb45b6744..cfc3999479 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/Decimal64.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/Decimal64.java @@ -61,7 +61,7 @@ public final class Decimal64 implements DecimalTypeDefinition { * @exception IllegalArgumentException */ public Decimal64(final SchemaPath path, final Integer fractionDigits) { - if (!((fractionDigits.intValue() > 1) && (fractionDigits.intValue() <= 18))) { + if (!((fractionDigits.intValue() >= 1) && (fractionDigits.intValue() <= 18))) { throw new IllegalArgumentException( "The fraction digits outside of boundaries. Fraction digits MUST be integer between 1 and 18 inclusively"); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ParserListenerUtils.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ParserListenerUtils.java index de8cf85677..27b28a40be 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ParserListenerUtils.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ParserListenerUtils.java @@ -1078,7 +1078,11 @@ public final class ParserListenerUtils { if ("decimal64".equals(typeName)) { if (rangeStatements.isEmpty()) { - return new Decimal64(baseTypePath, fractionDigits); + try { + return new Decimal64(baseTypePath, fractionDigits); + } catch(Exception e) { + throw new YangParseException(moduleName, line, e.getMessage()); + } } Decimal64 decimalType = new Decimal64(extBaseTypePath, fractionDigits); constraints.addRanges(decimalType.getRangeStatements()); -- 2.36.6