All Downloads are FREE. Search and download functionalities are using the official Maven repository.

prerna.quartz.IfJob Maven / Gradle / Ivy

There is a newer version: 4.2.2
Show newest version
package prerna.quartz;

import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;

public class IfJob implements org.quartz.Job {

	public static final String IN_BOOLEAN_KEY = CommonDataKeys.BOOLEAN;
	public static final String IN_IF_TRUE_JOB = CommonDataKeys.IF_TRUE_JOB;

	@Override
	public void execute(JobExecutionContext context) throws JobExecutionException {

		// Get inputs
		JobDataMap dataMap = context.getMergedJobDataMap();
		boolean isTrue = dataMap.getBoolean(IN_BOOLEAN_KEY);
		JobDetail job = (JobDetail) dataMap.get(IN_IF_TRUE_JOB);
		String jobName = job.getKey().getName();

		// Do work
		if (isTrue) {
			System.out.println("Condition was met, triggering the job " + jobName);
			Scheduler scheduler = context.getScheduler();
			try {
				scheduler.addJob(job, true, true);
				scheduler.triggerJob(job.getKey());
			} catch (SchedulerException e) {
				e.printStackTrace();
			}
		} else {
			System.out.println("Condition was not met, will not trigger the job " + jobName);
		}

		// Store outputs
		// No outputs to store here
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy