From 7ebe8d5d2fedf1547353611bca934c18fa138b9f Mon Sep 17 00:00:00 2001
From: kenneth_suter <kenneth_suter@localhost>
Date: Tue, 25 Sep 2007 17:28:41 +0000
Subject: [PATCH] For schedulable utilities have return code reflect success of scheduled task when monitoring task in synchronous mode
---
opends/src/server/org/opends/server/tools/tasks/TaskTool.java | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/opends/src/server/org/opends/server/tools/tasks/TaskTool.java b/opends/src/server/org/opends/server/tools/tasks/TaskTool.java
index 4ff427f..cf93e98 100644
--- a/opends/src/server/org/opends/server/tools/tasks/TaskTool.java
+++ b/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) {
--
Gitblit v1.10.0