From d2ec418d6010332f55828d53c613a3c3e9d03d9e Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 05 Sep 2013 09:32:32 +0000
Subject: [PATCH] OPENDJ-1116 Introduce abstraction for the changelog DB

---
 opends/src/server/org/opends/server/replication/server/ECLServerHandler.java |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java b/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
index 364b956..e3cdc07 100644
--- a/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
+++ b/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
@@ -571,16 +571,13 @@
     {
       // Request filter DOES NOT contain any first change number
       // So we'll generate from the first change number in the DraftCNdb
-      if (cnIndexDB.isEmpty())
-      {
-        // FIXME JNR if we find a way to make draftCNDb.isEmpty() a non costly
-        // operation, then I think we can move this check to the top of this
-        // method
+      final CNIndexData firstCNData = cnIndexDB.getFirstCNIndexData();
+      if (firstCNData == null)
+      { // DB is empty or closed
         isEndOfCNIndexDBReached = true;
         return null;
       }
 
-      final CNIndexData firstCNData = cnIndexDB.getFirstCNIndexData();
       final long firstChangeNumber = firstCNData.getChangeNumber();
       final String crossDomainStartState = firstCNData.getPreviousCookie();
       cnIndexDBCursor = cnIndexDB.getCursorFrom(firstChangeNumber);
@@ -630,13 +627,13 @@
     {
       // startChangeNumber is between first and potential last and has never
       // been returned yet
-      if (cnIndexDB.isEmpty())
+      final CNIndexData lastCNData = cnIndexDB.getLastCNIndexData();
+      if (lastCNData == null)
       {
         isEndOfCNIndexDBReached = true;
         return null;
       }
 
-      final CNIndexData lastCNData = cnIndexDB.getLastCNIndexData();
       final long lastKey = lastCNData.getChangeNumber();
       final String crossDomainStartState = lastCNData.getPreviousCookie();
       cnIndexDBCursor = cnIndexDB.getCursorFrom(lastKey);

--
Gitblit v1.10.0