Java Code Examples for com.intellij.openapi.progress.ProgressIndicator.stop()

The following are Jave code examples for showing how to use stop() of the com.intellij.openapi.progress.ProgressIndicator class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
Example 1
Project: intellij-ce-playground   File: SliceNode.java   Source Code and License Vote up 6 votes
@Override
@NotNull
public Collection<? extends AbstractTreeNode> getChildren() {
  ProgressIndicator current = ProgressManager.getInstance().getProgressIndicator();
  ProgressIndicator indicator = current == null ? new ProgressIndicatorBase() : current;
  if (current == null) {
    indicator.start();
  }
  final Collection[] nodes = new Collection[1];
  ProgressManager.getInstance().executeProcessUnderProgress(new Runnable() {
    @Override
    public void run() {
      nodes[0] = getChildrenUnderProgress(ProgressManager.getInstance().getProgressIndicator());
    }
  }, indicator);
  if (current == null) {
    indicator.stop();
  }
  return nodes[0];
}
 
Example 2
Project: intellij-ce-playground   File: InstallComponentsPath.java   Source Code and License Vote up 6 votes
@NotNull
@Override
protected File perform(@NotNull ProgressIndicator indicator, @NotNull File destination) throws WizardException {
  indicator.setText("Installing Android SDK");
  try {
    FileUtil.ensureExists(destination);
    if (!FileUtil.filesEqual(destination.getCanonicalFile(), myRepo.getCanonicalFile())) {
      SdkMerger.mergeSdks(myRepo, destination, indicator);
      myRepoWasMerged = true;
    }
    myContext.print(String.format("Android SDK was installed to %1$s\n", destination), ConsoleViewContentType.SYSTEM_OUTPUT);
    return destination;
  }
  catch (IOException e) {
    throw new WizardException(e.getMessage(), e);
  }
  finally {
    indicator.stop();
  }
}
 
Example 3
Project: intellij-ce-playground   File: InstallComponentsPath.java   Source Code and License Vote up 6 votes
@NotNull
@Override
protected File perform(@NotNull ProgressIndicator indicator, @NotNull File file) throws WizardException {
  indicator.setText("Moving downloaded SDK");
  indicator.start();
  try {
    File root = getSdkRoot(file);
    if (!root.renameTo(myDestination)) {
      FileUtil.copyDir(root, myDestination);
      FileUtil.delete(root); // Failure to delete it is not critical, the source is in temp folder.
      // No need to abort installation.
    }
    return myDestination;
  }
  catch (IOException e) {
    throw new WizardException("Unable to move Android SDK", e);
  }
  finally {
    indicator.setFraction(1.0);
    indicator.stop();
  }
}
 
Example 4
Project: intellij-ce-playground   File: SequentialModalProgressTask.java   Source Code and License Vote up 5 votes
@Override
public void run(@NotNull ProgressIndicator indicator) {
  try {
    doRun(indicator);
  }
  catch (Exception e) {
    LOG.info("Unexpected exception occurred during processing sequential task '" + myTitle + "'", e);
  }
  finally {
    indicator.stop();
  }
}
 
Example 5
Project: intellij-ce-playground   File: BackgroundTaskUtil.java   Source Code and License Vote up 4 votes
@CalledInAwt
private static void finish(@NotNull Runnable result, @NotNull ProgressIndicator indicator) {
  if (indicator.isCanceled()) return;
  result.run();
  indicator.stop();
}
 
Example 6
Project: intellij-ce-playground   File: UnpackOperation.java   Source Code and License Vote up 4 votes
/**
 * @throws IOException     when tar fails in a way that we may retry the operation
 * @throws WizardException if retry is not possible (e.g. no tar executable)
 */
@NotNull
private static File untar(final File archive, File destination, final InstallContext context, final ProgressIndicator indicator)
  throws IOException, WizardException {
  if (!destination.mkdirs()) {
    throw new WizardException("Cannot create temporary directory to extract files");
  }
  indicator.start();
  indicator.setFraction(0.0); // 0%
  try {
    GeneralCommandLine line =
      new GeneralCommandLine(getTarExecutablePath(), TAR_FLAGS_EXTRACT_UNPACK_VERBOSE_FILENAME_TARGETDIR, archive.getAbsolutePath(),
                             destination.getAbsolutePath());
    CapturingAnsiEscapesAwareProcessHandler handler = new CapturingAnsiEscapesAwareProcessHandler(line);
    handler.addProcessListener(new ProcessAdapter() {
      @Override
      public void onTextAvailable(ProcessEvent event, Key outputType) {
        String string = event.getText();
        if (!StringUtil.isEmptyOrSpaces(string)) {
          if (string.startsWith(EXTRACT_OPERATION_OUTPUT)) { // Extract operation prefix
            String fileName = string.substring(EXTRACT_OPERATION_OUTPUT.length()).trim();
            indicator.setText(fileName);
          }
          else if (ProcessOutputTypes.STDOUT.equals(outputType)) {
            indicator.setText(string.trim());
          }
          else {
            context.print(string, ConsoleViewContentType.getConsoleViewType(outputType));
          }
        }
      }
    });
    if (handler.runProcess().getExitCode() != 0) {
      throw new IOException("Unable to unpack archive file");
    }
    return destination;
  }
  catch (ExecutionException e) {
    throw new WizardException("Unable to run tar utility");
  }
  finally {
    indicator.setFraction(1.0); // 100%
    indicator.stop();
  }
}
 
Example 7
Project: intellij-ce-playground   File: GradleTasksExecutor.java   Source Code and License Vote up 4 votes
@Override
public void run(@NotNull ProgressIndicator indicator) {
  if (isAndroidStudio()) {
    // See https://code.google.com/p/android/issues/detail?id=169743
    clearStoredGradleJvmArgs(getNotNullProject());
  }

  myIndicator = indicator;

  ProjectManager projectManager = ProjectManager.getInstance();
  Project project = getNotNullProject();
  myCloseListener = new CloseListener();
  projectManager.addProjectManagerListener(project, myCloseListener);

  Semaphore semaphore = ((CompilerManagerImpl)CompilerManager.getInstance(project)).getCompilationSemaphore();
  boolean acquired = false;
  try {
    try {
      while (!acquired) {
        acquired = semaphore.tryAcquire(300, MILLISECONDS);
        if (indicator.isCanceled()) {
          // Give up obtaining the semaphore, let compile work begin in order to stop gracefully on cancel event.
          break;
        }
      }
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
    }

    if (!isHeadless()) {
      addIndicatorDelegate();
    }
    invokeGradleTasks();
  }
  finally {
    try {
      indicator.stop();
      projectManager.removeProjectManagerListener(project, myCloseListener);
    }
    finally {
      if (acquired) {
        semaphore.release();
      }
    }
  }
}