MeasurementUtils.java
package com.tradecloud.domain.base.utils;
import com.tradecloud.domain.item.UnitOfMeasure;
import java.math.BigDecimal;
public class MeasurementUtils {
public static BigDecimal convertToKg(BigDecimal numberToConvert, UnitOfMeasure measure) {
return convertTo(numberToConvert, measure);
}
public static BigDecimal convertToM3(BigDecimal numberToConvert, UnitOfMeasure measure) {
return convertTo(numberToConvert, measure);
}
private static BigDecimal convertTo(BigDecimal numberToConvert, UnitOfMeasure measure) {
if (measure == null) {
return BigDecimal.ZERO;
}
if (measure.convertToUnitType()) {
// number already in correct unit.
return numberToConvert;
}
final BigDecimal ratioToKg = measure.getRatio();
if (MathUtils.areNumbersCloselyEqual(ratioToKg, BigDecimal.ZERO, 6)) {
// no conversion return number as is.
return numberToConvert;
}
return MathUtils.divideVA(numberToConvert, ratioToKg);
}
}