public void execute(ClassEntity targetClass) { this.targetClass = targetClass; ProgressManager.getInstance().run(new Task.Backgroundable(project, "GsonFormat") { @Override public void run(@NotNull ProgressIndicator progressIndicator) { progressIndicator.setIndeterminate(true); long currentTimeMillis = System.currentTimeMillis(); execute(); progressIndicator.setIndeterminate(false); progressIndicator.setFraction(1.0); StringBuffer sb = new StringBuffer(); sb.append("GsonFormat [" + (System.currentTimeMillis() - currentTimeMillis) + " ms]\n"); // sb.append("generate class : ( "+generateClassList.size()+" )\n"); // for (String item: generateClassList) { // sb.append(" at "+item+"\n"); // } // sb.append(" \n"); // NotificationCenter.info(sb.toString()); Toast.make(project, MessageType.INFO, sb.toString()); } }); }
public void executeWithProgress(boolean modal, @NotNull Consumer<Boolean> consumer) { ProgressManager.getInstance().run(new Task.Backgroundable(myProject, getPresentableName(), true) { private boolean doNotStart; @Override public void onCancel() { doNotStart = true; ProcessHandler handler = getProcessHandler(); if (handler != null) { handler.destroyProcess(); } } @Override public boolean shouldStartInBackground() { return !modal; } @Override public boolean isConditionalModal() { return modal; } @Override public void run(@NotNull ProgressIndicator indicator) { if (doNotStart || myProject == null || myProject.isDisposed()) { return; } indicator.setIndeterminate(true); consumer.consume(execute()); } }); }
@SuppressWarnings("SameParameterValue") @NotNull final String task, @NotNull final String... taskParameters) { ProgressManager.getInstance().run( new Task.Modal(null, title, true) { @Override
public void executeWithProgress(boolean modal, @NotNull Consumer<Boolean> consumer) { ProgressManager.getInstance().run(new Task.Backgroundable(myProject, getPresentableName(), true) { private boolean doNotStart; @Override public void onCancel() { doNotStart = true; ProcessHandler handler = getProcessHandler(); if (handler != null) { handler.destroyProcess(); } } @Override public boolean shouldStartInBackground() { return !modal; } @Override public boolean isConditionalModal() { return modal; } @Override public void run(@NotNull ProgressIndicator indicator) { if (doNotStart || myProject == null || myProject.isDisposed()) { return; } indicator.setIndeterminate(true); consumer.consume(execute()); } }); }
/** * Runs the task in the background if it can. * * @param task Task that will create an issue on Github * @param direct {@code true} to run directly with {@link Task#run(ProgressIndicator)}; {@code false} to run with * the {@link com.intellij.openapi.project.ProjectManager}. */ private static void run(Task task, boolean direct) { if (direct) { task.run(new EmptyProgressIndicator()); } else { ProgressManager.getInstance().run(task); } }
@Override public void OnResult(String result) { int extPos = result.lastIndexOf('/'); if (extPos < 0 && extPos != result.length() - 1) { return; } String fileName = result.substring(extPos + 1); String title = "Download:" + fileName; File downloadFile = new File(Constant.CACHE_PATH + "search/" + fileName); ProgressManager.getInstance().run(new Task.Backgroundable(project, title) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { try { DownloadUtil.downloadAtomically(null, result, downloadFile); } catch (IOException e) { e.printStackTrace(); } if (downloadFile.exists()) { Utils.openFileInPanel(downloadFile.getPath(), project); } } }); } }
@Override public void OnItemClick(int position, final String value) { String title = "Download Native File for " + psiMethod.getName(); ProgressManager.getInstance().run(new Task.Backgroundable(project, title) { @Override public void run(@NotNull ProgressIndicator progressIndicator) { download(value); } }); }
@Override public void OnItemClick(int position, final String version) { String title = "Download:" + version + " - " + packageName; ProgressManager.getInstance().run(new Task.Backgroundable(project, title) { @Override public void run(@NotNull ProgressIndicator progressIndicator) {
public void openServer(final MongoServer mongoServer) { ProgressManager.getInstance().run(new Task.Backgroundable(project, "Connecting to " + mongoServer.getLabel()) { @Override public void run(@NotNull ProgressIndicator indicator) { mongoTree.setPaintBusy(true); ApplicationManager.getApplication().invokeLater(() -> { try { List<MongoDatabase> mongoDatabases = mongoManager.loadDatabases(mongoServer, mongoServer.getConfiguration()); if (mongoDatabases.isEmpty()) { return; } mongoServer.setDatabases(mongoDatabases); mongoTreeBuilder.queueUpdateFrom(mongoServer, true) .doWhenDone(() -> mongoTreeBuilder.expand(mongoServer, null)); } catch (ConfigurationException confEx) { mongoServer.setStatus(MongoServer.Status.ERROR); String errorMessage = String.format("Error when connecting to %s", mongoServer.getLabel()); notifier.notifyError(errorMessage + ": " + confEx.getMessage()); UIUtil.invokeLaterIfNeeded(() -> showNotification(treePanel, MessageType.ERROR, errorMessage, Balloon.Position.atLeft)); } finally { mongoTree.setPaintBusy(false); } }); } }); }
private void executeQuery(final boolean useCachedResults, final Navigation.WayPoint wayPoint) { errorPanel.setVisible(false); validateQuery(); ProgressManager.getInstance().run(new Task.Backgroundable(project, "Get documents from " + wayPoint.getLabel()) { @Override public void run(@NotNull ProgressIndicator indicator) {
ProgressManager.getInstance().run(task);
Log.debug("second =>" + value); String title = "Download:" + packageName; ProgressManager.getInstance().run(new Task.Backgroundable(project, title) { @Override public void run(@NotNull ProgressIndicator progressIndicator) {
/** Make sure to run after updating grammars in previewState */ public void runANTLRTool(final VirtualFile grammarFile) { String title = "ANTLR Code Generation"; boolean canBeCancelled = true; boolean forceGeneration = false; Task gen = new RunANTLROnGrammarFile(grammarFile, project, title, canBeCancelled, forceGeneration); ProgressManager.getInstance().run(gen); }
@Override public void setRootProjectDirectory(@NotNull final File directory) { Validate.notNull(directory); LOG.info("setting RootProjectDirectory to "+directory.getAbsolutePath()); ProgressManager.getInstance().run(new SearchModulesRootsTaskModalWindow( directory, this.getHybrisProjectDescriptor() )); this.setFileToImport(directory.getAbsolutePath()); }
public static void updateServerBinding(SonarQubeServer server, ConnectedSonarLintEngine engine, boolean onlyProjects) { Project[] openProjects = ProjectManager.getInstance().getOpenProjects(); Map<String, List<Project>> projectsPerModule = new HashMap<>(); for (Project p : openProjects) { SonarLintProjectSettings projectSettings = SonarLintUtils.get(p, SonarLintProjectSettings.class); String projectKey = projectSettings.getProjectKey(); if (projectSettings.isBindingEnabled() && server.getName().equals(projectSettings.getServerId()) && projectKey != null) { List<Project> projects = projectsPerModule.computeIfAbsent(projectKey, k -> new ArrayList<>()); projects.add(p); } } ServerUpdateTask task = new ServerUpdateTask(engine, server, projectsPerModule, onlyProjects); ProgressManager.getInstance().run(task.asBackground()); }
@Override public void run(AnActionButton anActionButton) { Set<String> existingNames = servers.stream().map(SonarQubeServer::getName).collect(Collectors.toSet()); SQServerWizard wizard = new SQServerWizard(existingNames); if (wizard.showAndGet()) { SonarQubeServer created = wizard.getServer(); servers.add(created); ((CollectionListModel) serverList.getModel()).add(created); serverList.setSelectedIndex(serverList.getModel().getSize() - 1); serverChangeListener.changed(servers); ServerUpdateTask task = new ServerUpdateTask(serverManager.getConnectedEngine(created.getName()), created, Collections.emptyMap(), false); ProgressManager.getInstance().run(task.asBackground()); } } }
private void stop(@NotNull UndeploymentTaskCallback callback) { AppEngineStop stop = new AppEngineStop(appEngineHelper, loggingHandler, configuration, callback); final AppEngineExecutor stopRunner = new AppEngineExecutor(new AppEngineStopTask(stop, service, version)); ProgressManager.getInstance() .run( new Task.Backgroundable(appEngineHelper.getProject(), "Stop App Engine", true, null) { @Override public void run(@NotNull ProgressIndicator indicator) { ApplicationManager.getApplication().invokeLater(stopRunner); } }); } }
@Test public void testUserTask() { manager.submitManual(mockFiles(), TriggerType.ACTION, true, null); verify(factory).createUserTask(any(SonarLintJob.class), eq(true)); verify(app).isDispatchThread(); verify(progressManager).run(task); }
@Test public void testRunBackground() { manager.submitBackground(mockFiles(), TriggerType.ACTION, null); verify(factory).createTask(any(SonarLintJob.class), eq(true)); verify(app).isDispatchThread(); verify(progressManager).run(task); }
private void checkConnection() throws CommitStepException { SonarQubeServer tmpServer = model.createServerWithoutOrganization(); ConnectionTestTask test = new ConnectionTestTask(tmpServer); ProgressManager.getInstance().run(test); ValidationResult r = test.result(); String msg = "Failed to connect to the server. Please check the configuration."; if (test.getException() != null) { if (test.getException().getMessage() != null) { msg = msg + " Error: " + test.getException().getMessage(); } throw new CommitStepException(msg); } else if (!r.success()) { throw new CommitStepException(msg + " Cause: " + r.message()); } }