mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noël Rouvignac
03.05.2015 3cfd1757b263117fa828b6a9636cc2ec674d19bc
OPENDJ-2262 CLU: manage-tasks with cancel option does not write in stderr when an error occurs

ManageTasks.java:
Called ConsoleApplication.errPrintln() each time we are returning MenuResult.again().
I did not touch more contentious places like where we are returning MenuResult.cancel().
Also in a few places, on exception, we are effectively printing to stdout and returning MenuResult.success(null). Weird.
1 files modified
40 ■■■■■ changed files
opendj-server-legacy/src/main/java/org/opends/server/tools/ManageTasks.java 40 ●●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tools/ManageTasks.java
@@ -513,8 +513,7 @@
    }
    @Override
    public MenuResult<TaskEntry> invoke(ConsoleApplication app)
            throws ClientException
    public MenuResult<TaskEntry> invoke(ConsoleApplication app) throws ClientException
    {
      return invoke((ManageTasks)app);
    }
@@ -528,15 +527,13 @@
     * @throws ClientException
     *           if any problem occurred
     */
    protected abstract MenuResult<TaskEntry> invoke(ManageTasks app)
            throws ClientException;
    protected abstract MenuResult<TaskEntry> invoke(ManageTasks app) throws ClientException;
  }
  /** Executable for printing a task summary table. */
  private static class PrintSummaryTop extends TopMenuCallback {
    @Override
    public MenuResult<Void> invoke(ManageTasks app)
            throws ClientException
    public MenuResult<Void> invoke(ManageTasks app) throws ClientException
    {
      // Since the summary table is reprinted every time,
      // the user enters the top level this task just returns 'success'
@@ -619,10 +616,8 @@
    @Override
    public MenuResult<TaskEntry> invoke(ManageTasks app) throws ClientException
    {
      LocalizableMessage m;
      TaskEntry taskEntry;
      try {
        taskEntry = app.getTaskClient().getTaskEntry(taskId);
        TaskEntry taskEntry = app.getTaskClient().getTaskEntry(taskId);
        TableBuilder table = new TableBuilder();
        table.appendHeading(INFO_TASKINFO_DETAILS.get());
@@ -643,10 +638,10 @@
        table.appendCell(INFO_TASKINFO_FIELD_SCHEDULED_START.get());
        if (TaskState.isRecurring(taskEntry.getTaskState())) {
          m = taskEntry.getScheduleTab();
          LocalizableMessage m = taskEntry.getScheduleTab();
          table.appendCell(m);
        } else {
          m = taskEntry.getScheduledStartTime();
          LocalizableMessage m = taskEntry.getScheduledStartTime();
          if (m == null || m.equals(LocalizableMessage.EMPTY)) {
            table.appendCell(INFO_TASKINFO_IMMEDIATE_EXECUTION.get());
          } else {
@@ -669,7 +664,7 @@
        table.startRow();
        table.appendCell(INFO_TASKINFO_FIELD_FAILED_DEPENDENCY_ACTION.get());
        m = taskEntry.getFailedDependencyAction();
        LocalizableMessage m = taskEntry.getFailedDependencyAction();
        table.appendCell(m != null ? m : INFO_TASKINFO_NONE.get());
        writeMultiValueCells(
@@ -728,11 +723,11 @@
        }
        app.getOutputStream().println();
        return MenuResult.success(taskEntry);
      } catch (Exception e) {
        app.println(ERR_TASKINFO_RETRIEVING_TASK_ENTRY.get(taskId, e.getMessage()));
        app.errPrintln(ERR_TASKINFO_RETRIEVING_TASK_ENTRY.get(taskId, e.getMessage()));
        return MenuResult.again();
      }
      return MenuResult.success(taskEntry);
    }
    /**
@@ -788,8 +783,7 @@
    }
    @Override
    protected MenuResult<TaskEntry> invoke(ManageTasks app)
            throws ClientException
    protected MenuResult<TaskEntry> invoke(ManageTasks app) throws ClientException
    {
      TaskEntry taskEntry = null;
      try {
@@ -867,7 +861,7 @@
      } catch (NumberFormatException ignored) {}
      if (index == null) {
        app.println(ERR_TASKINFO_INVALID_MENU_KEY.get(line));
        app.errPrintln(ERR_TASKINFO_INVALID_MENU_KEY.get(line));
        return MenuResult.again();
      }
@@ -899,14 +893,14 @@
    {
      try {
        TaskEntry entry = app.getTaskClient().getTaskEntry(taskId);
        if (entry.isCancelable()) {
          app.getTaskClient().cancelTask(taskId);
          app.println(INFO_TASKINFO_CMD_CANCEL_SUCCESS.get(taskId));
          return MenuResult.success(entry);
        } else {
          app.println(ERR_TASKINFO_TASK_NOT_CANCELABLE_TASK.get(taskId));
        if (!entry.isCancelable()) {
          app.errPrintln(ERR_TASKINFO_TASK_NOT_CANCELABLE_TASK.get(taskId));
          return MenuResult.again();
        }
        app.getTaskClient().cancelTask(taskId);
        app.println(INFO_TASKINFO_CMD_CANCEL_SUCCESS.get(taskId));
        return MenuResult.success(entry);
      } catch (Exception e) {
        app.errPrintln(ERR_TASKINFO_CANCELING_TASK.get(taskId, e.getMessage()));
        return MenuResult.again();