org.eclipse.core.runtime.jobs.Job#setUser ( )源码实例Demo

下面列出了org.eclipse.core.runtime.jobs.Job#setUser ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: saros   文件: SendFileAction.java
@Override
public void run() {
  JID jid = getSelectedJID();
  if (jid == null) return;

  FileDialog fd = new FileDialog(SWTUtils.getShell(), SWT.OPEN);
  fd.setText(Messages.SendFileAction_filedialog_text);

  String filename = fd.open();
  if (filename == null) return;

  File file = new File(filename);
  if (file.isDirectory()) return;

  Job job = new OutgoingFileTransferJob(jid, file);
  job.setUser(true);
  job.schedule();
}
 
@Override
public Object execute(ExecutionEvent event) {
   
    Job job = new Job("[y] Platform Refresh and Build"){
        @Override
        protected IStatus run(IProgressMonitor monitor){
            
        	try
        	{
        		refreshAndFullBuild(monitor);
        		monitor.done();
	            return Status.OK_STATUS;
        	}
        	catch (Exception e)
        	{
        		throw new IllegalStateException("Failed to synchronize with the platform, see workspace logs for details", e);
        	}
        	
        }
    };
    job.setUser(true);
    job.schedule();
    return null;
}
 
源代码3 项目: birt   文件: RenderJobRunner.java
public static void runRenderJob( Job runJob, RenderJobRule jobRule )
{
	// boolean showDialog = true;
	// if ( Display.getCurrent( ) == null )
	// showDialog = false;
	//
	// Shell shell = PlatformUI.getWorkbench( )
	// .getActiveWorkbenchWindow( )
	// .getShell( );

	// if ( showDialog )
	// {
	// service.showInDialog( shell, runJob );
	// }

	// runJob.setProperty( IProgressConstants.ICON_PROPERTY, image );
	runJob.setUser( true );
	runJob.setRule( jobRule );
	runJob.schedule( );
}
 
源代码4 项目: tracecompass   文件: ExportToTextCommandHandler.java
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    List<TmfEventTableColumn> columns = getColumns(event.getApplicationContext());
    ITmfTrace trace = TmfTraceManager.getInstance().getActiveTrace();
    ITmfFilter filter = TmfTraceManager.getInstance().getCurrentTraceContext().getFilter();
    if (trace != null) {
        FileDialog fd = TmfFileDialogFactory.create(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.SAVE);
        fd.setFilterExtensions(new String[] { "*.csv", "*.*", "*" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
        fd.setOverwrite(true);
        final String s = fd.open();
        if (s != null) {
            Job j = new ExportToTextJob(trace, filter, columns, s);
            j.setUser(true);
            j.schedule();
        }
    }
    return null;
}
 
源代码5 项目: bonita-studio   文件: DeployDiagramHandler.java
private void runInJob(DiagramFileStore diagramFileStore, DeployProcessOperation deployOperation) {
    Job deployJob = new Job(String.format(Messages.deployingProcessesFrom, diagramFileStore.getName())) {

        @Override
        protected IStatus run(IProgressMonitor monitor) {
            return deployOperation.run(monitor);
        }
    };
    deployJob.addJobChangeListener(new JobChangeAdapter() {

        @Override
        public void done(IJobChangeEvent event) {
            Display.getDefault().syncExec(() -> displayDeployResult(event.getResult()));
        }
    });
    deployJob.setUser(true);
    deployJob.schedule();
}
 
@Override
protected Job getBuildJob(IProject project) {
	Job buildJob = new OptionsConfigurationBlock.BuildJob("Validation Settings Changed", project);
	buildJob.setRule(ResourcesPlugin.getWorkspace().getRuleFactory().buildRule());
	buildJob.setUser(true);
	return buildJob;
}
 
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {

    TraceSessionGroup tmpGroup = null;

    fLock.lock();
    try {
        tmpGroup = fSessionGroup;
    } finally {
        fLock.unlock();
    }

    final TraceSessionGroup sessionGroup = tmpGroup;
    if (sessionGroup == null) {
        return null;
    }

    // Open dialog box for the node name and address
    final ISelectCommandScriptDialog dialog = TraceControlDialogFactory.getInstance().getCommandScriptDialog();

    if (dialog.open() != Window.OK) {
        return null;
    }

    Job job = new Job(Messages.TraceControl_ExecuteScriptJob) {
        @Override
        protected IStatus run(IProgressMonitor monitor) {
            try {
                sessionGroup.executeCommands(monitor, dialog.getCommands());
            } catch (ExecutionException e) {
                return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_CreateSessionFailure, e);
            }
            return Status.OK_STATUS;
        }
    };
    job.setUser(true);
    job.schedule();
    return null;
}
 
