public List<CronJob> getSystemCronJobs() {
List<CronJob> jobs = new ArrayList<CronJob>();
if( schedulesFile != null && schedulesFile.exists() ) {
for(TSchedule schedule : getSystemSchedulesDocument().getSchedules().getScheduleList()) {
CronJob job = new CronJob();
try {
job.setCronExpression(new CronExpression(schedule.getWhen()));
for(final TCleanup aCleanup : schedule.getCleanupList()) {
CleanupInfo cleanupInfo = new CleanupInfo();
assert !aCleanup.getFilterList().isEmpty();
cleanupInfo.setFilters(aCleanup.getFilterList());
ProcessCleanupConfImpl.processACleanup(cleanupInfo.getCategories(), aCleanup.getCategoryList());
Map<String, Object> runnableDetails = new HashMap<String, Object>();
runnableDetails.put("cleanupInfo", cleanupInfo);
runnableDetails.put("transactionSize", 10);
job.getRunnableDetailList().add(runnableDetails);
__log.info("SYSTEM CRON configuration added a runtime data cleanup: " + runnableDetails);
}
jobs.add(job);
} catch( ParseException pe ) {
__log.error("Exception during parsing the schedule cron expression: " + schedule.getWhen() + ", skipped the scheduled job.", pe);