Convert BigDecimal/Decimal64 in yang-data-codec-binfmt
[yangtools.git] / codec / yang-data-codec-binfmt / src / main / java / org / opendaylight / yangtools / yang / data / codec / binfmt / AbstractMagnesiumDataInput.java
index 6c3f2c59eb3245e51fa15d8f74ea9fdba6f53664..84e01af84550670e6ab7844e3a8971ad0fd028c3 100644 (file)
@@ -19,7 +19,6 @@ import com.google.common.util.concurrent.UncheckedExecutionException;
 import java.io.DataInput;
 import java.io.IOException;
 import java.io.StringReader;
-import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
@@ -29,6 +28,7 @@ import javax.xml.transform.dom.DOMSource;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier;
 import org.opendaylight.yangtools.util.xml.UntrustedXML;
+import org.opendaylight.yangtools.yang.common.Decimal64;
 import org.opendaylight.yangtools.yang.common.Empty;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
@@ -746,7 +746,7 @@ abstract class AbstractMagnesiumDataInput extends AbstractNormalizedNodeDataInpu
                 return Uint64.fromLongBits(input.readInt() & 0xFFFFFFFFL);
             case MagnesiumValue.BIGDECIMAL:
                 // FIXME: use string -> BigDecimal cache
-                return new BigDecimal(input.readUTF());
+                return Decimal64.valueOf(input.readUTF());
             case MagnesiumValue.BIGINTEGER:
                 return readBigInteger();
             case MagnesiumValue.STRING_EMPTY: