1 /*2 * (c) Rob Gordon 20053 */4 package org.oddjob.quartz;5 6 import org.quartz.Job;7 import org.quartz.JobDataMap;8 import org.quartz.JobDetail;9 import org.quartz.JobExecutionContext;10 import org.quartz.JobExecutionException;11 12 /**13 * Wrap a Runnable object up as a Quartz Job. The job to run is passed through14 * as part of the ODDJOB_DATA in the Quartz JobDataMap.15 * 16 * @author Rob Gordon.17 */18 public class RunnableQuartzJob implements Job {19 20 /* (non-Javadoc)21 * @see org.quartz.Job#execute(org.quartz.JobExecutionContext)22 */23 public void execute(JobExecutionContext context)24 throws JobExecutionException {25 JobDetail jobDetail = context.getJobDetail();26 JobDataMap jobDataMap = jobDetail.getJobDataMap();27 OddjobData ojd = (OddjobData) jobDataMap.get(OddjobData.ODDJOB_DATA);28 Runnable runnable = (Runnable ) ojd.getJob();29 if (runnable == null) {30 throw new IllegalStateException ("Nothing to Run in data map!");31 }32 runnable.run();33 }34 }35