List jobVec = new ArrayList (jobs.values ());
Iterator it = jobs.values().iterator(); while (it.hasNext()) { CronJob job = (CronJob) it.next(); if (job.getFunction() == null) { System.err.println("DROPPING CRON JOB " + job); it.remove(); } } List jobVec = new ArrayList (jobs.values()); System.err.println("GOT CRON JOB LIST: " + jobVec);
  public static List parse(Properties props) {      Hashtable jobs = new Hashtable ();      Enumeration e = props.keys ();      while (e.hasMoreElements ()) {         String key = (String) e.nextElement ();         if (!key.startsWith ("cron."))            continue;         try {            StringTokenizer st = new StringTokenizer (key.trim(), ".");            st.nextElement ();            String jobName = st.nextToken ();            String jobSpec = st.nextToken ();            if (jobSpec==null || jobSpec.equals("")) // might happen with cron.testname. = XXX               continue;            CronJob job = (CronJob) jobs.get (jobName);            if (job==null) {               job = new CronJob (jobName);               jobs.put (jobName, job);            }            String value = props.getProperty (key);            if (jobSpec.equalsIgnoreCase("function")) {               job.setFunction(value);            } else if (jobSpec.equalsIgnoreCase("year")) {               job.parseYear (value);            } else if (jobSpec.equalsIgnoreCase("month")) {               job.parseMonth (value);            } else if (jobSpec.equalsIgnoreCase("day")) {               job.parseDay (value);            } else if (jobSpec.equalsIgnoreCase("weekday")) {               job.parseWeekDay (value);            } else if (jobSpec.equalsIgnoreCase("hour")) {               job.parseHour (value);            } else if (jobSpec.equalsIgnoreCase("minute")) {               job.parseMinute (value);            } else if (jobSpec.equalsIgnoreCase("timeout")) {               job.parseTimeout (value);            }         } catch (NoSuchElementException nsee) {         }      }      List jobVec = new ArrayList (jobs.values ());      return sort (jobVec);   }