You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Omar Al-Safi (Jira)" <ji...@apache.org> on 2020/05/29 16:05:00 UTC

[jira] [Commented] (CAMEL-15137) Duration converter does not parse the seconds fraction correctly

    [ https://issues.apache.org/jira/browse/CAMEL-15137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119734#comment-17119734 ] 

Omar Al-Safi commented on CAMEL-15137:
--------------------------------------

[~gnodet] [~davsclaus] this is basically used for the extended string seconds introduced in CAMEL-14878, however wouldn't just make sense to parse the text directly in this format, e.g: {{Duration.parse("PT0.1s")}} under the {{DurationConverter}} instead of {{TimeUtils.toMilliSeconds()}}, I felt the logic there was pretty complex to comprehend. I wanted to change it but wasn't sure if it will break other stuff. Ideas?

> Duration converter does not parse the seconds fraction correctly
> ----------------------------------------------------------------
>
>                 Key: CAMEL-15137
>                 URL: https://issues.apache.org/jira/browse/CAMEL-15137
>             Project: Camel
>          Issue Type: Bug
>          Components: came-core
>            Reporter: Omar Al-Safi
>            Priority: Major
>             Fix For: 3.4.0
>
>
> In the [DurationConverter|https://github.com/apache/camel/blob/master/core/camel-base/src/main/java/org/apache/camel/converter/DurationConverter.java], there are some edge cases are not handled correctly when fractions being used, e.g: {{DurationConverter.toDuration("5s").toMillis()}} will give the correct value of {{5000}} meanwhile {{DurationConverter.toDuration("5.5s").toMillis()}} will give {{5005}} which is wrong. Here is list of some edge cases:
> * {{DurationConverter.toDuration("5.5s").toMillis()}} -> 5001
> * {{DurationConverter.toDuration("0.01s").toMillis()}} -> 1
> * {{DurationConverter.toDuration("0.1").toMillis()}} -> 1
> * {{DurationConverter.toDuration("0.5s").toMillis()}} -> 5



--
This message was sent by Atlassian Jira
(v8.3.4#803005)