From 186641820dea8b180890b7d1e92e28cd1c87ff8e Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Wed, 19 Nov 2008 10:17:23 +0000
Subject: [PATCH] Fix for Issue 3618 Control panel : View All Base DS's generates SEVERE ERRORS

---
 opends/src/server/org/opends/server/replication/server/ReplicationBackend.java |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/ReplicationBackend.java b/opends/src/server/org/opends/server/replication/server/ReplicationBackend.java
index 7f3f00a..c56863a 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationBackend.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationBackend.java
@@ -1008,7 +1008,8 @@
       {
         // Add extensibleObject objectclass and the ChangeNumber
         // in the entry.
-        entry.addObjectClass(objectclass);
+        if (!entry.getObjectClasses().containsKey(objectclass))
+          entry.addObjectClass(objectclass);
         Attribute changeNumber =
           Attributes.create(CHANGE_NUMBER, msg.getChangeNumber().toStringUI());
         addAttribute(entry.getUserAttributes(), changeNumber);
@@ -1292,6 +1293,23 @@
         }
       }
     }
+
+    // don't do anything if the search is a base search on
+    // the backend suffix.
+    try
+    {
+      DN backendBaseDN = DN.decode(BASE_DN);
+      if ( (searchOperation.getScope().equals(SearchScope.BASE_OBJECT)) &&
+           (backendBaseDN.equals(searchOperation.getBaseDN())) )
+      {
+        return;
+      }
+    }
+    catch (Exception e)
+    {
+      return;
+    }
+
     // Make sure the base entry exists if it's supposed to be in this backend.
     if (!handlesEntry(searchBaseDN))
     {

--
Gitblit v1.10.0