コード例 #1
0
  /**
   * Fuehrt einen Restart am Server durch.
   *
   * @param monitor
   * @param selection
   * @param more
   * @return true wenn abbruch
   * @throws ConnectionException
   */
  private boolean restart(
      final IProgressMonitor monitor, final IRestartSelection selection, final boolean more)
      throws ConnectionException {
    monitor.subTask("Invoking restart");
    fConnection
        .getProtocolWriter()
        .writeInvokeRestart(selection.getRestart(), selection.getParameter());
    readAllOutput(monitor);
    monitor.subTask("Reading restart result");
    IResult result = fConnection.getEvaluation().evalResult();
    IRestartSelection restartSelection = callFormEvaluated(result, more);

    if (restartSelection == null) {
      return false;
    } else if (restartSelection.isAborted()) {
      return true;
    } else {
      // rekursiver restart
      return restart(monitor, restartSelection, more);
    }
  }