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

kenneth_suter
25.28.2007 7ebe8d5d2fedf1547353611bca934c18fa138b9f
For schedulable utilities have return code reflect success of scheduled task when monitoring task in synchronous mode
2 files modified
10 ■■■■ changed files
opends/src/server/org/opends/server/backends/task/TaskState.java 1 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/tools/tasks/TaskTool.java 9 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/backends/task/TaskState.java
@@ -216,6 +216,7 @@
      case WAITING_ON_START_TIME:
      case WAITING_ON_DEPENDENCY:
      case RUNNING:
      case STOPPED_BY_ERROR:
        return false;
      default:
        return true;
opends/src/server/org/opends/server/tools/tasks/TaskTool.java
@@ -41,6 +41,7 @@
import org.opends.server.types.LDAPException;
import org.opends.server.types.OpenDsException;
import org.opends.server.core.DirectoryServer;
import org.opends.server.backends.task.TaskState;
import org.opends.messages.Message;
import static org.opends.messages.ToolMessages.*;
@@ -215,9 +216,9 @@
          // Poll the task printing log messages until finished
          String taskId = taskEntry.getId();
          taskEntry = tc.getTaskEntry(taskId);
          Set<Message> printedLogMessages = new HashSet<Message>();
          do {
            taskEntry = tc.getTaskEntry(taskId);
            List<Message> logs = taskEntry.getLogMessages();
            for (Message log : logs) {
              if (!printedLogMessages.contains(log)) {
@@ -232,8 +233,12 @@
              // ignore
            }
            taskEntry = tc.getTaskEntry(taskId);
          } while (!taskEntry.isDone());
          if (TaskState.isSuccessful(taskEntry.getTaskState())) {
            return 0;
          } else {
            return 1;
          }
        }
        ret = 0;
      } catch (LDAPConnectionException e) {