Fix CCE in DefinitionGenerator 12/100412/2
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 5 Apr 2022 10:47:03 +0000 (12:47 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 5 Apr 2022 12:12:45 +0000 (14:12 +0200)
decimal64 is mapped to its own type, not BigDecimal. Adjust the cast
and convert to BigDecimal.

JIRA: NETCONF-870
Change-Id: Idce468ed2728f472431ed325ab8dcb2a1e449118
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/DefinitionGenerator.java

index f99f1fc9aa318774a70a4f62f7fbb62ca39a5569..f7817c0daf8c86132522c38e7ae9db7c3d9c682a 100644 (file)
@@ -35,6 +35,7 @@ import java.util.Set;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.OAversion;
+import org.opendaylight.yangtools.yang.common.Decimal64;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
 import org.opendaylight.yangtools.yang.model.api.ActionNodeContainer;
@@ -870,7 +871,7 @@ public class DefinitionGenerator {
 
     private static String processNumberType(final RangeRestrictedTypeDefinition<?, ?> leafTypeDef,
             final ObjectNode property) {
-        final Optional<Number> maybeLower = ((RangeRestrictedTypeDefinition<?, ?>) leafTypeDef).getRangeConstraint()
+        final Optional<Number> maybeLower = leafTypeDef.getRangeConstraint()
                 .map(RangeConstraint::getAllowedRanges).map(RangeSet::span).map(Range::lowerEndpoint);
 
         if (isHexadecimalOrOctal(leafTypeDef)) {
@@ -878,7 +879,7 @@ public class DefinitionGenerator {
         }
 
         if (leafTypeDef instanceof DecimalTypeDefinition) {
-            maybeLower.ifPresent(number -> setDefaultValue(property, (BigDecimal) number));
+            maybeLower.ifPresent(number -> setDefaultValue(property, ((Decimal64) number).decimalValue()));
             return NUMBER_TYPE;
         }
         if (leafTypeDef instanceof Uint8TypeDefinition