use of com.google.cloud.dataproc.v1beta2.Job in project pentaho-platform by pentaho.
the class DefaultSchedulerServiceTest method testGetJobsAdminUser.
@Test
public void testGetJobsAdminUser() throws Exception {
when(policy.isAllowed(anyString())).thenReturn(true);
when(iPentahoSessionMock.getName()).thenReturn("admin");
defaultSchedulerService.getJobs();
verify(iSchedulerMock).getJobs((IJobFilter) filterCaptor.capture());
IJobFilter filter = (IJobFilter) filterCaptor.getValue();
assertNotNull(filter);
List<Job> testJobs = getJobs();
List<Job> filteredJobs = new ArrayList<>();
for (Job job : testJobs) {
if (filter.accept(job)) {
filteredJobs.add(job);
assertNotEquals("BlockoutAction", job.getJobName());
}
}
assertEquals(10, filteredJobs.size());
}
use of com.google.cloud.dataproc.v1beta2.Job in project pentaho-platform by pentaho.
the class DefaultSchedulerServiceTest method testGetJobsNonAdminUser.
@Test
public void testGetJobsNonAdminUser() throws Exception {
when(policy.isAllowed(anyString())).thenReturn(false);
when(iPentahoSessionMock.getName()).thenReturn("testUser1");
defaultSchedulerService.getJobs();
verify(iSchedulerMock).getJobs((IJobFilter) filterCaptor.capture());
IJobFilter filter = (IJobFilter) filterCaptor.getValue();
assertNotNull(filter);
List<Job> testJobs = getJobs();
List<Job> filteredJobs = new ArrayList<>();
for (Job job : testJobs) {
if (filter.accept(job)) {
filteredJobs.add(job);
}
}
assertEquals(1, filteredJobs.size());
assertEquals("testJobName1", filteredJobs.get(0).getJobName());
assertEquals("testUser1", filteredJobs.get(0).getUserName());
}
use of com.google.cloud.dataproc.v1beta2.Job in project pentaho-platform by pentaho.
the class DefaultSchedulerService method getJobs.
/**
* {@inheritDoc}
*/
public Job[] getJobs() throws SchedulerException {
// $NON-NLS-1$
IScheduler scheduler = PentahoSystem.get(IScheduler.class, "IScheduler2", null);
IPentahoSession session = PentahoSessionHolder.getSession();
String principalName = session.getName();
Boolean canAdminister = PentahoSystem.get(IAuthorizationPolicy.class).isAllowed(ADMIN_PERM);
return scheduler.getJobs(job -> {
if (canAdminister) {
return !IBlockoutManager.BLOCK_OUT_JOB_NAME.equals(job.getJobName());
}
return principalName.equals(job.getUserName());
}).toArray(new Job[0]);
}
use of com.google.cloud.dataproc.v1beta2.Job in project pentaho-platform by pentaho.
the class DefaultSchedulerService method createJob.
private String createJob(String jobName, Map<String, ParamValue> jobParams, JobTrigger trigger) throws SchedulerException {
// $NON-NLS-1$
logger.debug("Creating job with schedule " + trigger.toString());
Job job = null;
try {
// $NON-NLS-1$
IScheduler scheduler = PentahoSystem.get(IScheduler.class, "IScheduler2", null);
Map<String, Serializable> properJobParams = toProperMap(jobParams);
scheduler.validateJobParams(properJobParams);
job = scheduler.createJob(jobName, getDefaultActionId(), properJobParams, trigger);
} catch (SchedulerException e) {
// temporary error logging.. this needs to become an aspect
logger.error(e.getMessage(), e);
throw e;
}
return job.getJobId();
}
use of com.google.cloud.dataproc.v1beta2.Job in project pentaho-platform by pentaho.
the class QuartzScheduler method createJob.
/**
* {@inheritDoc}
*/
public Job createJob(String jobName, String actionId, Map<String, Serializable> jobParams, IJobTrigger trigger, IBackgroundExecutionStreamProvider outputStreamProvider) throws SchedulerException {
if (StringUtils.isEmpty(actionId)) {
// $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_ACTIONID, actionId);
Job ret = createJob(jobName, jobParams, trigger, outputStreamProvider);
// $NON-NLS-1$
ret.setSchedulableClass("");
return ret;
}
Aggregations