From 2273c26793fe6e3abfd90a400823e8e46b3303bb Mon Sep 17 00:00:00 2001
From: abobrov <abobrov@localhost>
Date: Mon, 15 Dec 2008 16:07:29 +0000
Subject: [PATCH] - [Issue 274]  Recurring Tasks

---
 opends/src/server/org/opends/server/tools/ManageTasks.java |   40 ++++++++++++++++++++++++----------------
 1 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/opends/src/server/org/opends/server/tools/ManageTasks.java b/opends/src/server/org/opends/server/tools/ManageTasks.java
index a8f6429..9a3a806 100644
--- a/opends/src/server/org/opends/server/tools/ManageTasks.java
+++ b/opends/src/server/org/opends/server/tools/ManageTasks.java
@@ -62,6 +62,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
+import org.opends.server.backends.task.TaskState;
 
 /**
  * Tool for getting information and managing tasks in the Directory Server.
@@ -423,12 +424,11 @@
                 new TaskDrilldownMenu(taskId),
                 taskEntry.getType(), taskEntry.getState());
         index++;
-        if (taskEntry.isCancelable() && !taskEntry.isDone()) {
+        if (taskEntry.isCancelable()) {
           cancelableIndices.add(index);
         }
       }
     } else {
-      // println();
       getOutputStream().println(INFO_TASKINFO_NO_TASKS.get());
       getOutputStream().println();
     }
@@ -621,6 +621,7 @@
     public MenuResult<TaskEntry> invoke(ManageTasks app)
             throws CLIException
     {
+      Message m = null;
       TaskEntry taskEntry = null;
       try {
         taskEntry = app.getTaskClient().getTaskEntry(taskId);
@@ -640,23 +641,30 @@
         table.appendCell(INFO_TASKINFO_FIELD_STATUS.get());
         table.appendCell(taskEntry.getState());
 
-        table.startRow();
-        table.appendCell(INFO_TASKINFO_FIELD_SCHEDULED_START.get());
-        Message m = taskEntry.getScheduledStartTime();
-        if (m == null || m.equals(Message.EMPTY)) {
-          table.appendCell(INFO_TASKINFO_IMMEDIATE_EXECUTION.get());
-        } else {
+        if (TaskState.isRecurring(taskEntry.getTaskState())) {
+          table.startRow();
+          table.appendCell(INFO_TASKINFO_FIELD_SCHEDULED_START.get());
+          m = taskEntry.getScheduleTab();
           table.appendCell(m);
+        } else {
+          table.startRow();
+          table.appendCell(INFO_TASKINFO_FIELD_SCHEDULED_START.get());
+          m = taskEntry.getScheduledStartTime();
+          if (m == null || m.equals(Message.EMPTY)) {
+            table.appendCell(INFO_TASKINFO_IMMEDIATE_EXECUTION.get());
+          } else {
+            table.appendCell(m);
+          }
+
+          table.startRow();
+          table.appendCell(INFO_TASKINFO_FIELD_ACTUAL_START.get());
+          table.appendCell(taskEntry.getActualStartTime());
+
+          table.startRow();
+          table.appendCell(INFO_TASKINFO_FIELD_COMPLETION_TIME.get());
+          table.appendCell(taskEntry.getCompletionTime());
         }
 
-        table.startRow();
-        table.appendCell(INFO_TASKINFO_FIELD_ACTUAL_START.get());
-        table.appendCell(taskEntry.getActualStartTime());
-
-        table.startRow();
-        table.appendCell(INFO_TASKINFO_FIELD_COMPLETION_TIME.get());
-        table.appendCell(taskEntry.getCompletionTime());
-
         writeMultiValueCells(
                 table,
                 INFO_TASKINFO_FIELD_DEPENDENCY.get(),

--
Gitblit v1.10.0