diff --git a/java/ws-server/src/main/docker/Dockerfile b/java/ws-server/src/main/docker/Dockerfile index d69bde52..6a9005c0 100644 --- a/java/ws-server/src/main/docker/Dockerfile +++ b/java/ws-server/src/main/docker/Dockerfile @@ -3,7 +3,7 @@ FROM amazoncorretto:17-alpine3.21 COPY ws-server /ws-server WORKDIR /ws-server -ENV JAVA_DEFAULT_OPTS=--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED +ENV JAVA_DEFAULT_OPTS="--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED" EXPOSE 8099 ENTRYPOINT ["/bin/sh", "-c", "java ${JAVA_DEFAULT_OPTS} ${JAVA_OPTS} -cp . -jar timebase-ws-server-*.jar"] diff --git a/java/ws-server/src/main/java/com/epam/deltix/tbwg/webapp/utils/json/CustomEncodingJsonRawMessagePrinter.java b/java/ws-server/src/main/java/com/epam/deltix/tbwg/webapp/utils/json/CustomEncodingJsonRawMessagePrinter.java index c3f04fd7..3a233773 100644 --- a/java/ws-server/src/main/java/com/epam/deltix/tbwg/webapp/utils/json/CustomEncodingJsonRawMessagePrinter.java +++ b/java/ws-server/src/main/java/com/epam/deltix/tbwg/webapp/utils/json/CustomEncodingJsonRawMessagePrinter.java @@ -53,7 +53,7 @@ protected boolean appendArrayField(ArrayDataType type, ReadableValue udec, Strin appendSeparator(sb); else needSepa = true; - sb.append(rv.getString()); + appendString(String.valueOf(rv.getLong()), sb); } catch (NullValueException e) { sb.append("null"); } diff --git a/web/frontend/src/app/shared/utils/digitGrouping.ts b/web/frontend/src/app/shared/utils/digitGrouping.ts index 7d8b1d05..eb6436bd 100644 --- a/web/frontend/src/app/shared/utils/digitGrouping.ts +++ b/web/frontend/src/app/shared/utils/digitGrouping.ts @@ -1,6 +1,6 @@ export function formatArray(array: any[], locale: string) { return array.map(item => { - if (['number', 'string'].includes(typeof item) && Math.abs(item) >= 1000) { + if (Math.abs(item) >= 1000 && Math.abs(item) <= Number.MAX_SAFE_INTEGER) { return parseFloat(item).toLocaleString(locale); } else if (item && typeof item === 'object') { return formatObject(item, locale); @@ -16,7 +16,7 @@ export function formatObject(object: object, locale: string) { return Object.fromEntries( Object.entries(object).map(([key, value]) => { let formattedValue = value; - if (['number', 'string'].includes(typeof value) && Math.abs(value) >= 1000) { + if (Math.abs(value) >= 1000 && Math.abs(value) <= Number.MAX_SAFE_INTEGER) { formattedValue = parseFloat(value).toLocaleString(locale); } else if (value && typeof value === 'object') { formattedValue = formatObject(value, locale);