}
}
}
public static TimerDefinitionImpl parseTimerDefinition(Element timerElement, Parse parse, ScopeElementImpl scopeElement) {
TimerDefinitionImpl timerDefinition = scopeElement.createTimerDefinition();
String duedate = XmlUtil.attribute(timerElement, "duedate");
String duedatetime = XmlUtil.attribute(timerElement, "duedatetime");
if (duedate!=null) {
timerDefinition.setDueDateDescription(duedate);
} else if (duedatetime!=null) {
String dueDateTimeFormatText = (String) Environment.getFromCurrent("jbpm.duedatetime.format");
if (dueDateTimeFormatText==null) {
dueDateTimeFormatText = "HH:mm dd/MM/yyyy";
}
SimpleDateFormat dateFormat = new SimpleDateFormat(dueDateTimeFormatText);
try {
Date duedatetimeDate = dateFormat.parse(duedatetime);
timerDefinition.setDueDate(duedatetimeDate);
} catch (ParseException e) {
parse.addProblem("couldn't parse duedatetime "+duedatetime, e);
}
} else {
parse.addProblem("either duedate or duedatetime is required in timer", timerElement);
}
String repeat = XmlUtil.attribute(timerElement, "repeat");
timerDefinition.setRepeat(repeat);
return timerDefinition;
}