From fbaf1ece83dd147e259dca0d544b0625b1c2d78f Mon Sep 17 00:00:00 2001
From: sin <sin@localhost>
Date: Thu, 02 Apr 2009 00:46:59 +0000
Subject: [PATCH] 3321:error raised during index creation and delete with dsconfig

---
 opends/src/server/org/opends/server/backends/jeb/EntryContainer.java |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/jeb/EntryContainer.java b/opends/src/server/org/opends/server/backends/jeb/EntryContainer.java
index cad22dc..71e3171 100644
--- a/opends/src/server/org/opends/server/backends/jeb/EntryContainer.java
+++ b/opends/src/server/org/opends/server/backends/jeb/EntryContainer.java
@@ -207,8 +207,19 @@
         LocalDBIndexCfg cfg,
         List<Message> unacceptableReasons)
     {
-      // TODO: validate more before returning true?
-      return true;
+      boolean isValid = true;
+      try
+      {
+        //Try creating all the indexes before confirming they are valid ones.
+        AttributeIndex index =
+          new AttributeIndex(cfg, state, env, EntryContainer.this);
+      }
+      catch(Exception e)
+      {
+        unacceptableReasons.add(Message.raw(e.getLocalizedMessage()));
+        isValid = false ;
+      }
+      return isValid;
     }
 
     /**
@@ -235,7 +246,7 @@
       }
       catch(Exception e)
       {
-        messages.add(Message.raw(StaticUtils.stackTraceToSingleLineString(e)));
+        messages.add(Message.raw(e.getLocalizedMessage()));
         ccr = new ConfigChangeResult(DirectoryServer.getServerErrorResultCode(),
             adminActionRequired,
             messages);

--
Gitblit v1.10.0