yesamer commented on code in PR #6299:
URL: 
https://github.com/apache/incubator-kie-drools/pull/6299#discussion_r2055855670


##########
kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/CeilingFunction.java:
##########
@@ -45,11 +48,16 @@ public FEELFnResult<BigDecimal> invoke(@ParameterName( "n" 
) BigDecimal n, @Para
         if ( scale == null ) {
             return FEELFnResult.ofError(new 
InvalidParametersEvent(Severity.ERROR, "scale", "cannot be null"));
         }
-        // Based on Table 76: Semantics of numeric functions, the scale is in 
range −6111 .. 6176
-        if (scale.compareTo(BigDecimal.valueOf(-6111)) < 0 || 
scale.compareTo(BigDecimal.valueOf(6176)) > 0) {
-            return FEELFnResult.ofError(new 
InvalidParametersEvent(Severity.ERROR, "scale", "must be in range between -6111 
to 6176."));
-        }
-
-        return FEELFnResult.ofResult( n.setScale( scale.intValue(), 
RoundingMode.CEILING ) );
+        Optional<Integer> scaleObj = 
NumberEvalHelper.coerceIntegerNumber(scale);
+        AtomicReference<FEELFnResult<BigDecimal>> toReturn = new 
AtomicReference<>();

Review Comment:
   @ChinchuAjith @gitgabrio @baldimir Personally, I would avoid returning the 
`Optional` from the `NumberEvalHelper.coerceIntegerNumber`. My suggestion is to 
always return an `Integer`. If an invalid (not a number) parameter is passed, 
we can just throw `IllegalArgumentException`. This would simplify the code in 
the `*Function` classes and remove the need for the AtomicReference. WDYT?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to