From 0a8225c9469a29f6133ddd31c8cc0624d6a1de97 Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Wed, 12 Nov 2008 03:43:10 +0000
Subject: [PATCH] Fixed an issue where adding a local backend with dsconfig resulted in a number of erroneous messages printed to the error log. 

---
 opends/src/server/org/opends/server/backends/jeb/AttributeIndex.java |   91 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 69 insertions(+), 22 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/jeb/AttributeIndex.java b/opends/src/server/org/opends/server/backends/jeb/AttributeIndex.java
index 7506cc7..6b90b13 100644
--- a/opends/src/server/org/opends/server/backends/jeb/AttributeIndex.java
+++ b/opends/src/server/org/opends/server/backends/jeb/AttributeIndex.java
@@ -1420,9 +1420,12 @@
                                     entryContainer);
           equalityIndex.open();
 
-          adminActionRequired = true;
-          messages.add(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(
-                  name + ".equality"));
+          if(!equalityIndex.isTrusted())
+          {
+            adminActionRequired = true;
+            messages.add(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(
+                equalityIndex.getName()));
+          }
 
         }
         else
@@ -1434,7 +1437,7 @@
             adminActionRequired = true;
             Message message =
                     NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(
-                            name + ".equality");
+                            equalityIndex.getName());
             messages.add(message);
             this.equalityIndex.setIndexEntryLimit(indexEntryLimit);
           }
@@ -1480,10 +1483,12 @@
                                     entryContainer);
           presenceIndex.open();
 
-          adminActionRequired = true;
-
-          messages.add(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(
-                  name + ".presence"));
+          if(!presenceIndex.isTrusted())
+          {
+            adminActionRequired = true;
+            messages.add(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(
+                presenceIndex.getName()));
+          }
         }
         else
         {
@@ -1494,7 +1499,7 @@
 
             Message message =
                     NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(
-                            name + ".presence");
+                            presenceIndex.getName());
             messages.add(message);
           }
         }
@@ -1540,9 +1545,12 @@
                                      entryContainer);
           substringIndex.open();
 
-          adminActionRequired = true;
-          messages.add(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(
-                  name + ".substring"));
+          if(!substringIndex.isTrusted())
+          {
+            adminActionRequired = true;
+            messages.add(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(
+                substringIndex.getName()));
+          }
         }
         else
         {
@@ -1552,7 +1560,7 @@
             adminActionRequired = true;
             Message message =
                     NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(
-                            name + ".substring");
+                            substringIndex.getName());
             messages.add(message);
           }
 
@@ -1605,9 +1613,12 @@
                                     entryContainer);
           orderingIndex.open();
 
-          adminActionRequired = true;
-          messages.add(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(
-                  name + ".ordering"));
+          if(!orderingIndex.isTrusted())
+          {
+            adminActionRequired = true;
+            messages.add(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(
+                orderingIndex.getName()));
+          }
         }
         else
         {
@@ -1618,7 +1629,7 @@
 
             Message message =
                     NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(
-                            name + ".ordering");
+                            orderingIndex.getName());
             messages.add(message);
           }
         }
@@ -1664,10 +1675,12 @@
                                        entryContainer);
           approximateIndex.open();
 
-          adminActionRequired = true;
-
-          messages.add(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(
-                  name + ".approximate"));
+          if(!approximateIndex.isTrusted())
+          {
+            adminActionRequired = true;
+            messages.add(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(
+                approximateIndex.getName()));
+          }
         }
         else
         {
@@ -1678,7 +1691,7 @@
 
             Message message =
                     NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(
-                            name + ".approximate");
+                            approximateIndex.getName());
             messages.add(message);
           }
         }
@@ -1760,6 +1773,40 @@
   }
 
   /**
+   * Return true iff this index is trusted.
+   * @return the trusted state of this index
+   */
+  public boolean isTrusted()
+  {
+    if (equalityIndex != null && !equalityIndex.isTrusted())
+    {
+      return false;
+    }
+
+    if (presenceIndex != null && !presenceIndex.isTrusted())
+    {
+      return false;
+    }
+
+    if (substringIndex != null && !substringIndex.isTrusted())
+    {
+      return false;
+    }
+
+    if (orderingIndex != null && !orderingIndex.isTrusted())
+    {
+      return false;
+    }
+
+    if (approximateIndex != null && approximateIndex.isTrusted())
+    {
+      return false;
+    }
+
+    return true;
+  }
+
+  /**
    * Set the rebuild status of this index.
    * @param rebuildRunning True if a rebuild process on this index
    *                       is running or False otherwise.

--
Gitblit v1.10.0