Author: jleroux
Date: Mon Feb 12 10:04:29 2018 New Revision: 1823931 URL: http://svn.apache.org/viewvc?rev=1823931&view=rev Log: Improved: [DEPRECATION] Replace BigDecimal.ROUND_* by RoundingMode.* (OFBIZ-9571) UtilNumber class Deprecates and replaces both getBigDecimalRoundingMode() by getRoundingMode() Deprecates toPercentString() Puts a log for a NumberFormatException Calculate class Uses RoundingMode where necessary. No deprecation, this should be only used by Minilang The rest Adapts the whole code for that Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceServices.java ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceWorker.java ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/payment/PaymentWorker.java ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCPaymentServices.java ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/cybersource/IcsPaymentServices.java ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/gosoftware/PcChargeServices.java ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/gosoftware/RitaServices.java ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/ideal/IdealEvents.java ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/orbital/OrbitalPaymentServices.java ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/finaccount/FinAccountHelper.java ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReadHelper.java ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderServices.java ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/price/PriceServices.java ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/shipment/ShipmentServices.java ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/thirdparty/ups/UpsServices.java ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/weightPackage/WeightPackageSession.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/otherops/Calculate.java Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceServices.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceServices.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceServices.java Mon Feb 12 10:04:29 2018 @@ -22,6 +22,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.StringReader; import java.math.BigDecimal; +import java.math.RoundingMode; import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.sql.Timestamp; @@ -109,9 +110,9 @@ public class InvoiceServices { // set some BigDecimal properties private static final BigDecimal ZERO = BigDecimal.ZERO; private static final int DECIMALS = UtilNumber.getBigDecimalScale("invoice.decimals"); - private static final int ROUNDING = UtilNumber.getBigDecimalRoundingMode("invoice.rounding"); + private static final RoundingMode ROUNDING = UtilNumber.getRoundingMode("invoice.rounding"); private static final int TAX_DECIMALS = UtilNumber.getBigDecimalScale("salestax.calc.decimals"); - private static final int TAX_ROUNDING = UtilNumber.getBigDecimalRoundingMode("salestax.rounding"); + private static final RoundingMode TAX_ROUNDING = UtilNumber.getRoundingMode("salestax.rounding"); private static final int INVOICE_ITEM_SEQUENCE_ID_DIGITS = 5; // this is the number of digits used for invoiceItemSeqId: 00001, 00002... public static final String resource = "AccountingUiLabels"; @@ -155,7 +156,7 @@ public class InvoiceServices { GenericValue userLogin = (GenericValue) context.get("userLogin"); Locale locale = (Locale) context.get("locale"); - if (DECIMALS == -1 || ROUNDING == -1) { + if (DECIMALS == -1 || ROUNDING == null) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "AccountingAritmeticPropertiesNotConfigured", locale)); } @@ -2314,7 +2315,7 @@ public class InvoiceServices { GenericValue userLogin = (GenericValue) context.get("userLogin"); Locale locale = (Locale) context.get("locale"); - if (DECIMALS == -1 || ROUNDING == -1) { + if (DECIMALS == -1 || ROUNDING == null) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "AccountingAritmeticPropertiesNotConfigured", locale)); } @@ -2411,7 +2412,7 @@ public class InvoiceServices { } private static BigDecimal calcHeaderAdj(Delegator delegator, GenericValue adj, String invoiceTypeId, String invoiceId, String invoiceItemSeqId, - BigDecimal divisor, BigDecimal multiplier, BigDecimal baseAmount, int decimals, int rounding, GenericValue userLogin, LocalDispatcher dispatcher, Locale locale) { + BigDecimal divisor, BigDecimal multiplier, BigDecimal baseAmount, int decimals, RoundingMode rounding, GenericValue userLogin, LocalDispatcher dispatcher, Locale locale) { BigDecimal adjAmount = ZERO; if (adj.get("amount") != null) { @@ -2601,7 +2602,7 @@ public class InvoiceServices { Delegator delegator = dctx.getDelegator(); Locale locale = (Locale) context.get("locale"); - if (DECIMALS == -1 || ROUNDING == -1) { + if (DECIMALS == -1 || ROUNDING == null) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "AccountingAritmeticPropertiesNotConfigured", locale)); } @@ -3402,7 +3403,7 @@ public class InvoiceServices { Debug.logInfo("Start updating the paymentApplication table ", module); } - if (DECIMALS == -1 || ROUNDING == -1) { + if (DECIMALS == -1 || ROUNDING == null) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "AccountingAritmeticPropertiesNotConfigured", locale)); } Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceWorker.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceWorker.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceWorker.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceWorker.java Mon Feb 12 10:04:29 2018 @@ -20,6 +20,7 @@ package org.apache.ofbiz.accounting.invo import java.math.BigDecimal; import java.math.MathContext; +import java.math.RoundingMode; import java.sql.Timestamp; import java.util.HashMap; import java.util.HashSet; @@ -52,9 +53,9 @@ public final class InvoiceWorker { public static final String module = InvoiceWorker.class.getName(); private static final BigDecimal ZERO = BigDecimal.ZERO; private static final int decimals = UtilNumber.getBigDecimalScale("invoice.decimals"); - private static final int rounding = UtilNumber.getBigDecimalRoundingMode("invoice.rounding"); + private static final RoundingMode rounding = UtilNumber.getRoundingMode("invoice.rounding"); private static final int taxDecimals = UtilNumber.getBigDecimalScale("salestax.calc.decimals"); - private static final int taxRounding = UtilNumber.getBigDecimalRoundingMode("salestax.rounding"); + private static final RoundingMode taxRounding = UtilNumber.getRoundingMode("salestax.rounding"); private InvoiceWorker () {} Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/payment/PaymentWorker.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/payment/PaymentWorker.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/payment/PaymentWorker.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/payment/PaymentWorker.java Mon Feb 12 10:04:29 2018 @@ -20,6 +20,7 @@ package org.apache.ofbiz.accounting.paym import java.math.BigDecimal; import java.math.MathContext; +import java.math.RoundingMode; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -49,7 +50,7 @@ public final class PaymentWorker { public static final String module = PaymentWorker.class.getName(); private static final int decimals = UtilNumber.getBigDecimalScale("invoice.decimals"); - private static final int rounding = UtilNumber.getBigDecimalRoundingMode("invoice.rounding"); + private static final RoundingMode rounding = UtilNumber.getRoundingMode("invoice.rounding"); private PaymentWorker() {} Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/tax/TaxAuthorityServices.java Mon Feb 12 10:04:29 2018 @@ -60,7 +60,7 @@ public class TaxAuthorityServices { public static final BigDecimal PERCENT_SCALE = new BigDecimal("100.000"); public static final int salestaxFinalDecimals = UtilNumber.getBigDecimalScale("salestax.final.decimals"); public static final int salestaxCalcDecimals = UtilNumber.getBigDecimalScale("salestax.calc.decimals"); - public static final int salestaxRounding = UtilNumber.getBigDecimalRoundingMode("salestax.rounding"); + public static final RoundingMode salestaxRounding = UtilNumber.getRoundingMode("salestax.rounding"); public static final String resource = "AccountingUiLabels"; public static Map<String, Object> rateProductTaxCalcForDisplay(DispatchContext dctx, Map<String, ? extends Object> context) { Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCPaymentServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCPaymentServices.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCPaymentServices.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCPaymentServices.java Mon Feb 12 10:04:29 2018 @@ -21,6 +21,7 @@ package org.apache.ofbiz.accounting.thir import java.io.ByteArrayOutputStream; import java.io.OutputStream; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; import java.util.Locale; @@ -54,7 +55,7 @@ public class CCPaymentServices { public final static String module = CCPaymentServices.class.getName(); private static int decimals = UtilNumber.getBigDecimalScale("invoice.decimals"); - private static int rounding = UtilNumber.getBigDecimalRoundingMode("invoice.rounding"); + private static RoundingMode rounding = UtilNumber.getRoundingMode("invoice.rounding"); public final static String resource = "AccountingUiLabels"; private final static int maxSevComp = 4; Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/cybersource/IcsPaymentServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/cybersource/IcsPaymentServices.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/cybersource/IcsPaymentServices.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/cybersource/IcsPaymentServices.java Mon Feb 12 10:04:29 2018 @@ -53,7 +53,7 @@ public class IcsPaymentServices { public static final String module = IcsPaymentServices.class.getName(); private static int decimals = UtilNumber.getBigDecimalScale("invoice.decimals"); - private static int rounding = UtilNumber.getBigDecimalRoundingMode("invoice.rounding"); + private static RoundingMode rounding = UtilNumber.getRoundingMode("invoice.rounding"); public final static String resource = "AccountingUiLabels"; // load the JSSE properties Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/gosoftware/PcChargeServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/gosoftware/PcChargeServices.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/gosoftware/PcChargeServices.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/gosoftware/PcChargeServices.java Mon Feb 12 10:04:29 2018 @@ -20,6 +20,7 @@ package org.apache.ofbiz.accounting.thir import java.io.IOException; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.List; import java.util.Locale; import java.util.Map; @@ -43,7 +44,7 @@ public class PcChargeServices { public static final String module = PcChargeServices.class.getName(); private static int decimals = UtilNumber.getBigDecimalScale("invoice.decimals"); - private static int rounding = UtilNumber.getBigDecimalRoundingMode("invoice.rounding"); + private static RoundingMode rounding = UtilNumber.getRoundingMode("invoice.rounding"); public final static String resource = "AccountingUiLabels"; public static Map<String, Object> ccAuth(DispatchContext dctx, Map<String, ? extends Object> context) { Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/gosoftware/RitaServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/gosoftware/RitaServices.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/gosoftware/RitaServices.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/gosoftware/RitaServices.java Mon Feb 12 10:04:29 2018 @@ -20,6 +20,7 @@ package org.apache.ofbiz.accounting.thir import java.io.IOException; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.Timestamp; import java.util.List; import java.util.Locale; @@ -48,7 +49,7 @@ public class RitaServices { public static final String module = RitaServices.class.getName(); private static int decimals = UtilNumber.getBigDecimalScale("invoice.decimals"); - private static int rounding = UtilNumber.getBigDecimalRoundingMode("invoice.rounding"); + private static RoundingMode rounding = UtilNumber.getRoundingMode("invoice.rounding"); public final static String resource = "AccountingUiLabels"; public static final String resourceOrder = "OrderUiLabels"; Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/ideal/IdealEvents.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/ideal/IdealEvents.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/ideal/IdealEvents.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/ideal/IdealEvents.java Mon Feb 12 10:04:29 2018 @@ -66,7 +66,7 @@ public class IdealEvents { public static final String resourceErr = "AccountingErrorUiLabels"; public static final String module = IdealEvents.class.getName(); private static int decimals = UtilNumber.getBigDecimalScale("invoice.decimals"); - private static int rounding = UtilNumber.getBigDecimalRoundingMode("invoice.rounding"); + private static RoundingMode rounding = UtilNumber.getRoundingMode("invoice.rounding"); /** Initiate iDEAL Request */ public static String callIdeal(HttpServletRequest request, HttpServletResponse response) { Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/orbital/OrbitalPaymentServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/orbital/OrbitalPaymentServices.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/orbital/OrbitalPaymentServices.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/orbital/OrbitalPaymentServices.java Mon Feb 12 10:04:29 2018 @@ -53,7 +53,7 @@ public class OrbitalPaymentServices { public static String module = OrbitalPaymentServices.class.getName(); private static int decimals = UtilNumber.getBigDecimalScale("invoice.decimals"); - private static int rounding = UtilNumber.getBigDecimalRoundingMode("invoice.rounding"); + private static RoundingMode rounding = UtilNumber.getRoundingMode("invoice.rounding"); public final static String resource = "AccountingUiLabels"; public static String ERROR = "Error"; Modified: ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/finaccount/FinAccountHelper.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/finaccount/FinAccountHelper.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/finaccount/FinAccountHelper.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/finaccount/FinAccountHelper.java Mon Feb 12 10:04:29 2018 @@ -20,6 +20,7 @@ package org.apache.ofbiz.order.finaccount; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.Timestamp; import java.util.List; import java.util.Locale; @@ -48,7 +49,7 @@ public class FinAccountHelper { * A word on precision: since we're just adding and subtracting, the interim figures should have one more decimal place of precision than the final numbers. */ public static final int decimals = UtilNumber.getBigDecimalScale("finaccount.decimals"); - public static final int rounding = UtilNumber.getBigDecimalRoundingMode("finaccount.rounding"); + public static final RoundingMode rounding = UtilNumber.getRoundingMode("finaccount.rounding"); public static final BigDecimal ZERO = BigDecimal.ZERO.setScale(decimals, rounding); public static final String giftCertFinAccountTypeId = "GIFTCERT_ACCOUNT"; @@ -76,7 +77,7 @@ public class FinAccountHelper { * @return the new value in a BigDecimal field * @throws GenericEntityException */ - public static BigDecimal addFirstEntryAmount(BigDecimal initialValue, List<GenericValue> transactions, String fieldName, int decimals, int rounding) throws GenericEntityException { + public static BigDecimal addFirstEntryAmount(BigDecimal initialValue, List<GenericValue> transactions, String fieldName, int decimals, RoundingMode rounding) throws GenericEntityException { if ((transactions != null) && (transactions.size() == 1)) { GenericValue firstEntry = transactions.get(0); if (firstEntry.get(fieldName) != null) { Modified: ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReadHelper.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReadHelper.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReadHelper.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReadHelper.java Mon Feb 12 10:04:29 2018 @@ -19,6 +19,7 @@ package org.apache.ofbiz.order.order; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Arrays; @@ -66,10 +67,10 @@ public class OrderReadHelper { // scales and rounding modes for BigDecimal math public static final int scale = UtilNumber.getBigDecimalScale("order.decimals"); - public static final int rounding = UtilNumber.getBigDecimalRoundingMode("order.rounding"); + public static final RoundingMode rounding = UtilNumber.getRoundingMode("order.rounding"); public static final int taxCalcScale = UtilNumber.getBigDecimalScale("salestax.calc.decimals"); public static final int taxFinalScale = UtilNumber.getBigDecimalScale("salestax.final.decimals"); - public static final int taxRounding = UtilNumber.getBigDecimalRoundingMode("salestax.rounding"); + public static final RoundingMode taxRounding = UtilNumber.getRoundingMode("salestax.rounding"); public static final BigDecimal ZERO = (BigDecimal.ZERO).setScale(scale, rounding); public static final BigDecimal percentage = (new BigDecimal("0.01")).setScale(scale, rounding); Modified: ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderServices.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderServices.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderServices.java Mon Feb 12 10:04:29 2018 @@ -19,6 +19,7 @@ package org.apache.ofbiz.order.order; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collection; @@ -36,6 +37,8 @@ import java.util.concurrent.Callable; import javax.transaction.Transaction; +import org.apache.commons.lang.StringUtils; +import org.apache.fop.apps.MimeConstants; import org.apache.ofbiz.base.util.Debug; import org.apache.ofbiz.base.util.GeneralException; import org.apache.ofbiz.base.util.GeneralRuntimeException; @@ -83,9 +86,6 @@ import org.apache.ofbiz.service.ServiceU import com.ibm.icu.util.Calendar; -import org.apache.commons.lang.StringUtils; -import org.apache.fop.apps.MimeConstants; - /** * Order Processing Services */ @@ -112,9 +112,9 @@ public class OrderServices { purchaseAttributeRoleMap.put("supplierAgentPartyId", "SUPPLIER_AGENT"); } public static final int taxDecimals = UtilNumber.getBigDecimalScale("salestax.calc.decimals"); - public static final int taxRounding = UtilNumber.getBigDecimalRoundingMode("salestax.rounding"); + public static final RoundingMode taxRounding = UtilNumber.getRoundingMode("salestax.rounding"); public static final int orderDecimals = UtilNumber.getBigDecimalScale("order.decimals"); - public static final int orderRounding = UtilNumber.getBigDecimalRoundingMode("order.rounding"); + public static final RoundingMode orderRounding = UtilNumber.getRoundingMode("order.rounding"); public static final BigDecimal ZERO = BigDecimal.ZERO.setScale(taxDecimals, taxRounding); Modified: ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java Mon Feb 12 10:04:29 2018 @@ -19,6 +19,7 @@ package org.apache.ofbiz.order.shoppingcart; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.Timestamp; import java.util.ArrayList; import java.util.HashMap; @@ -74,7 +75,7 @@ public class CheckOutHelper { public static final String resource_error = "OrderErrorUiLabels"; public static final int scale = UtilNumber.getBigDecimalScale("order.decimals"); - public static final int rounding = UtilNumber.getBigDecimalRoundingMode("order.rounding"); + public static final RoundingMode rounding = UtilNumber.getRoundingMode("order.rounding"); protected LocalDispatcher dispatcher = null; protected Delegator delegator = null; Modified: ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java Mon Feb 12 10:04:29 2018 @@ -90,10 +90,10 @@ public class ShoppingCart implements Ite // scales and rounding modes for BigDecimal math public static final int scale = UtilNumber.getBigDecimalScale("order.decimals"); - public static final int rounding = UtilNumber.getBigDecimalRoundingMode("order.rounding"); + public static final RoundingMode rounding = UtilNumber.getRoundingMode("order.rounding"); public static final int taxCalcScale = UtilNumber.getBigDecimalScale("salestax.calc.decimals"); public static final int taxFinalScale = UtilNumber.getBigDecimalScale("salestax.final.decimals"); - public static final int taxRounding = UtilNumber.getBigDecimalRoundingMode("salestax.rounding"); + public static final RoundingMode taxRounding = UtilNumber.getRoundingMode("salestax.rounding"); public static final BigDecimal ZERO = BigDecimal.ZERO; public static final MathContext generalRounding = new MathContext(10); Modified: ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java Mon Feb 12 10:04:29 2018 @@ -77,7 +77,7 @@ public final class ProductPromoWorker { private static final String resource_error = "OrderErrorUiLabels"; private static final int decimals = UtilNumber.getBigDecimalScale("order.decimals"); - private static final int rounding = UtilNumber.getBigDecimalRoundingMode("order.rounding"); + private static final RoundingMode rounding = UtilNumber.getRoundingMode("order.rounding"); private static final MathContext generalRounding = new MathContext(10); Modified: ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/price/PriceServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/price/PriceServices.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/price/PriceServices.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/price/PriceServices.java Mon Feb 12 10:04:29 2018 @@ -19,6 +19,7 @@ package org.apache.ofbiz.product.price; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.Timestamp; import java.util.Collection; import java.util.HashMap; @@ -61,7 +62,7 @@ public class PriceServices { public static final int taxCalcScale = UtilNumber.getBigDecimalScale("salestax.calc.decimals"); public static final int taxFinalScale = UtilNumber.getBigDecimalScale("salestax.final.decimals"); - public static final int taxRounding = UtilNumber.getBigDecimalRoundingMode("salestax.rounding"); + public static final RoundingMode taxRounding = UtilNumber.getRoundingMode("salestax.rounding"); /** * <p>Calculates the price of a product from pricing rules given the following input, and of course access to the database:</p> Modified: ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/shipment/ShipmentServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/shipment/ShipmentServices.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/shipment/ShipmentServices.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/shipment/ShipmentServices.java Mon Feb 12 10:04:29 2018 @@ -19,6 +19,7 @@ package org.apache.ofbiz.shipment.shipment; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Collection; import java.util.HashMap; import java.util.LinkedList; @@ -60,7 +61,7 @@ public class ShipmentServices { public static final String resource = "ProductUiLabels"; public static final String resource_error = "OrderErrorUiLabels"; public static final int decimals = UtilNumber.getBigDecimalScale("order.decimals"); - public static final int rounding = UtilNumber.getBigDecimalRoundingMode("order.rounding"); + public static final RoundingMode rounding = UtilNumber.getRoundingMode("order.rounding"); public static final BigDecimal ZERO = BigDecimal.ZERO.setScale(decimals, rounding); public static Map<String, Object> createShipmentEstimate(DispatchContext dctx, Map<String, ? extends Object> context) { Modified: ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/thirdparty/ups/UpsServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/thirdparty/ups/UpsServices.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/thirdparty/ups/UpsServices.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/thirdparty/ups/UpsServices.java Mon Feb 12 10:04:29 2018 @@ -90,7 +90,7 @@ public class UpsServices { } } public static final int decimals = UtilNumber.getBigDecimalScale("order.decimals"); - public static final int rounding = UtilNumber.getBigDecimalRoundingMode("order.rounding"); + public static final RoundingMode rounding = UtilNumber.getRoundingMode("order.rounding"); public static final MathContext generalRounding = new MathContext(10); public static final int returnServiceCode = 8; public static final String dateFormatString = "yyyyMMdd"; Modified: ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/weightPackage/WeightPackageSession.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/weightPackage/WeightPackageSession.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/weightPackage/WeightPackageSession.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/weightPackage/WeightPackageSession.java Mon Feb 12 10:04:29 2018 @@ -20,6 +20,7 @@ package org.apache.ofbiz.shipment.weight import java.io.Serializable; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -67,7 +68,7 @@ public class WeightPackageSession implem private transient Delegator _delegator = null; private transient LocalDispatcher _dispatcher = null; private static BigDecimal ZERO = BigDecimal.ZERO; - private static int rounding = UtilNumber.getBigDecimalRoundingMode("invoice.rounding"); + private static RoundingMode rounding = UtilNumber.getRoundingMode("invoice.rounding"); public WeightPackageSession() { } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java Mon Feb 12 10:04:29 2018 @@ -20,6 +20,7 @@ package org.apache.ofbiz.base.util; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.HashMap; import java.util.Locale; @@ -34,7 +35,7 @@ public final class UtilNumber { // default scale and rounding mode for BigDecimals private static final int DEFAULT_BD_SCALE = 2; - private static final int DEFAULT_BD_ROUNDING_MODE = BigDecimal.ROUND_HALF_UP; + private static final RoundingMode DEFAULT_BD_ROUNDING_MODE = RoundingMode.HALF_UP; // ICU4J rule sets for the en_US locale. To add more rules, expand this string. // For reference, see the RbnfSampleRuleSets.java file distributed with ICU4J @@ -192,6 +193,7 @@ public final class UtilNumber { try { scale = Integer.parseInt(value); } catch (NumberFormatException e) { + Debug.logWarning(e, e.getMessage(), module); } if (scale == -1) { Debug.logWarning("Could not set decimal precision from " + property + "=" + value + ". Using default scale of " + DEFAULT_BD_SCALE + ".", module); @@ -211,57 +213,77 @@ public final class UtilNumber { * Method to get BigDecimal rounding mode from a property * @param file - Name of the property file * @param property - Name of the config property from arithmeticPropertiesFile (e.g., "invoice.rounding") - * @return int - Rounding mode to pass to BigDecimal's methods. Defaults to DEFAULT_BD_ROUNDING_MODE (BigDecimal.ROUND_HALF_UP) + * @return int - Rounding mode to pass to BigDecimal's methods. Defaults to DEFAULT_BD_ROUNDING_MODE (RoundingMode.HALF_UP) + * @deprecated Use {@link #getRoundingMode(String,String)} instead */ - public static int getBigDecimalRoundingMode(String file, String property) { + public static int getBigDecimalRoundingMode(String file, String property) { + return getRoundingMode(file, property).ordinal(); + } + + /** + * As above, but use the default properties file + * @param property - Name of the config property from arithmeticPropertiesFile (e.g., "invoice.rounding") + * @return int - Rounding mode to pass to BigDecimal's methods. Defaults to DEFAULT_BD_ROUNDING_MODE (RoundingMode.HALF_UP) + * @deprecated Use {@link #getRoundingMode(String)} instead + */ + public static int getBigDecimalRoundingMode(String property) { + return getRoundingMode(arithmeticPropertiesFile, property).ordinal(); + } + + /** + * Method to get BigDecimal rounding mode from a property + * @param file - Name of the property file + * @param property - Name of the config property from arithmeticPropertiesFile (e.g., "invoice.rounding") + * @return RoundingMode - Rounding mode to pass to BigDecimal's methods. Defaults to DEFAULT_BD_ROUNDING_MODE (RoundingMode.HALF_UP) + */ + public static RoundingMode getRoundingMode(String file, String property) { if (UtilValidate.isEmpty(file) || UtilValidate.isEmpty(property)) { return DEFAULT_BD_ROUNDING_MODE; } String value = UtilProperties.getPropertyValue(file, property); - int mode = roundingModeFromString(value); - if (mode == -1) { + RoundingMode mode = roundingModeFromString(value); + if (mode == null) { Debug.logWarning("Could not set decimal rounding mode from " + property + "=" + value + ". Using default mode of " + DEFAULT_BD_SCALE + ".", module); return DEFAULT_BD_ROUNDING_MODE; } return mode; } - /** * As above, but use the default properties file */ - public static int getBigDecimalRoundingMode(String property) { - return getBigDecimalRoundingMode(arithmeticPropertiesFile, property); + public static RoundingMode getRoundingMode(String property) { + return getRoundingMode(arithmeticPropertiesFile, property); } /** - * Method to get the BigDecimal rounding mode int value from a string name. + * Method to get the RoundingMode rounding mode int value from a string name. * @param value - The name of the mode (e.g., "ROUND_HALF_UP") - * @return int - The int value of the mode (e.g, BigDecimal.ROUND_HALF_UP) or -1 if the input was bad. + * @return RoundingMode - The int value of the mode (e.g, RoundingMode.HALF_UP) or null if the input was bad. */ - public static int roundingModeFromString(String value) { + public static RoundingMode roundingModeFromString(String value) { if (value == null) { - return -1; + return null; } value = value.trim(); if ("ROUND_HALF_UP".equals(value)) { - return BigDecimal.ROUND_HALF_UP; + return RoundingMode.HALF_UP; } else if ("ROUND_HALF_DOWN".equals(value)) { - return BigDecimal.ROUND_HALF_DOWN; + return RoundingMode.HALF_DOWN; } else if ("ROUND_HALF_EVEN".equals(value)) { - return BigDecimal.ROUND_HALF_EVEN; + return RoundingMode.HALF_EVEN; } else if ("ROUND_UP".equals(value)) { - return BigDecimal.ROUND_UP; + return RoundingMode.UP; } else if ("ROUND_DOWN".equals(value)) { - return BigDecimal.ROUND_DOWN; + return RoundingMode.DOWN; } else if ("ROUND_CEILING".equals(value)) { - return BigDecimal.ROUND_CEILING; + return RoundingMode.CEILING; } else if ("ROUND_FLOOR".equals(value)) { - return BigDecimal.ROUND_FLOOR; + return RoundingMode.FLOOR; } else if ("ROUND_UNNECCESSARY".equals(value)) { - return BigDecimal.ROUND_UNNECESSARY; + return RoundingMode.UNNECESSARY; } - return -1; + return null; } /** @@ -313,11 +335,36 @@ public final class UtilNumber { * @param scale How many places after the decimal to include * @param roundingMode The BigDecimal rounding mode to apply * @return The formatted string or "" if there were errors. + * @deprecated Use {@link #toPercentString(Number number, int scale, RoundingMode roundingMode)} instead + * */ public static String toPercentString(Number number, int scale, int roundingMode) { // convert to BigDecimal if (!(number instanceof BigDecimal)) { number = new BigDecimal(number.doubleValue()); + } + + // cast it so we can use BigDecimal methods + BigDecimal bd = (BigDecimal) number; + + // multiply by 100 and set the scale + bd = bd.multiply(new BigDecimal(100.0)).setScale(scale, roundingMode); + + return (bd.toString() + "%"); + } + + /** + * Method to turn a number such as "0.9853" into a nicely formatted percent, "98.53%". + * + * @param number The number object to format + * @param scale How many places after the decimal to include + * @param roundingMode the RoundingMode rounding mode to apply + * @return The formatted string or "" if there were errors. + */ + public static String toPercentString(Number number, int scale, RoundingMode roundingMode) { + // convert to BigDecimal + if (!(number instanceof BigDecimal)) { + number = new BigDecimal(number.doubleValue()); } // cast it so we can use BigDecimal methods Modified: ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/otherops/Calculate.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/otherops/Calculate.java?rev=1823931&r1=1823930&r2=1823931&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/otherops/Calculate.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/otherops/Calculate.java Mon Feb 12 10:04:29 2018 @@ -19,6 +19,7 @@ package org.apache.ofbiz.minilang.method.otherops; import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.DecimalFormat; import java.util.List; import java.util.Locale; @@ -109,21 +110,21 @@ public final class Calculate extends Met @Override public boolean exec(MethodContext methodContext) throws MiniLangException { String roundingModeString = roundingModeFse.expandString(methodContext.getEnvMap()); - int roundingMode = BigDecimal.ROUND_HALF_EVEN; + RoundingMode roundingMode = RoundingMode.HALF_EVEN; if ("Ceiling".equals(roundingModeString)) { - roundingMode = BigDecimal.ROUND_CEILING; + roundingMode = RoundingMode.CEILING; } else if ("Floor".equals(roundingModeString)) { - roundingMode = BigDecimal.ROUND_FLOOR; + roundingMode = RoundingMode.FLOOR; } else if ("Up".equals(roundingModeString)) { - roundingMode = BigDecimal.ROUND_UP; + roundingMode = RoundingMode.UP; } else if ("Down".equals(roundingModeString)) { - roundingMode = BigDecimal.ROUND_DOWN; + roundingMode = RoundingMode.DOWN; } else if ("HalfUp".equals(roundingModeString)) { - roundingMode = BigDecimal.ROUND_HALF_UP; + roundingMode = RoundingMode.HALF_UP; } else if ("HalfDown".equals(roundingModeString)) { - roundingMode = BigDecimal.ROUND_HALF_DOWN; + roundingMode = RoundingMode.HALF_DOWN; } else if ("Unnecessary".equals(roundingModeString)) { - roundingMode = BigDecimal.ROUND_UNNECESSARY; + roundingMode = RoundingMode.UNNECESSARY; } String decimalScaleString = decimalScaleFse.expandString(methodContext.getEnvMap()); int decimalScale = 2; @@ -196,7 +197,7 @@ public final class Calculate extends Met * Interface for <calculate> sub-element implementations. */ public interface SubCalc { - BigDecimal calcValue(MethodContext methodContext, int scale, int roundingMode) throws MiniLangException; + BigDecimal calcValue(MethodContext methodContext, int scale, RoundingMode roundingMode) throws MiniLangException; } /** @@ -253,7 +254,7 @@ public final class Calculate extends Met } @Override - public BigDecimal calcValue(MethodContext methodContext, int scale, int roundingMode) throws MiniLangException { + public BigDecimal calcValue(MethodContext methodContext, int scale, RoundingMode roundingMode) throws MiniLangException { BigDecimal resultValue = BigDecimal.ZERO.setScale(scale, roundingMode); boolean isFirst = true; Object fieldObj = fieldFma.get(methodContext.getEnvMap()); @@ -323,7 +324,7 @@ public final class Calculate extends Met } @Override - public BigDecimal calcValue(MethodContext methodContext, int scale, int roundingMode) throws MiniLangException { + public BigDecimal calcValue(MethodContext methodContext, int scale, RoundingMode roundingMode) throws MiniLangException { String valueStr = valueFse.expandString(methodContext.getEnvMap()); Locale locale = methodContext.getLocale(); if (locale == null) @@ -344,7 +345,7 @@ public final class Calculate extends Met } @Override - public BigDecimal calcValue(MethodContext methodContext, int scale, int roundingMode) throws MiniLangException { + public BigDecimal calcValue(MethodContext methodContext, int scale, RoundingMode roundingMode) throws MiniLangException { throw new MiniLangRuntimeException("Invalid calculate sub-element.", this); } } |
Free forum by Nabble | Edit this page |