From c46aa7f92fa58e2f12cecee2ce70df175cc8458a Mon Sep 17 00:00:00 2001 From: gwen-soleil <gwenaelle.abeille@gmail.com> Date: Mon, 4 Mar 2024 17:01:26 +0100 Subject: [PATCH] Fix conversion for short values. --- .../snap/api/tools/TangoJAVAUtils.java | 295 +++++++++--------- 1 file changed, 147 insertions(+), 148 deletions(-) diff --git a/src/main/java/fr/soleil/archiving/snap/api/tools/TangoJAVAUtils.java b/src/main/java/fr/soleil/archiving/snap/api/tools/TangoJAVAUtils.java index f3648b4..fbf5327 100644 --- a/src/main/java/fr/soleil/archiving/snap/api/tools/TangoJAVAUtils.java +++ b/src/main/java/fr/soleil/archiving/snap/api/tools/TangoJAVAUtils.java @@ -1,164 +1,163 @@ package fr.soleil.archiving.snap.api.tools; -import java.sql.ResultSet; -import java.sql.SQLException; - import fr.esrf.TangoDs.TangoConst; import fr.soleil.archiving.common.api.tools.StringFormater; import fr.soleil.lib.project.math.MathConst; +import java.sql.ResultSet; +import java.sql.SQLException; + public class TangoJAVAUtils { - public static Object initPrimitiveArray(int dataType, int length) { - switch (dataType) { - case TangoConst.Tango_DEV_BOOLEAN: - return new boolean[length]; - case TangoConst.Tango_DEV_CHAR: - case TangoConst.Tango_DEV_UCHAR: - return new byte[length]; - case TangoConst.Tango_DEV_STATE: - case TangoConst.Tango_DEV_LONG: - case TangoConst.Tango_DEV_ULONG: - return new int[length]; - case TangoConst.Tango_DEV_SHORT: - case TangoConst.Tango_DEV_USHORT: - return new short[length]; - case TangoConst.Tango_DEV_FLOAT: - return new float[length]; - case TangoConst.Tango_DEV_STRING: - return new String[length]; - case TangoConst.Tango_DEV_DOUBLE: - default: - return new double[length]; - } + public static Object initPrimitiveArray(int dataType, int length) { + switch (dataType) { + case TangoConst.Tango_DEV_BOOLEAN: + return new boolean[length]; + case TangoConst.Tango_DEV_CHAR: + case TangoConst.Tango_DEV_UCHAR: + return new byte[length]; + case TangoConst.Tango_DEV_STATE: + case TangoConst.Tango_DEV_LONG: + case TangoConst.Tango_DEV_ULONG: + return new int[length]; + case TangoConst.Tango_DEV_SHORT: + case TangoConst.Tango_DEV_USHORT: + return new short[length]; + case TangoConst.Tango_DEV_FLOAT: + return new float[length]; + case TangoConst.Tango_DEV_STRING: + return new String[length]; + case TangoConst.Tango_DEV_DOUBLE: + default: + return new double[length]; + } - } + } - public static Object castResultSetAsPrimitive(int dataType, ResultSet resultSet, int index) throws SQLException { - switch (dataType) { - case TangoConst.Tango_DEV_STRING: - return resultSet.getString(index); - case TangoConst.Tango_DEV_UCHAR: - case TangoConst.Tango_DEV_CHAR: - return resultSet.getByte(index); - case TangoConst.Tango_DEV_LONG: - case TangoConst.Tango_DEV_ULONG: - case TangoConst.Tango_DEV_STATE: - return resultSet.getInt(index); - case TangoConst.Tango_DEV_BOOLEAN: - return resultSet.getInt(index) != 0; - case TangoConst.Tango_DEV_SHORT: - case TangoConst.Tango_DEV_USHORT: - return resultSet.getShort(index); - case TangoConst.Tango_DEV_FLOAT: - return resultSet.getFloat(index); - case TangoConst.Tango_DEV_DOUBLE: - default: - return resultSet.getDouble(index); - } - } + public static Object castResultSetAsPrimitive(int dataType, ResultSet resultSet, int index) throws SQLException { + switch (dataType) { + case TangoConst.Tango_DEV_STRING: + return resultSet.getString(index); + case TangoConst.Tango_DEV_UCHAR: + case TangoConst.Tango_DEV_CHAR: + return resultSet.getByte(index); + case TangoConst.Tango_DEV_LONG: + case TangoConst.Tango_DEV_ULONG: + case TangoConst.Tango_DEV_STATE: + return resultSet.getInt(index); + case TangoConst.Tango_DEV_BOOLEAN: + return resultSet.getInt(index) != 0; + case TangoConst.Tango_DEV_SHORT: + case TangoConst.Tango_DEV_USHORT: + return resultSet.getShort(index); + case TangoConst.Tango_DEV_FLOAT: + return resultSet.getFloat(index); + case TangoConst.Tango_DEV_DOUBLE: + default: + return resultSet.getDouble(index); + } + } - public static Object cast(final int dataType, String currentValRead) { - try { - switch (dataType) { - case TangoConst.Tango_DEV_BOOLEAN: - return (int) Double.parseDouble(currentValRead) != 0; - case TangoConst.Tango_DEV_STATE: - case TangoConst.Tango_DEV_LONG: - case TangoConst.Tango_DEV_ULONG: - return Integer.parseInt(currentValRead); - case TangoConst.Tango_DEV_LONG64: - case TangoConst.Tango_DEV_ULONG64: - return Long.parseLong(currentValRead); - case TangoConst.Tango_DEV_SHORT: - case TangoConst.Tango_DEV_USHORT: - return Short.parseShort(currentValRead); - case TangoConst.Tango_DEV_CHAR: - case TangoConst.Tango_DEV_UCHAR: - return Byte.parseByte(currentValRead); - case TangoConst.Tango_DEV_FLOAT: - return Float.parseFloat(currentValRead); - case TangoConst.Tango_DEV_DOUBLE: - return Double.parseDouble(currentValRead); - case TangoConst.Tango_DEV_STRING: - return StringFormater.formatStringToRead(currentValRead); - default: - return null; - } - } catch (NumberFormatException e) { - switch (dataType) { - case TangoConst.Tango_DEV_BOOLEAN: - return "true".equalsIgnoreCase(currentValRead.trim()); - case TangoConst.Tango_DEV_STATE: - case TangoConst.Tango_DEV_LONG: - case TangoConst.Tango_DEV_ULONG: - return (int) Double.parseDouble(currentValRead); - case TangoConst.Tango_DEV_LONG64: - case TangoConst.Tango_DEV_ULONG64: - return (long) Double.parseDouble(currentValRead); + public static Object cast(final int dataType, String currentValRead) { + try { + switch (dataType) { + case TangoConst.Tango_DEV_BOOLEAN: + return (int) Double.parseDouble(currentValRead) != 0; + case TangoConst.Tango_DEV_STATE: + case TangoConst.Tango_DEV_LONG: + case TangoConst.Tango_DEV_ULONG: + return Integer.parseInt(currentValRead); + case TangoConst.Tango_DEV_LONG64: + case TangoConst.Tango_DEV_ULONG64: + return Long.parseLong(currentValRead); + case TangoConst.Tango_DEV_SHORT: + case TangoConst.Tango_DEV_USHORT: + return Short.parseShort(currentValRead); + case TangoConst.Tango_DEV_CHAR: + case TangoConst.Tango_DEV_UCHAR: + return Byte.parseByte(currentValRead); + case TangoConst.Tango_DEV_FLOAT: + return Float.parseFloat(currentValRead); + case TangoConst.Tango_DEV_DOUBLE: + return Double.parseDouble(currentValRead); + case TangoConst.Tango_DEV_STRING: + return StringFormater.formatStringToRead(currentValRead); + default: + return null; + } + } catch (NumberFormatException e) { + switch (dataType) { + case TangoConst.Tango_DEV_BOOLEAN: + return "true".equalsIgnoreCase(currentValRead.trim()); + case TangoConst.Tango_DEV_STATE: + case TangoConst.Tango_DEV_LONG: + case TangoConst.Tango_DEV_ULONG: + return (int) Double.parseDouble(currentValRead); + case TangoConst.Tango_DEV_LONG64: + case TangoConst.Tango_DEV_ULONG64: + return (long) Double.parseDouble(currentValRead); + case TangoConst.Tango_DEV_SHORT: + case TangoConst.Tango_DEV_USHORT: + return (short) Double.parseDouble(currentValRead); + case TangoConst.Tango_DEV_CHAR: + case TangoConst.Tango_DEV_UCHAR: + return (byte) Double.parseDouble(currentValRead); + default: + return null; + } + } + } + + public static Object castResultSetAsObject(int dataType, ResultSet resultSet, int index) throws SQLException { + switch (dataType) { + case TangoConst.Tango_DEV_STRING: + return resultSet.getString(index); + case TangoConst.Tango_DEV_UCHAR: + case TangoConst.Tango_DEV_CHAR: + return resultSet.getShort(index); + case TangoConst.Tango_DEV_LONG: + case TangoConst.Tango_DEV_ULONG: + case TangoConst.Tango_DEV_STATE: case TangoConst.Tango_DEV_SHORT: case TangoConst.Tango_DEV_USHORT: - return (short) Double.parseDouble(currentValRead); - case TangoConst.Tango_DEV_CHAR: - case TangoConst.Tango_DEV_UCHAR: - return (byte) Double.parseDouble(currentValRead); - default: - return null; - } - } - } - - public static Object castResultSetAsObject(int dataType, ResultSet resultSet, int index) throws SQLException { - switch (dataType) { - case TangoConst.Tango_DEV_STRING: - return resultSet.getString(index); - case TangoConst.Tango_DEV_UCHAR: - case TangoConst.Tango_DEV_CHAR: - return Byte.valueOf(resultSet.getByte(index)); - case TangoConst.Tango_DEV_LONG: - case TangoConst.Tango_DEV_ULONG: - case TangoConst.Tango_DEV_STATE: - return Integer.valueOf(resultSet.getInt(index)); - case TangoConst.Tango_DEV_BOOLEAN: - return Boolean.valueOf(resultSet.getInt(index) != 0); - case TangoConst.Tango_DEV_SHORT: - case TangoConst.Tango_DEV_USHORT: - return Short.valueOf(resultSet.getShort(index)); - case TangoConst.Tango_DEV_FLOAT: - return Float.valueOf(resultSet.getFloat(index)); - case TangoConst.Tango_DEV_DOUBLE: - default: - return Double.valueOf(resultSet.getDouble(index)); - } - } + return resultSet.getInt(index); + case TangoConst.Tango_DEV_BOOLEAN: + return resultSet.getInt(index) != 0; + case TangoConst.Tango_DEV_FLOAT: + return resultSet.getFloat(index); + case TangoConst.Tango_DEV_DOUBLE: + default: + return resultSet.getDouble(index); + } + } - public static Object defaultValue(final int dataType) { - switch (dataType) { - case TangoConst.Tango_DEV_BOOLEAN: - return false; - case TangoConst.Tango_DEV_STATE: - case TangoConst.Tango_DEV_LONG: - case TangoConst.Tango_DEV_ULONG: - return 0; - case TangoConst.Tango_DEV_LONG64: - case TangoConst.Tango_DEV_ULONG64: - return 0l; - case TangoConst.Tango_DEV_SHORT: - case TangoConst.Tango_DEV_USHORT: - return (short) 0; - case TangoConst.Tango_DEV_CHAR: - case TangoConst.Tango_DEV_UCHAR: - return (byte) 0; - case TangoConst.Tango_DEV_FLOAT: - return Float.NaN; - case TangoConst.Tango_DEV_DOUBLE: - return MathConst.NAN_FOR_NULL; - default: - return null; - } - } + public static Object defaultValue(final int dataType) { + switch (dataType) { + case TangoConst.Tango_DEV_BOOLEAN: + return false; + case TangoConst.Tango_DEV_STATE: + case TangoConst.Tango_DEV_LONG: + case TangoConst.Tango_DEV_ULONG: + return 0; + case TangoConst.Tango_DEV_LONG64: + case TangoConst.Tango_DEV_ULONG64: + return 0l; + case TangoConst.Tango_DEV_SHORT: + case TangoConst.Tango_DEV_USHORT: + return (short) 0; + case TangoConst.Tango_DEV_CHAR: + case TangoConst.Tango_DEV_UCHAR: + return (byte) 0; + case TangoConst.Tango_DEV_FLOAT: + return Float.NaN; + case TangoConst.Tango_DEV_DOUBLE: + return MathConst.NAN_FOR_NULL; + default: + return null; + } + } - public static boolean isNullOrNaN(final String value) { - return ((value == null) || value.isEmpty() || "null".equals(value) || "NaN".equalsIgnoreCase(value)); - } + public static boolean isNullOrNaN(final String value) { + return ((value == null) || value.isEmpty() || "null".equals(value) || "NaN".equalsIgnoreCase(value)); + } } -- GitLab