}
if (schedule.isSetEndDate()) {
listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_END_DATE, Long.toString(schedule.getEndDate().getTimeInMillis())) ;
}
if (schedule instanceof SimpleSchedule) {
final SimpleSchedule simpleSchedule = (SimpleSchedule)schedule ;
final long simpleFrequency = simpleSchedule.getFrequency() ;
final FrequencyUnit.Enum unit = simpleSchedule.getFrequencyUnits() ;
final String frequencyVal ;
if (unit.equals(FrequencyUnit.SECONDS)) {
frequencyVal = Long.toString(simpleFrequency * 1000) ;
} else {
frequencyVal = Long.toString(simpleFrequency) ;
}
listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_SIMPLE_FREQUENCY, frequencyVal) ;
if (simpleSchedule.isSetExecCount()) {
listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_SIMPLE_EXEC, Integer.toString(simpleSchedule.getExecCount())) ;
}
} else if (schedule instanceof CronSchedule) {
final String cronExpression = ((CronSchedule)schedule).getCronExpression() ;
if (cronExpression == null) {
throw new ConfigurationException("Missing cron expression from configuration") ;