源代码8 项目: cppcheclipse   文件: UpdateCheck.java
public Job check(String binaryPath) {
	Job job = new UpdateCheckJob(binaryPath);
	job.setUser(true);
	// execute job asynchronously
	job.schedule();
	return job;
}
 
源代码9 项目: Pydev   文件: PydevConsoleFactory.java
public void createConsole(final PydevConsoleInterpreter interpreter, final String additionalInitialComands) {

        Job job = new Job("Create Interactive Console") {

            @Override
            protected IStatus run(IProgressMonitor monitor) {
                monitor.beginTask("Create Interactive Console", 4);
                try {
                    sayHello(interpreter, new SubProgressMonitor(monitor, 1));
                    connectDebugger(interpreter, additionalInitialComands, new SubProgressMonitor(monitor, 2));
                    enableGuiEvents(interpreter, new SubProgressMonitor(monitor, 1));
                    return Status.OK_STATUS;
                } catch (Exception e) {
                    try {
                        interpreter.close();
                    } catch (Exception e_inner) {
                        // ignore, but log nested exception
                        Log.log(e_inner);
                    }
                    if (e instanceof UserCanceledException) {
                        return Status.CANCEL_STATUS;
                    } else {
                        Log.log(e);
                        return PydevDebugPlugin.makeStatus(IStatus.ERROR, "Error initializing console.", e);
                    }

                } finally {
                    monitor.done();
                }

            }
        };
        job.setUser(true);
        job.schedule();
    }
 
源代码10 项目: google-cloud-eclipse   文件: CloudSdkManager.java
/**
 * Triggers the update of a managed Cloud SDK, if the preferences are configured to auto-manage
 * the SDK.
 */
public void updateManagedSdkAsync() {
  if (CloudSdkPreferences.isAutoManaging()) {
    // Keep installation failure as ERROR so that failures are reported
    Job updateJob = new CloudSdkUpdateJob(null /* create new message console */, modifyLock);
    updateJob.setUser(false);
    updateJob.schedule();
  }
}
 
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
  List<IProject> projects = ProjectFromSelectionHelper.getProjects(event);
  Preconditions.checkArgument(!projects.isEmpty());
  Job updateJob = new WorkspaceJob(Messages.getString("reconfiguringToJava8")) { // $NON-NLS-1$
        @Override
        public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
          SubMonitor progress = SubMonitor.convert(monitor, projects.size());
          for (IProject project : projects) {
            progress.subTask(
                Messages.getString("reconfiguringProject", project.getName())); // $NON-NLS-1$
            IFile appEngineWebXml =
                AppEngineConfigurationUtil.findConfigurationFile(project, APPENGINE_DESCRIPTOR);
            if (appEngineWebXml != null) {
              // add the <runtime> and the rest should be handled for us
              AppEngineDescriptorTransform.addJava8Runtime(appEngineWebXml);
            }
            progress.worked(1);
          }
          return Status.OK_STATUS;
        }

        @Override
        public boolean belongsTo(Object family) {
          return super.belongsTo(family)
              || J2EEElementChangedListener.PROJECT_COMPONENT_UPDATE_JOB_FAMILY.equals(family);
        }
      };
  updateJob.setRule(getWorkspaceRoot());
  updateJob.setUser(true);
  updateJob.schedule();
  return null;
}
 
@Override
protected Job getBuildJob(IProject project) {
	Job buildJob = new OptionsConfigurationBlock.BuildJob(Messages.XtextValidatorConfigurationBlock_11, project);
	buildJob.setRule(ResourcesPlugin.getWorkspace().getRuleFactory().buildRule());
	buildJob.setUser(true);
	return buildJob;

}
 
/**
 * @since 2.15
 */
@Override
protected Job getBuildJob(IProject project) {
	Job buildJob = new OptionsConfigurationBlock.BuildJob(
			Messages.ValidationConfigurationBlock_build_job_title, project);
	buildJob.setRule(ResourcesPlugin.getWorkspace().getRuleFactory().buildRule());
	buildJob.setUser(true);
	return buildJob;

}
 
源代码14 项目: xtext-eclipse   文件: TaskTagConfigurationBlock.java
@Override
protected Job getBuildJob(IProject project) {
	Job buildJob = new OptionsConfigurationBlock.BuildJob("Rebuild", project);
	buildJob.setRule(ResourcesPlugin.getWorkspace().getRuleFactory().buildRule());
	buildJob.setUser(true);
	return buildJob;
}
 
