From 38bdf817e5e1f5583b397f0392238609c2ad02d1 Mon Sep 17 00:00:00 2001
From: abobrov <abobrov@localhost>
Date: Fri, 17 Apr 2009 13:38:40 +0000
Subject: [PATCH] - reject tasks with missing dependencies.

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

diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/task/TaskScheduler.java b/opendj-sdk/opends/src/server/org/opends/server/backends/task/TaskScheduler.java
index ab81c1a..58267e5 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/task/TaskScheduler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/backends/task/TaskScheduler.java
@@ -349,6 +349,17 @@
         throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, message);
       }
 
+      for (String dependencyID : task.getDependencyIDs())
+      {
+        Task t = tasks.get(dependencyID);
+        if (t == null)
+        {
+          Message message = ERR_TASKSCHED_DEPENDENCY_MISSING.get(
+            String.valueOf(id), dependencyID);
+          throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message);
+        }
+      }
+
       tasks.put(id, task);
 
       TaskState state = shouldStart(task);

--
Gitblit v1.10.0