From cf7991dd4b96fd08c0e813d66004205d6f803348 Mon Sep 17 00:00:00 2001
From: pgamba <pgamba@localhost>
Date: Tue, 13 Nov 2007 18:42:02 +0000
Subject: [PATCH] Fix 2588 - step 2 - NullPointer exception when enabling replication

---
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ReplicationServerTest.java |    9 +++++++++
 opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationBackend.java                            |   16 ++++++++++++++++
 2 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationBackend.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationBackend.java
index 6033b78..731fbb1 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationBackend.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationBackend.java
@@ -328,6 +328,22 @@
   @Override()
   public synchronized long getEntryCount()
   {
+    if (server==null)
+    {
+      try
+      {
+        server = retrievesReplicationServer();
+        if (server == null)
+        {
+          return 0;
+        }
+      }
+      catch(Exception e)
+      {
+        return 0;
+      }
+    }
+
     //This method only returns the number of actual change entries, the
     //domain and any baseDN entries are not counted.
     long retNum=0;
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ReplicationServerTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ReplicationServerTest.java
index 9e881f9..9418ae3 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ReplicationServerTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ReplicationServerTest.java
@@ -1229,6 +1229,14 @@
    {
      debugInfo("Starting searchBackend");
 
+     // General search
+     InternalSearchOperation op2 = connection.processSearch(
+         new ASN1OctetString("cn=monitor"),
+         SearchScope.WHOLE_SUBTREE,
+         LDAPFilter.decode("(objectclass=*)"));
+     assertEquals(op2.getResultCode(), ResultCode.SUCCESS, 
+         op2.getErrorMessage().toString());
+
      replicationServer.clearDb();
 
      LDIFWriter ldifWriter = null;
@@ -1291,6 +1299,7 @@
          LDAPFilter.decode("(changetype=*)"));
      assertEquals(op.getResultCode(), ResultCode.NO_SUCH_OBJECT);
 
+
      // General search
      op = connection.processSearch(
          new ASN1OctetString("dc=replicationChanges"),

--
Gitblit v1.10.0