源代码15 项目: xds-ide   文件: ResourceUtils.java
public static void scheduleJob(final IBaseClosure<Void, CoreException> jobRunnable, ISchedulingRule rule, String jobCaption, boolean user) {
	Job job = new Job(jobCaption) {
		public IStatus run(IProgressMonitor monitor) {
			try {
				jobRunnable.execute(null);
			} catch (CoreException e) {
				LogHelper.logError(e);
			}
			return Status.OK_STATUS;
		}
	};
	job.setRule(rule);
	job.setUser(user);
	job.schedule();
}
 
源代码16 项目: tracecompass   文件: SaveHandler.java
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {

    IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();

    if (window == null) {
        return false;
    }

    fLock.lock();
    try {

        final List<TraceSessionComponent> sessions = new ArrayList<>();
        sessions.addAll(fSessions);

        // Open dialog box for the save dialog path
        final ISaveDialog dialog = TraceControlDialogFactory.getInstance().getSaveDialog();
        if (dialog.open() != Window.OK) {
            return null;
        }

        Job job = new Job(Messages.TraceControl_SaveJob) {
            @Override
            protected IStatus run(IProgressMonitor monitor) {
                try {
                    for (TraceSessionComponent session : sessions) {
                        session.saveSession(null, null, dialog.isForce(), monitor);

                        final IRemoteConnection connection = session.getTargetNode().getRemoteSystemProxy().getRemoteConnection();
                        SubMonitor subMonitor = SubMonitor.convert(monitor, 3);
                        // create destination directory (if necessary)
                        IRemoteProcessService processService = connection.getService(IRemoteProcessService.class);
                        IPath path = null;
                        if (processService != null) {
                            String cwd = processService.getWorkingDirectory();
                            path = RemoteServicesUtils.posixPath(cwd);
                            path = path.append(LTTngControlServiceConstants.DEFAULT_PATH);
                        }

                        if (path == null) {
                            return Status.CANCEL_STATUS;
                        }

                        // upload file
                        IRemoteFileService fileService = connection.getService(IRemoteFileService.class);
                        if (fileService == null) {
                            return Status.CANCEL_STATUS;
                        }
                        IPath dest = LttngProfileManager.getProfilePath();
                        String profileName = session.getName() + ".lttng"; //$NON-NLS-1$
                        final Path destPath = FileSystems.getDefault().getPath(dest.toString()).resolve(profileName);
                        IFileStore destFileStore = EFS.getLocalFileSystem().fromLocalFile(destPath.toFile());
                        SubMonitor childMonitor = subMonitor.newChild(1);

                        IPath remotePath = RemoteServicesUtils.posixPath(path.toString()).append(profileName);
                        IFileStore remoteResource = fileService.getResource(remotePath.toString());
                        final boolean overwrite[] = new boolean[1];
                        if (destPath.toFile().exists()) {
                            Display.getDefault().syncExec(() -> overwrite[0] = MessageDialog.openConfirm(Display.getDefault().getActiveShell(),
                                    Messages.TraceControl_ProfileAlreadyExists,
                                    NLS.bind(Messages.TraceControl_OverwriteQuery, destPath.getFileName())));

                            if (!overwrite[0]) {
                                continue;
                            }
                        }
                        remoteResource.copy(destFileStore, EFS.OVERWRITE, childMonitor);
                    }
                } catch (ExecutionException | CoreException e) {
                    return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_SaveFailure, e);
                }
                return Status.OK_STATUS;
            }
        };
        job.setUser(true);
        job.schedule();
    } finally {
        fLock.unlock();
    }
    return null;
}
 
源代码17 项目: xds-ide   文件: BuilderUtils.java
private static Job configureAndSchedule(Job buildJob) {
	buildJob.setUser(true);
	buildJob.schedule();
	return buildJob;
}
 
源代码18 项目: tracecompass   文件: DestroySessionHandler.java
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {

    IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();

    if (window == null) {
        return false;
    }

    List<TraceSessionComponent> tmpSessions = new ArrayList<>();

    // Make a copy of the session list to avoid concurrent modification
    // of the list of sessions
    fLock.lock();
    try {
        tmpSessions.addAll(fSessions);
    } finally {
        fLock.unlock();
    }
    final List<TraceSessionComponent> sessions = tmpSessions;

    // Get user confirmation
    IConfirmDialog dialog = TraceControlDialogFactory.getInstance().getConfirmDialog();
    if (!dialog.openConfirm(window.getShell(),
            Messages.TraceControl_DestroyConfirmationTitle,
            Messages.TraceControl_DestroyConfirmationMessage)) {

        return null;
    }

    Job job = new Job(Messages.TraceControl_DestroySessionJob) {
        @Override
        protected IStatus run(IProgressMonitor monitor) {
            try {
                for (TraceSessionComponent session : sessions) {
                    // Destroy all selected sessions
                    TraceSessionGroup sessionGroup = (TraceSessionGroup)session.getParent();
                    sessionGroup.destroySession(session, monitor);
                }
            } catch (ExecutionException e) {
                return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_DestroySessionFailure, e);
            }
            return Status.OK_STATUS;
        }
    };
    job.setUser(true);
    job.schedule();

    return null;
}
 
