Robert Munteanu created SLING-5914:
--------------------------------------

             Summary: Provisioning model does not correctly handle 
floating-point configuration values
                 Key: SLING-5914
                 URL: https://issues.apache.org/jira/browse/SLING-5914
             Project: Sling
          Issue Type: Bug
            Reporter: Robert Munteanu
             Fix For: Sling Provisioning Model 1.4.6


The provisioning model specifies that floating-point values are encoded in the 
following format:

- {{D"1.0"}} for doubles
- {{F"1.0"}} for floats

However, the ConfigAdmin has a different idea about how these values should be 
stored:

{code:java}
            case TOKEN_SIMPLE_FLOAT:
            case TOKEN_PRIMITIVE_FLOAT:
                int fBits = Integer.parseInt( readQuoted( pr ) );
                return new Float( Float.intBitsToFloat( fBits ) );

            case TOKEN_SIMPLE_DOUBLE:
            case TOKEN_PRIMITIVE_DOUBLE:
                long dBits = Long.parseLong( readQuoted( pr ) );
                return new Double( Double.longBitsToDouble( dBits ) );
{code}

I assume that this is done to preserve precision when reading/writing values.

The provisioning model should be updated to mediate between the user-supplied 
values and the configuration admin format.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to