I don't want to schedule Timer Job if dueDate (as ISO time String) or date (as java.util.Date) attribute is null.
Currently if we just place a BoundaryTimer on a task (or subprocess) without any dueDate/date this is throwing a checked Exception.
An Exception at Runtime occurs if the dueDate attached execution variable is null.
The detailed need- Current process with transversal SLAs
A loop on a Human task with BoundaryTimer.
* Rule Engine decides a SLA (duration) -> this may be null (no SLA)
* "dueDate" String value as input of BoundaryTimer - computed from DateTime.now() + SLA - if SLA not null.
* SLA and start date are business value : we need to display them even if timer has expired.
* a process creation date is an other business value; diffrerent from startDate.
* "dueDate" is a local variable to the Human Task / the input of the Boundary timer
* Escalation when Timer expires is currently just an e-mail. But this must not cancel Human Task activity (cancel activity=false); and the mail must not be re-sent (e.g changes see Use Cases)
Use Cases :
1) 'administrator' may change SLAs values / in that case, a signal is thrown and all running Human Tasks with given SLA code kick out, and back to RE to re-decide SLA. startDate do not change, and computed new dueDate could decide a new Timer Job.
2) supervisor may clear SLA OR change startDate for a specific running Human Task (so clears dueDate).
3) If Timer has been trigged once, we must NOT schedule timer again (!)
We need to inject NULL dueDate local variable if
a) computed dueDate is null
b) computed dueDate has aready been trigged.
I could achieve this duplicating the Human task : one BoundaryTimer and one other without.
An exclusive gateway could select if SLA value is present or not.
This is the simplest way to achive this.
BUT
I need a more general approach, and I would like not to duplicate any task (e.g. subprocess) with BoundaryTimer.
So I need support of NULL values on BoundaryTimer / result is no underlying Timer Job created.