From ed39262fa647434d4a0e31f07754a263ce2b16e3 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Fri, 09 Feb 2007 21:51:09 +0000
Subject: [PATCH] Add an initial set of privilege support to OpenDS.  The current privileges are currently defined and implemented: * config-read (allow reading the configuration) * config-write (allow updating the configuration) * ldif-import (allow invoking LDIF import tasks) * ldif-export (allow invoking LDIF export tasks) * backend-backup (allow invoking backup tasks) * backend-restore (allow invoking restore tasks) * server-shutdown (allow invoking server shutdown tasks) * server-restart (allow invoking server restart tasks) * server-restart (allow invoking server restart tasks) * password-reset (allow resetting user passwords) * update-schema (allow updating the server schema) * privilege-change (allow changing the set of privileges for a user)

---
 opends/src/server/org/opends/server/backends/task/TaskScheduler.java |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/task/TaskScheduler.java b/opends/src/server/org/opends/server/backends/task/TaskScheduler.java
index e23846c..db0c213 100644
--- a/opends/src/server/org/opends/server/backends/task/TaskScheduler.java
+++ b/opends/src/server/org/opends/server/backends/task/TaskScheduler.java
@@ -43,6 +43,7 @@
 import org.opends.server.api.AlertGenerator;
 import org.opends.server.api.DirectoryThread;
 import org.opends.server.core.DirectoryServer;
+import org.opends.server.core.Operation;
 import org.opends.server.core.SearchOperation;
 import org.opends.server.types.Attribute;
 import org.opends.server.types.AttributeType;
@@ -1044,7 +1045,7 @@
           {
             try
             {
-              Task task = entryToScheduledTask(entry);
+              Task task = entryToScheduledTask(entry, null);
               if (TaskState.isDone(task.getTaskState()))
               {
                 completedTasks.add(task);
@@ -1792,14 +1793,16 @@
    * Decodes the contents of the provided entry as a scheduled task.  The
    * resulting task will not actually be scheduled for processing.
    *
-   * @param  entry  The entry to decode as a scheduled task.
+   * @param  entry      The entry to decode as a scheduled task.
+   * @param  operation  The operation used to create this task in the server, or
+   *                    {@code null} if the operation is not available.
    *
    * @return  The scheduled task decoded from the provided entry.
    *
    * @throws  DirectoryException  If the provided entry cannot be decoded as a
    *                              scheduled task.
    */
-  public Task entryToScheduledTask(Entry entry)
+  public Task entryToScheduledTask(Entry entry, Operation operation)
          throws DirectoryException
   {
     assert debugEnter(CLASS_NAME, "entryToScheduledTask",
@@ -1916,7 +1919,9 @@
     }
 
 
+    task.setOperation(operation);
     task.initializeTask();
+    task.setOperation(null);
     return task;
   }
 

--
Gitblit v1.10.0