use of com.google.cloud.talent.v4.Job in project pentaho-platform by pentaho.
the class QuartzScheduler method createJob.
/**
* {@inheritDoc}
*/
public Job createJob(String jobName, Class<? extends IAction> action, Map<String, Serializable> jobParams, IJobTrigger trigger, IBackgroundExecutionStreamProvider outputStreamProvider) throws SchedulerException {
if (action == null) {
// $NON-NLS-1$
throw new SchedulerException(Messages.getInstance().getString("QuartzScheduler.ERROR_0003_ACTION_IS_NULL"));
}
if (jobParams == null) {
jobParams = new HashMap<String, Serializable>();
}
jobParams.put(RESERVEDMAPKEY_ACTIONCLASS, action.getName());
Job ret = createJob(jobName, jobParams, trigger, outputStreamProvider);
ret.setSchedulableClass(action.getName());
return ret;
}
use of com.google.cloud.talent.v4.Job in project pentaho-platform by pentaho.
the class QuartzScheduler method getJobs.
/**
* {@inheritDoc}
*/
@SuppressWarnings("unchecked")
public List<Job> getJobs(IJobFilter filter) throws SchedulerException {
ArrayList<Job> jobs = new ArrayList<Job>();
try {
Scheduler scheduler = getQuartzScheduler();
for (String groupName : scheduler.getJobGroupNames()) {
for (String jobId : scheduler.getJobNames(groupName)) {
for (Trigger trigger : scheduler.getTriggersOfJob(jobId, groupName)) {
if ("MANUAL_TRIGGER".equals(trigger.getGroup())) {
continue;
}
Job job = new Job();
job.setGroupName(groupName);
JobDetail jobDetail = scheduler.getJobDetail(jobId, groupName);
if (jobDetail != null) {
job.setUserName(jobDetail.getGroup());
JobDataMap jobDataMap = jobDetail.getJobDataMap();
if (jobDataMap != null) {
Map<String, Serializable> wrappedMap = jobDataMap.getWrappedMap();
job.setJobParams(wrappedMap);
}
}
job.setJobId(jobId);
setJobTrigger(scheduler, job, trigger);
job.setJobName(QuartzJobKey.parse(jobId).getJobName());
setJobNextRun(job, trigger);
job.setLastRun(trigger.getPreviousFireTime());
if ((filter == null) || filter.accept(job)) {
jobs.add(job);
}
}
}
}
} catch (org.quartz.SchedulerException e) {
throw new SchedulerException(Messages.getInstance().getString("QuartzScheduler.ERROR_0004_FAILED_TO_LIST_JOBS"), // $NON-NLS-1$
e);
}
return jobs;
}
use of com.google.cloud.talent.v4.Job in project pentaho-platform by pentaho.
the class DefaultSchedulerServiceTest method mockJob.
private Job mockJob(String userName, String jobName) {
Job job = mock(Job.class);
when(job.getUserName()).thenReturn(userName);
when(job.getJobName()).thenReturn(jobName);
return job;
}
use of com.google.cloud.talent.v4.Job in project pentaho-platform by pentaho.
the class QuartzSchedulerTest method testSetJobNextRunToTheFuture.
@Test
public void testSetJobNextRunToTheFuture() {
Trigger trigger = Mockito.mock(Trigger.class);
Job job = new Job();
QuartzScheduler quartzScheduler = new QuartzScheduler();
long nowDate = new Date().getTime();
long futureDate = nowDate + 1000000000;
Mockito.when(trigger.getNextFireTime()).thenReturn(new Date(futureDate));
Mockito.when(trigger.getFireTimeAfter(any())).thenReturn(new Date(nowDate));
quartzScheduler.setJobNextRun(job, trigger);
assertEquals(new Date(futureDate), job.getNextRun());
}
use of com.google.cloud.talent.v4.Job in project pentaho-platform by pentaho.
the class QuartzSchedulerTest method testSetJobNextRunToThePast.
@Test
public void testSetJobNextRunToThePast() {
Trigger trigger = Mockito.mock(Trigger.class);
Job job = new Job();
QuartzScheduler quartzScheduler = new QuartzScheduler();
long nowDate = new Date().getTime();
long pastDate = nowDate - 1000000000;
Mockito.when(trigger.getNextFireTime()).thenReturn(new Date(pastDate));
Mockito.when(trigger.getFireTimeAfter(any())).thenReturn(new Date(nowDate));
quartzScheduler.setJobNextRun(job, trigger);
assertEquals(new Date(nowDate), job.getNextRun());
}
Aggregations