From f9fd01abc48e20d136192a5c45e215910d3ba320 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 04 Oct 2013 09:31:56 +0000
Subject: [PATCH] OPENDJ-1116 Introduce abstraction for the changelog DB

---
 opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java |   39 ++++++++++++++++-----------------------
 1 files changed, 16 insertions(+), 23 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java b/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
index dff2b0b..0ec74e6 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
@@ -27,13 +27,17 @@
 package org.opends.server.replication.server.changelog.je;
 
 import java.io.File;
-import java.util.*;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.opends.messages.Message;
 import org.opends.messages.MessageBuilder;
 import org.opends.server.config.ConfigException;
 import org.opends.server.replication.common.CSN;
+import org.opends.server.replication.common.ServerState;
 import org.opends.server.replication.protocol.UpdateMsg;
 import org.opends.server.replication.server.ChangelogState;
 import org.opends.server.replication.server.ReplicationServer;
@@ -369,7 +373,7 @@
   @Override
   public Set<Integer> getDomainServerIds(DN baseDN)
   {
-    return getDomainMap(baseDN).keySet();
+    return Collections.unmodifiableSet(getDomainMap(baseDN).keySet());
   }
 
   /** {@inheritDoc} */
@@ -418,30 +422,26 @@
 
   /** {@inheritDoc} */
   @Override
-  public Map<Integer, CSN> getDomainOldestCSNs(DN baseDN)
+  public ServerState getDomainOldestCSNs(DN baseDN)
   {
-    final Map<Integer, DbHandler> domainMap = getDomainMap(baseDN);
-    final Map<Integer, CSN> results =
-        new HashMap<Integer, CSN>(domainMap.size());
-    for (DbHandler dbHandler : domainMap.values())
+    final ServerState result = new ServerState();
+    for (DbHandler dbHandler : getDomainMap(baseDN).values())
     {
-      results.put(dbHandler.getServerId(), dbHandler.getOldestCSN());
+      result.update(dbHandler.getOldestCSN());
     }
-    return results;
+    return result;
   }
 
   /** {@inheritDoc} */
   @Override
-  public Map<Integer, CSN> getDomainNewestCSNs(DN baseDN)
+  public ServerState getDomainNewestCSNs(DN baseDN)
   {
-    final Map<Integer, DbHandler> domainMap = getDomainMap(baseDN);
-    final Map<Integer, CSN> results =
-        new HashMap<Integer, CSN>(domainMap.size());
-    for (DbHandler dbHandler : domainMap.values())
+    final ServerState result = new ServerState();
+    for (DbHandler dbHandler : getDomainMap(baseDN).values())
     {
-      results.put(dbHandler.getServerId(), dbHandler.getNewestCSN());
+      result.update(dbHandler.getNewestCSN());
     }
-    return results;
+    return result;
   }
 
   /** {@inheritDoc} */
@@ -588,13 +588,6 @@
 
   /** {@inheritDoc} */
   @Override
-  public String getDBDirectoryName()
-  {
-    return this.dbDirectoryName;
-  }
-
-  /** {@inheritDoc} */
-  @Override
   public ReplicaDBCursor getCursorFrom(DN baseDN, int serverId,
       CSN startAfterCSN)
   {

--
Gitblit v1.10.0