源代码19 项目: tracecompass   文件: BaseEnableChannelHandler.java
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    CommandParameter tmpParam = null;

    fLock.lock();
    try {
        tmpParam = fParam;
        if (tmpParam == null) {
            return null;
        }
        tmpParam = tmpParam.clone();
    } finally {
        fLock.unlock();
    }
    final CommandParameter param = tmpParam;

    final IEnableChannelDialog dialog =  TraceControlDialogFactory.getInstance().getEnableChannelDialog();
    dialog.setTargetNodeComponent(param.getSession().getTargetNode());
    dialog.setDomainComponent(getDomain(param));
    dialog.setHasKernel(param.getSession().hasKernelProvider());

    if (dialog.open() != Window.OK) {
        return null;
    }

    Job job = new Job(Messages.TraceControl_CreateChannelStateJob) {
        @Override
        protected IStatus run(IProgressMonitor monitor) {
            Exception error = null;

            List<String> channelNames = new ArrayList<>();
            channelNames.add(dialog.getChannelInfo().getName());

            try {
                enableChannel(param, channelNames, dialog.getChannelInfo(), dialog.getDomain(), monitor);
            } catch (ExecutionException e) {
                error = e;
            }

            // refresh in all cases
            refresh(param);

            if (error != null) {
                return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_CreateChannelStateFailure, error);
            }
            return Status.OK_STATUS;
        }
    };
    job.setUser(true);
    job.schedule();

    return null;
}
 
源代码20 项目: tracecompass   文件: AssignEventHandler.java
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    // Make a copy for thread safety
    Parameter tmpParam = null;
    fLock.lock();
    try {
        tmpParam = fParam;
        if (tmpParam == null)  {
            return null;
        }
        tmpParam = new Parameter(tmpParam);
    } finally {
        fLock.unlock();
    }
    final Parameter param = tmpParam;

    // Open dialog box to retrieve the session and channel where the events should be enabled in.
    final IGetEventInfoDialog dialog = TraceControlDialogFactory.getInstance().getGetEventInfoDialog();
    dialog.setDomain(param.getDomain());
    dialog.setSessions(param.getSessions());

    if (dialog.open() != Window.OK) {
        return null;
    }

    Job job = new Job(Messages.TraceControl_EnableEventsJob) {
        @Override
        protected IStatus run(IProgressMonitor monitor) {

            Exception error = null;
            TraceSessionComponent session = dialog.getSession();
            try {
                List<String> eventNames = new ArrayList<>();
                List<BaseEventComponent> events = param.getEvents();
                // Find the type of the events (all the events in the list are the same type)
                TraceEventType  eventType = !events.isEmpty() ? events.get(0).getEventType() : null;
                // Create list of event names
                for (Iterator<BaseEventComponent> iterator = events.iterator(); iterator.hasNext();) {
                    BaseEventComponent baseEvent = iterator.next();
                    eventNames.add(baseEvent.getName());
                }

                TraceChannelComponent channel = dialog.getChannel();
                if (TraceEventType.TRACEPOINT.equals(eventType)) {
                    if (channel == null) {
                        // enable events on default channel (which will be created by lttng-tools)
                        session.enableEvents(eventNames, param.getDomain(), dialog.getFilterExpression(), null, monitor);
                    } else {
                        channel.enableEvents(eventNames, dialog.getFilterExpression(), null, monitor);
                    }
                } else if (TraceEventType.SYSCALL.equals(eventType)) {
                    if (channel == null) {
                        session.enableSyscalls(eventNames, monitor);
                    } else {
                        channel.enableSyscalls(eventNames, monitor);
                    }
                }

            } catch (ExecutionException e) {
                error = e;
            }

            // refresh in all cases
            if (session != null) {
                refresh(new CommandParameter(session));
            }

            if (error != null) {
                return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_EnableEventsFailure, error);
            }
            return Status.OK_STATUS;
        }
    };
    job.setUser(true);
    job.schedule();

    return null;
}