I am seeing some inconsistencies on how the timer dates are persisted for repeat timers.
If just a duration is defined, such as, R/PT10M, the repeat field is defined with a start datetime that is in ISO8601 format.
If the start/duration or start/end syntax is specified, such as R/${startDate}/${duration}, the startDate datetime variable is converted into a String but it is not in ISO8601 format. Instead it is using the format, EEE MMM dd kk:mm:ss z
Is this a bug? Should it consistently be using ISO-8601 format?
TimerUtil.createTimerEntityForTimerEventDefinition calls into JuelExpression.getValue (VariableScope)
This ultimately ends up in de.odysseus.el.misc.TypeConverterImpl.coerceToString(). It calls the Date object’s toString() method which returns the String that is not in ISO-8601 format.
TypeConverterImpl.coerceToString(Object) line: 260
…
…<cut rest of stack trace)
JuelExpression.getValue(VariableScope) line: 49
TimerUtil.createTimerEntityForTimerEventDefinition line 95