Description
When using WSO2 Integrator, Config.toml allows assigning an integer(5) value to a configurable variable defined as decimal. However, at runtime this results in a ClassCastException indicating a mismatch. If the value is set as a decimal value (5.0), it works as expected.
Exception in thread "main" java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
at io.ballerina.runtime.internal.configurable.providers.toml.TomlProvider.getAsDecimalAndMark(TomlProvider.java:221)
at io.ballerina.runtime.internal.configurable.ConfigResolver.lambda$getValueFunction$5(ConfigResolver.java:114)
at io.ballerina.runtime.internal.configurable.ConfigResolver.getConfigValue(ConfigResolver.java:156)
at io.ballerina.runtime.internal.configurable.ConfigResolver.getConfigValue(ConfigResolver.java:96)
at io.ballerina.runtime.internal.configurable.ConfigResolver.resolveConfigs(ConfigResolver.java:83)
at io.ballerina.runtime.internal.launch.LaunchUtils.initConfigurableVariables(LaunchUtils.java:124)
at nuvindu.file_int_with_copilot.0.$_init.main(file_int_with_copilot)
Steps to Reproduce
- Create an integration using WSO2 Integrator.
- Define a configurable variable of type decimal.
- In
Config.toml, assign an integer value. (myDecimalVar = 5)
- Run the integration.
Version
5.0.0-alpha13
Environment Details (with versions)
No response
Description
When using WSO2 Integrator,
Config.tomlallows assigning an integer(5) value to a configurable variable defined asdecimal. However, at runtime this results in aClassCastExceptionindicating a mismatch. If the value is set as a decimal value (5.0), it works as expected.Steps to Reproduce
Config.toml, assign an integer value. (myDecimalVar = 5)Version
5.0.0-alpha13
Environment Details (with versions)
No response