private static List<IBackgroundProcessingQueue> getProcessingQueues(IJobManager jobManager) { ArrayList<IBackgroundProcessingQueue> queues = new ArrayList<>(); for(Job job : jobManager.find(null)) { if(job instanceof IBackgroundProcessingQueue) { queues.add((IBackgroundProcessingQueue) job); } } return queues; }
@Override public void stop(BundleContext context) throws Exception { waitForJob(MY_JOB_FAMILY); //Do other shut down activities } public void waitForJob(String jobFamily) { IJobManager jobManager = Job.getJobManager(); Job[] jobs = jobManager.find(jobFamily); //Wait for all jobs belongs to family 'jobFamily' while(jobs.length > 0) { try { Thread.sleep(1000); } catch (InterruptedException e) { //Do nothing. } jobs = jobManager.find(jobFamily); } }
@Override public boolean shouldSchedule() { Job[] jobs = Job.getJobManager().find(process); for (Job job : jobs) { if (job instanceof ConsoleCreation) { return false; } } return true; } }
private void waitForProxyInitialization() { AbstractModelProxy modelProxy = getModelProxy(); if (modelProxy == null) { return; } Job[] proxyInitJobs = Job.getJobManager().find(modelProxy); while (proxyInitJobs.length > 0) { try { Thread.sleep(10); } catch (InterruptedException e) { // cancel waiting, something bad is happened break; } proxyInitJobs = Job.getJobManager().find(modelProxy); } }
private static Job getJob(IJobMatcher matcher) { Job[] jobs = Job.getJobManager().find(null); for(Job job : jobs) { if(matcher.matches(job)) { return job; } } return null; }
public void schedule(Job job, long interval) { Job[] existingJobs = Job.getJobManager().find(job); if (existingJobs.length < MAX_QUEUED_REFRESH_JOBS) { job.schedule(interval); } }
private boolean isJobInFamilyRunning(Object family) { Job[] jobs = Platform.getJobManager().find(family); if (jobs != null && jobs.length > 0) { for (int i = 0; i < jobs.length; i++) { Job job = jobs[i]; if (job.getState() != Job.NONE) { return true; } } } return false; }
private boolean isJobInFamilyRunning(Object family) { Job[] jobs = Job.getJobManager().find(family); if (jobs != null && jobs.length > 0) { for (int i = 0; i < jobs.length; i++) { Job job = jobs[i]; if (job.getState() != Job.NONE) { return true; } } } return false; }
private void waitJobsComplete() { final IJobManager manager = Job.getJobManager(); final Job[] jobs = manager.find(null); //return all jobs while(jobExists(jobs)) { sleep(50); } } private boolean jobExists(Job[] jobs) { for(Job job: jobs) { if(job.getState() != Job.NONE) { return true; } } return false; }
/** * A {@link SynchronizationJob} is only scheduled if there is not already another one that * fully covers it. * <p/> * A job A fully covers a job B if all of these conditions are met: * <ul> * <li>A synchronizes the same Gradle builds as B</li> * <li>A and B have the same {@link NewProjectHandler} or B's {@link NewProjectHandler} is a * no-op</li> * </ul> */ @Override public boolean shouldSchedule() { for (Job job : Job.getJobManager().find(CorePlugin.GRADLE_JOB_FAMILY)) { if (job instanceof SynchronizationJob && isCoveredBy((SynchronizationJob) job)) { return false; } } return true; }
private void ensureHelpIndexed() { // make sure we have the index but // don't schedule the indexer job if one is // already running Job[] jobs = Job.getJobManager().find(IndexerJob.FAMILY); if (jobs.length == 0) { IndexerJob indexerJob = new IndexerJob(); indexerJob.schedule(); } }
private void cancelBuild(Object jobfamily) { Job[] buildJobs = Job.getJobManager().find(jobfamily); for (Job curr : buildJobs) { if (curr != this && curr instanceof BuildJob) { BuildJob job = (BuildJob) curr; if (job.isCoveredBy(this)) { curr.cancel(); // cancel all other build jobs of our // kind } } } }
private void cancelBuild(Object jobfamily) { Job[] buildJobs = Job.getJobManager().find(jobfamily); for (Job curr : buildJobs) { if (curr != this && curr instanceof BuildJob) { BuildJob job = (BuildJob) curr; if (job.isCoveredBy(this)) { curr.cancel(); // cancel all other build jobs of our // kind } } } } }
private boolean isRefreshRunning() { return Platform.getJobManager().find(getConfiguration().getParticipant()).length > 0; }
private boolean isRefreshRunning() { return Job.getJobManager().find(getConfiguration().getParticipant()).length > 0; }
private void runRefreshJob(Collection paths) { Job[] jobs = Job.getJobManager().find(ResourcesPlugin.FAMILY_MANUAL_REFRESH); RefreshJob refreshJob = null; if (jobs != null) { for (int index = 0; index < jobs.length; index++) { // We are only concerned about ExternalFolderManager.RefreshJob if(jobs[index] instanceof RefreshJob) { refreshJob = (RefreshJob) jobs[index]; refreshJob.addFoldersToRefresh(paths); if (refreshJob.getState() == Job.NONE) { refreshJob.schedule(); } break; } } } if (refreshJob == null) { refreshJob = new RefreshJob(new Vector(paths)); refreshJob.schedule(); } } /*
public void done(IJobChangeEvent event) { Job[] jobs = jobManager.find(getContext()); if (jobs.length == 0) { final IResourceDiffTree diffTree = getContext().getDiffTree(); diffTree.clearBusy(null); jobManager.removeJobChangeListener(this); } } };
@Override public void done(IJobChangeEvent event) { Job[] jobs = jobManager.find(getContext()); if (jobs.length == 0) { final IResourceDiffTree diffTree = getContext().getDiffTree(); diffTree.clearBusy(null); jobManager.removeJobChangeListener(this); } } };
public void done(IJobChangeEvent event) { if (event.getJob().belongsTo(FederatedSearchJob.FAMILY)) { Job[] searchJobs = Job.getJobManager().find(FederatedSearchJob.FAMILY); if (searchJobs.length == 0) { // search finished searchInProgress = false; if (container.isDisposed()) return; container.getDisplay().asyncExec(this); SearchResultsPart results = (SearchResultsPart) parent .findPart(IHelpUIConstants.HV_FSEARCH_RESULT); results.completed(); } } }
private void handleStopValidationButton() { IJobManager jobManager = Platform.getJobManager(); Job[] jobs = jobManager.find( ValidateWSDLJob.VALIDATE_WSDL_JOB_FAMILY ); ValidateWSDLJob existingValidateWSDLJob = null; if( jobs.length > 0 ) { for (int i=0; i<jobs.length; i++) { existingValidateWSDLJob = (ValidateWSDLJob)jobs[i]; if (existingValidateWSDLJob.getState() != Job.NONE) { existingValidateWSDLJob.cancel(); } } } clearValidationMessages(); setValidationInProgress(false); }